Ebben az oktatóanyagban egy rendszert tervezünk az RFID-kártyák olvasására az MSP430 és az RFID Reader segítségével. Az RFID jelentése rádiófrekvenciás azonosítás. Minden kártyának egyedi azonosítója van, és ez tökéletes választás számos hitelesítési alkalmazáshoz, például irodákban, bevásárlóközpontokban és sok más helyen, ahová csak az engedélykártyával rendelkező személy léphet be. Az RFID-t bevásárlóközpontokban használják, hogy megakadályozzák a lopást, ahol a terméket RFID-chip-kel látják el, és ha valaki RFID-chip-kel távozik az épületből, akkor automatikusan riasztást adnak ki, és így a lopást megállítják. Az RFID címke olyan kicsi, mint a homokszem. Az RFID-hitelesítési rendszereket könnyű megtervezni és olcsóak. Néhány iskola és főiskola manapság az RFID-t használja látogatási nyilvántartásként.
Szükséges anyagok
1. MSP430 Launchpad
2. EM-18 (RFID olvasó modul)
3. 16 * 2 LCD
4. Potenciométer
5. Kenyérlemez
6. Jumper huzalok
Szoftver: Energia IDE
EM-18 RFID olvasó
Minden RFID-kártyához egyedi azonosító van beágyazva, és egy RFID-olvasót használnak az RFID-kártya leolvasására. Az EM-18 RFID-olvasó 125 KHz-en működik, chipen lévő antennával van ellátva, és 5 V-os tápfeszültséggel is táplálható. Soros kimenetet biztosít a weigand kimenettel együtt. A hatótávolság 8-12 cm körül van. a soros kommunikációs paraméterek 9600 bps, 8 adatbit, 1 stopbit. Ezt a vezeték nélküli rádiófrekvenciás azonosítást számos rendszerben használják, például
RFID alapú jelenléti rendszer,
Biztonsági rendszerek,
Szavazógépek, E-útdíj útdíjak
Itt ellenőrizheti az összes RFID-projektet.
Az EM-18 RFID olvasó kimenete 12 jegyű ASCII formátumú. A 12 számjegyből az első 10 számjegy a kártya száma, az utolsó két számjegy pedig a kártya számának XOR eredménye. Az utolsó két számjegyet használjuk a hibák ellenőrzésére.
Például a kártya száma 0200107D0D62 olvasható le az olvasóról, akkor a kártyán lévő kártya száma az alábbiak szerint lesz.
02 - preambulum
00107D0D = 1080589 tizedesjegyben.
62 a XOR értéke (02 XOR 00 XOR 10 XOR 7D XOR 0D).
Ezért a kártya száma 0001080589.
MSP430 RFID-olvasó áramkör rajza és működés
Az MSP430 hardver UART-ját fogjuk használni, ezért ellenőrizze, hogy a táblán lévő RXD és TXD jumperek HW UART módban vannak-e. Ezután csatlakoztassa az EM-18 Tx-jét az MSP430 RXD-jéhez (P1.1).
Mielőtt tovább mennénk, meg kell értenünk a soros kommunikációt. Az RFID modul itt soros módon küldi az adatokat a vezérlőnek. Más kommunikációs módja van, de az egyszerű kommunikáció érdekében az RS232-et választjuk. A modul RS232 tűje csatlakozik az MSP430 RXD tűjéhez.
Az RFID modul által küldött adatok a következők:
Az RFID-olvasó és az MSP430 közötti kapcsolat létrehozásához engedélyeznünk kell a soros kommunikációt az MSP430-ban. Az MSP430 soros kommunikációja egyetlen parancs használatával valósítható meg.
Serial.begin (9600); adatok = Soros.olvasott ();
Amint az a fenti ábrán látható, az RFID kommunikációja BAUD sebességgel történik, 9600 bit másodpercenként. Tehát az MSP430 számára az ilyen adatátviteli sebesség létrehozásához és a soros kommunikáció elindításához a "Serial.begin (9600);" parancsot használjuk . Itt a 9600 az adatátviteli sebesség és változtatható.
Miután az átviteli sebesség beállítása megtörtént, az MSP készen áll a soros adatok fogadására. Ezeket az adatokat a “data = Serial.read ();” paranccsal veszi fel . Ezzel a paranccsal a soros adatokat egész szám nevű ' adatokban ' vesszük.
Miután egy kártya az olvasó közelébe került, az olvasó elolvassa a soros adatokat és elküldi azokat az MSP-nek, az MSP-t úgy programozzák be, hogy ezt az értéket LCD-ben jelenítse meg, így a kártya azonosítója LCD-n lesz.
Kód és magyarázat
A kódunkat az Energia IDE-be írjuk. Ez megegyezik az Arduino IDE-vel és könnyen használható. A teljes kódot a projekt végén adjuk meg, itt megmagyarázzuk annak néhány részét.
Először is foglaljon könyvtárat az LCD-kijelzőhöz, és deklarálja a char tömböt az RFID-szám tárolására.
#include
A beállítási funkcióban engedélyezze az LCD és a soros kommunikációt azáltal, hogy meghatározza a 9600 átviteli sebességet.
void setup () { lcd.begin (16, 2); Serial.begin (9600); ... ..
A hurokfunkcióban ellenőrizni fogjuk, hogy a soros adatok rendelkezésre állnak-e vagy sem. Ha rendelkezésre áll, tárolja az adatokat a Serial.read () bemeneti tömbjében, és egyenként jelenítse meg az LCD-n a while ciklus használatával.
while (Serial.available () && count <12) // 12 karakter beolvasása és tárolása a bemeneti tömbben { input = Soros.read (); // 12 karakter egyenként tárolása Serial.print (input); lcd.print (input); késés (300); szám ++; if (szám == 12) { lcd .print (""); szám = 0; // 12 karakter elolvasása után induljon el, és várjon a második azonosítóra ... …
Így olvashatjuk és jeleníthetjük meg az RFID számot az LCD-n az MSP430 Launchpad segítségével. Most tovább bővítheti ezt a projektet, és felépítheti a részvételi rendszert, a szavazási rendszert, a biztonsági rendszert stb.