Tartalomjegyzék:
- 1. lépés: Az Arduino és az RFID RC-522 (fizikai kapcsolat) beállítása
- 2. lépés: Arduino kód.,
- 3. lépés: A MySQL beállítása
- 4. lépés: A feldolgozó IDE beállítása
- 5. lépés: A program végrehajtása
- 6. lépés: Következtetés
Videó: Egyszerű szupermarket-alkalmazás RFID RC-522 és Arduino Mega használatával: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Jó újra látni titeket itt a másik oktatóanyagomban, itt segítek Önnek egy egyszerű szupermarket-alkalmazás létrehozásában az RFID RC-522 és az Arduino with Processing használatával, hogy egyszerű GUI-t hozzon létre.
Megjegyzés: ne futtassa az Arduino soros monitort a feldolgozási kód futtatása közben, mert portütközés lép fel, mivel mindkettőnek ugyanazt a portot kell használnia
Szükséged van:
- Arduino Mega vagy Arduino Uno (én Mega -t használtam)
- RFID-RC522
- 7 férfi -női áthidaló vezeték
- Néhány személyi igazolvány (opcionális)
- RFID könyvtár (kötelező, link alább)
- Wamp szerver
- Az IDE 2.2.1 feldolgozása (ne használjon ennél nagyobbat)
- BezierSQLib-0.2.0 könyvtár feldolgozásra (letöltési link alább)
Ezután töltse le az alábbi RFID könyvtárat, és adja hozzá az Arduino IDE-hez a Sketch-> Include Library-> Add. Zip Library hozzáadásával a fájlmenüben
1. lépés: Az Arduino és az RFID RC-522 (fizikai kapcsolat) beállítása
egyszerűen csatlakoztassa az arduinot az RFID-RC522-hez a fenti képen látható módon. Figyelmeztetés: csak 3.3V tápellátás, különben a modul kiég
Pin Out Uno/Nano és Mega
RC522 MODUL Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
2. lépés: Arduino kód.,
Másolja ki az alábbi kódot, majd töltse fel az Arduino -ra
/*PINOUT: RC522 MODUL Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/AN/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V*//*Tartalmazza a standard Arduino SPI könyvtárat */ #include/ *Az RFID könyvtár felvétele */ #include
/* Határozza meg az SDA (SS) és az RST (reset) csapokhoz használt DIO -t. */
#define SDA_DIO 9 #define RESET_DIO 8
/ * Hozzon létre egy példányt az RFID könyvtárból */
RFID RC522 (SDA_DIO, RESET_DIO); int olvasó = 0;
üres beállítás ()
{Serial.begin (9600); / * Az SPI felület engedélyezése */ SPI.begin (); / * Inicializálja az RFID olvasót */ RC522.init (); }
üres hurok ()
{ / * Ideiglenes ciklusszámláló * / bájt i;
/* Kártyát észlelt? */
if (RC522.isCard ()) { / * Ha igen, akkor szerezze be a sorozatszámát * / RC522.readCardSerial ();
/ * Adja ki a sorozatszámot az UART -nak */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); // Sorozatnyomat (RC522.serNum, HEX); } Serial.print (","); Serial.print (olvasó ++); Sorozat.println (); } késleltetés (1000); }
3. lépés: A MySQL beállítása
- Telepítse a Wamp szervert a MySQL -hez, és állítsa be az adatok tárolására (
- Futtassa a wamp serveropen MySQL konzolt
- válasszon adatbázist
- Ezután hozza létre a táblázatot az adatokhoz
tábla rfid létrehozása (ID int (8), token int (1), Name varchar (20), Amount int (4));
Most tekintse meg ezt a linket, hogy megtudja, hogyan szerezheti be az RFID -címke értékét, majd használja az alábbi kódot az adatok beszúrásához. Ne felejtse el kicserélni az azonosító értékét az RFID címke értékére
illessze be az rfid értékekbe (3756178, 1, 'Ceruza', 20);
használja a token értékét 1 -ként, hogy a címke értékének első olvasása után automatikusan 2 -re változzon, ne használjon 0 -t token értékként, amikor a DB -be nem helyezett kártyát olvas, 0 -t rendel hozzá, majd Ismeretlen kártyaként jeleníti meg..
4. lépés: A feldolgozó IDE beállítása
- Töltse le és telepítse a feldolgozó IDE -t 2.2.1
- Bontsa ki a fenti ZIP -t a MyDocuments/Processing/Libraries mappába
- Most nyissa meg a feldolgozó IDE -t, és ellenőrizze, hogy a könyvtár helyesen van -e telepítve, vagy nem, mint a fenti képen
- Ezután másolja az alábbi kódot a feldolgozásra, és nevezze el sajátnak
import de.bezier.data.sql.*; import processing.serial.*; // import java.math. BigInteger;
// létrehozta 2005-05-10, fjenett
// frissítve: fjenett 20080605
MySQL dbconnection;
Karakterlánc s = ""; int Kerék = 700; int Szélesség = 1200; hosszú személyi igazolvány; int token; int Összeg; int Összesen = 0;
Karakterlánc a = {"NULL", "NULL"};
int end = 10; // a 10 -es szám ASCII a linefeed számára (a sorozat vége.println), később ezt keressük az egyes üzenetek szétbontására String serial; // deklarálja az új "sorozat" nevű karakterláncot. A karakterlánc karaktersorozat (az adattípus "char" néven ismert) Soros port; String curr, előző, Név; PFont f;
üres beállítás ()
{// size (Wwidth, Wheight); méret (700, 500); f = createFont ("Arial", 24, igaz); // ez a példa feltételezi, hogy az // mysql szervert helyileg futtatja ("localhost" -on). // // cserélje ki a-felhasználónév--,-jelszót-- a mysql-fiókjával. // String user = "root"; String pass = ""; // a használni kívánt adatbázis neve // String database = "IOT_Database"; // a létrehozandó tábla neve String table = ""; // csatlakozás a "localhost" szerver adatbázisához dbconnection = új MySQL (ez, "localhost", adatbázis, felhasználó, bérlet); port = új soros (ez, soros.lista () [0], 9600); // az objektum inicializálása port és átviteli sebesség hozzárendelésével (meg kell egyeznie az Arduinoéval) port.clear (); // függvény a soros könyvtárból, amely kidobja az első olvasást, arra az esetre, ha az Arduino karakterláncának közepén kezdenénk olvasni serial = port.readStringUntil (end); // függvény, amely beolvassa a karakterláncot a soros portból a println -ig, majd hozzárendeli a karakterláncot a karakterlánc -változónkhoz ("soros") serial = null; } void draw () {háttér (255); textFont (f, 24); kitöltés (0); szöveg ("Összes összeg:", 400, 400); szöveg (Összesen, 585, 400); adat(); while (port.available ()> 0) {// amíg vannak adatok a soros portról, olvassa el és tárolja serial = port.readStringUntil (end); } if (soros! = null) {prev = curr; curr = a [1]; a = osztott (soros, ','); // egy új tömb ("a"), amely az értékeket külön cellákba tárolja (vesszővel elválasztva az Arduino programban), ha ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Előző", előző); funkció(); }}}
üres függvény ()
{if (dbconnection.connect ()) {// most olvassa vissza // dbconnection.query ("SELECT * from rfid where ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Amount = dbconnection.getInt ("Összeg"); } if (token == 0) {println ("Ok"); textFont (f, 54); kitöltés (255, 0, 0, 160); szöveg ("Ismeretlen elem észlelve", 50, 300); késleltetés (2000); } else if (token == 1) {Összesen = Összesen+Összeg; dbconnection.query ("update rfid set token = 2 ahol ID ="+a [0]+""); println ("Ok"); textFont (f, 24); kitöltés (255, 0, 0, 160); // text ("Tétel hozzáadva", 10, 30); késleltetés (1000); } else if (token == 2) {Total = Total-Amount; dbconnection.query ("update rfid set token = 1 where ID ="+a [0]+""); println ("Ok"); textFont (f, 24); kitöltés (255, 0, 0, 160); // text ("Elem eltávolítva", 10, 30); késleltetés (1000); } else {} dbconnection.close (); } else {// a kapcsolat nem sikerült! }}
érvénytelen adatok ()
{int pozíció = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("Név"); Amount = dbconnection.getInt ("Összeg"); textFont (f, 24); kitöltés (0, 0, 255, 160); szöveg (név, 10, pozíció); kitöltés (0, 0, 0, 160); szöveg (Összeg, 215, pozíció); pozíció = pozíció+30; }} dbconnection.close (); }
5. lépés: A program végrehajtása
Futtassa a programot a Futtatás gombra kattintva ne zárja be az előugró ablak bezárását, leállítja a végrehajtást, és a lekérdezés alatt megtekintheti a MySQL -ben tárolt adatokat …
6. lépés: Következtetés
Szeretném megköszönni, hogy elolvasta az oktatóanyagomat. Megköszönném, ha hasznosnak találná, és dobna egy lájkot (kedvencet), vagy bármit kérdezne tőlem, mert ez motivál bennem ezeknek az oktatható feladatoknak a végrehajtására. bátran tegyen fel kérdéseket, amelyeket tudnia kell…
Boldog kódolást Arduino…
Ajánlott:
Mobil vezérelt Bluetooth autó -- Egyszerű -- Egyszerű -- Hc-05 -- Motorpajzs: 10 lépés (képekkel)
Mobil vezérelt Bluetooth autó || Egyszerű || Egyszerű || Hc-05 || Motorpajzs: … Kérem, Iratkozzon fel YouTube-csatornámra ………. Ez a Bluetooth-vezérlésű autó, amely HC-05 Bluetooth modult használt a mobiltelefonnal való kommunikációhoz. Bluetooth -on keresztül irányíthatjuk az autót mobiltelefonnal. Van egy alkalmazás az autó mozgásának szabályozására
Egyszerű és egyszerű Pókember Web-Shooter: 12 lépés
Egyszerű és egyszerű Pókember Web-Shooter: Láttál Pókember-filmet? Pókember-képregény? Bármi, ami homályosan Pókemberhez kapcsolódik? A Pókember látszólag mindenhol ott van. Miért nem készít egy egyszerű web-shooter-t? Kis gyakorlás után a ház anyagaiból létrehoztam egy dizájnt, amely létrehozható
A "Light/LED" jel egyszerű módosítása az egyszerű Arduino programozáshoz: 7 lépés (képekkel)
A "Fény/LED" jel egyszerű módosítása az egyszerű Arduino programozáshoz: Ebben az oktatóanyagban megmutatom, hogy bárki hogyan változtathat valamit fényekkel programozható arduino villogó lámpákká vagy "Mozgó fények" "
RFID-RC522 illesztése az Arduino MEGA-val Egy egyszerű vázlat: 4 lépés
RFID-RC522 illesztése az Arduino MEGA-val Egy egyszerű vázlat: Hai, ebben az oktatóanyagban segíteni fogok az RFID-RC522 és az Arduino Mega 2560 összekapcsolásában az RFID olvasásához és az adatok megjelenítéséhez a soros monitoron. így önállóan is kiterjesztheti Szüksége van: Arduino Mega vagy Arduino Uno
Egy igazán egyszerű/egyszerű/nem bonyolult módja annak, hogy az emberek/emberek/állatok/robotok úgy nézzenek ki, mintha valóban hűvös/fényes hőlátásuk lenne (az Ön által választott szín) GIMP használatával: 4 lépés
Egy igazán egyszerű/egyszerű/nem bonyolult módszer arra, hogy az emberek/emberek/állatok/robotok úgy nézzenek ki, mintha valóban hűvös/fényes hőlátásuk lenne (az Ön által választott szín) GIMP használatával: Olvassa el … a … címet