Stap 2: Seeed RFID
1. om de RFID-lezer aansluiten op de arduino, pin 1 en 2 van de RFID-lezer aan digitale pinnen 2 en 3 te koppelen. De RFID-lezer verbinden met 5V en ground.
2. Sluit de LED en de 220Ω weerstand aan de RFID-lezer. De LED zal dienen als een signaal indicator.
3. upload deze code naar je arduino:
/ * Gemodificeerde uit vluchtige lange reader1 = 0; ongeldig reader1One(void) {} ongeldig reader1Zero(void) {} VOID Setup void loop {} Serial.Print ("lezer 1:"); reader1 = 0;
* Gekke mensen
* Door Mike Cook April 2009
* Een RFID reader outputing 26 bits Wiegand code om te pinnen:-
* Reader gekoppeld aan Pins 2 & 3
* Interrupt service routine verzamelt Wiegand pulsen (nul of één) tot 26 zijn ontvangen
* Vervolgens wordt een tekenreeks verzonden naar serieel
*/
vluchtige int reader1Count = 0;
reader1Count ++;
reader1 = reader1 << 1;
reader1 | = 1;
}
reader1Count ++;
reader1 = reader1 << 1;
}
{
Serial.begin(9600);
Pin wijzigen interrupt service routines van de Wiegand RFID-lezers hechten
attachInterrupt (0, reader1Zero, RISING); //DATA0 naar pin 2
attachInterrupt (1, reader1One, stijgt); Data1 aan op pin 3
delay(10);
de interrupt in de Atmel processor slaat dan de eerste puls van de negitave zoals de ingangen al hoog zijn,
dus dit een impuls aan de lezer input lijn geeft om de interrupts goed werkt.
Schakel vervolgens uit de lezer variabelen.
De lezers zijn open collector normaal zitten aan een, dus dit OK is
for (int i = 2; ik < 4; i ++) {}
pinMode (ik, OUTPUT);
digitalWrite (i, hoge); inschakelen van interne pull up veroorzaakt een
digitalWrite (i, laag); uitschakelen interne pull up waardoor nul en dus een interrupt
pinMode (i, ingang);
digitalWrite (i, hoge); interne pull up inschakelen
}
delay(10);
de lezer invoervariabelen op nul zetten
reader1 = 0;
reader1Count = 0;
}
Als (reader1Count > = 26) {}
int serialNumber = (reader1 >> 1) & 0x3fff;
int code = (reader1 >> 17) & 0x3ff;
Serial.Print(reader1,hex);
Serial.Print("");
Serial.Print ("Reader 1 geconverteerd t/m DEC:");
Serial.Print(reader1& 0xFFFFFFF);
Serial.Print("");
Serial.Print("siteCode:");
Serial.Print(siteCode);
Serial.Print("");
Serial.Print ("serienummer:");
Serial.println(serialNumber);
reader1Count = 0;
}
}
4. open de seriële monitor en registreren van de getallen die de seriële monitor spuugt wanneer u golf uw RFID-kaart voor de RFID-antenne.