Hallo zusammen!
Bin ein relativer Neuling in der Arduino Materie, habe aber schon einige
Bücher zur Hardware und dem Programmieren mit der IDE gelesen. Ich würde
gerne einen Türzugangschutz mit RFID bauen (natürlich will ich das
erstmal nicht wirklich in eine tür einbauen, weil zu unsicher und viel
Aufwand etc., will erstmal den Aarduino und RC522 RFID Reader zum laufen
bekommen). Dazu habe ich mir einen Code aus dem Internet für diesen
Zweck geladen, den ich erstmal nachvollziehen will. Dazu dieser Link:
http://www.duinos.net/files/2015/rfid_lock.ino
Soweit verstehe ich das auch alles, habe auch das Video des Autors dazu
geschaut, nur folgende Passagen geben mir Rätsel auf:
1 | void dump_byte_array(byte *buffer, byte bufferSize) {
|
2 | read_rfid="";
|
3 | for (byte i = 0; i < bufferSize; i++) {
|
4 | read_rfid=read_rfid + String(buffer[i], HEX);
|
Hier wird ja eine Funktion erstellt, die die ausgelesenen Werte als HEX
Zahl speichert(?), nur: Wie funktioniert das?
und
1 | // Look for new cards
|
2 | if ( ! mfrc522.PICC_IsNewCardPresent())
|
3 | return;
|
4 |
|
5 | // Select one of the cards
|
6 | if ( ! mfrc522.PICC_ReadCardSerial())
|
7 | return;
|
Zunächst sind das ja zwei if Operatoren, dazu folgende Fragen:
Was bedeutet das Ausrufezeichen in den Bedingungen?
Was bringen diese if Operatoren in diesem Fall?(Es ist ja nichts
angegeben, was passieren soll, wenn die Bedingung erfüllt oder eben
nicht erfüllt ist (keine {} nach der Bedingung), oder etwa doch?). Laut
Kommentaren soll ja die erste quasi etwas tun, wenn eine RFID Karte da
ist nehme ich mal an, die zweite vermutlich selbige dann auslesen bzw.
auswählen (wie auch das mit einer if Konstruktion gehen soll...), oder?
Was bedeutet das return?(Gibt das nicht am Ende einer Funktion einen
Wert zurück und steht hier nur formhalber, weil nichts zurückgegeben
wird?
Ich wäre sehr dankbar, wenn jemand hier mir das erklären könnte bzw.
einfach diese Passagen verständlich kommentieren könnte!