Tartalomjegyzék:

Egyszerű szupermarket-alkalmazás RFID RC-522 és Arduino Mega használatával: 6 lépés
Egyszerű szupermarket-alkalmazás RFID RC-522 és Arduino Mega használatával: 6 lépés

Videó: Egyszerű szupermarket-alkalmazás RFID RC-522 és Arduino Mega használatával: 6 lépés

Videó: Egyszerű szupermarket-alkalmazás RFID RC-522 és Arduino Mega használatával: 6 lépés
Videó: Russian TYPICAL Supermarket After 700 Days of Sanctions 2024, Július
Anonim
Egyszerű szupermarket alkalmazás RFID RC-522 és Arduino Mega használatával
Egyszerű szupermarket alkalmazás RFID RC-522 és Arduino Mega használatával

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:

  1. Arduino Mega vagy Arduino Uno (én Mega -t használtam)
  2. RFID-RC522
  3. 7 férfi -női áthidaló vezeték
  4. Néhány személyi igazolvány (opcionális)
  5. RFID könyvtár (kötelező, link alább)
  6. Wamp szerver
  7. Az IDE 2.2.1 feldolgozása (ne használjon ennél nagyobbat)
  8. 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

Az Arduino és az RFID RC-522 beállítása (fizikai kapcsolat)
Az Arduino és az RFID RC-522 beállítása (fizikai kapcsolat)

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

A MySQL beállítása
A MySQL beállítása
  1. Telepítse a Wamp szervert a MySQL -hez, és állítsa be az adatok tárolására (
  2. Futtassa a wamp serveropen MySQL konzolt
  3. válasszon adatbázist
  4. 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

A feldolgozó IDE beállítása
A feldolgozó IDE beállítása
  1. Töltse le és telepítse a feldolgozó IDE -t 2.2.1
  2. Bontsa ki a fenti ZIP -t a MyDocuments/Processing/Libraries mappába
  3. 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
  4. 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

A Program végrehajtása
A Program végrehajtása
A Program végrehajtása
A Program végrehajtása
A Program végrehajtása
A Program végrehajtása
A Program végrehajtása
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: