INHOUDSOPGAWE:
- Stap 1: Opstel van Arduino en RFID RC-522 (Fisiese verbinding)
- Stap 2: Arduino -kode.,
- Stap 3: Die opstel van MySQL
- Stap 4: Opstel van verwerking IDE
- Stap 5: Die uitvoering van die program
- Stap 6: Gevolgtrekking
Video: Eenvoudige supermark-app met RFID RC-522 en Arduino Mega: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Dit is goed om julle weer hier te sien op my ander tutoriaal; hier help ek u om 'n eenvoudige supermark-toepassing te maak met RFID RC-522 en Arduino met verwerking om 'n eenvoudige GUI te skep.
Let wel: moenie die Arduino -seriële monitor gebruik terwyl die verwerkingskode uitgevoer word nie, want poortkonflik sal voorkom, aangesien beide dieselfde poort moet gebruik
Jy benodig:
- Arduino Mega of Arduino Uno (ek het Mega gebruik)
- RFID-RC522
- 7 springdrade van man tot vrou
- Sommige ID -kaarte (opsioneel)
- RFID -biblioteek (moet, skakel hieronder)
- Wamp bediener
- Verwerk IDE 2.2.1 (moenie groter as dit gebruik nie)
- BezierSQLib-0.2.0 biblioteek vir verwerking (aflaai skakel hieronder)
Laai dan die RFID-biblioteek hieronder af en voeg dit by u Arduino IDE deur op Sketch-> Include Library-> Add. Zip Library in die lêermenu te klik
Stap 1: Opstel van Arduino en RFID RC-522 (Fisiese verbinding)
verbind eenvoudig die arduino met RFID-RC522 soos in die bostaande beeld getoon. Waarskuwing: slegs 3,3V verskaf
Speld uit vir Uno/Nano en Mega
RC522 MODULE Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ Nvt Nvt GND GND GND RST D9 D8 3.3V 3.3V 3.3V
Stap 2: Arduino -kode.,
Kopieer die onderstaande kode en laai dit dan op u Arduino op
/*PINOUT: RC522 MODULE 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*//*Sluit die standaard Arduino SPI biblioteek in */ #include/ *Sluit die RFID -biblioteek in */ #include
/* Definieer die DIO wat gebruik word vir die SDA (SS) en RST (reset) penne. */
#definieer SDA_DIO 9 #definieer RESET_DIO 8
/ * Skep 'n voorbeeld van die RFID -biblioteek */
RFID RC522 (SDA_DIO, RESET_DIO); int leser = 0;
leemte opstelling ()
{Serial.begin (9600); / * Aktiveer die SPI -koppelvlak */ SPI.begin (); / * Initialiseer die RFID -leser */ RC522.init (); }
leemte lus ()
{ / * Tydelike lusteller * / byte i;
/* Is 'n kaart opgespoor? */
if (RC522.isCard ()) { / * Indien wel, kry dan die reeksnommer * / RC522.readCardSerial ();
/ * Gee die reeksnommer na die UART */ vir (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); } Serial.print (","); Serial.print (leser ++); Serial.println (); } vertraging (1000); }
Stap 3: Die opstel van MySQL
- Installeer Wamp -bediener vir MySQL en stel dit op om data te stoor (
- Begin die wamp -bediener MySQL -konsole oop
- kies databasis
- Maak dan die tabel vir u data
skep tabel rfid (ID int (8), token int (1), naam varchar (20), bedrag int (4));
Kyk nou na hierdie skakel om te leer hoe u u RFID -etiketwaarde kan kry, en gebruik dan die onderstaande kode om data in te voeg. Vergeet nie om die ID -waarde te vervang met u RFID -tagwaarde nie
voeg in rfid -waardes (3756178, 1, 'Potlood', 20);
gebruik tekenwaarde as 1 sodat dit na die lees van die etiketwaarde vir die eerste keer outomaties na 2 verander; gebruik nie 0 vir tekenwaarde as die leeskaart wat nie in DB ingevoeg is nie, dit 0 toewys en dit dan as onbekende kaart vertoon..
Stap 4: Opstel van verwerking IDE
- Laai die verwerkings -IDE 2.2.1 af en installeer dit
- Pak die gegewe zip uit na MyDocuments/Processing/Libraries
- Maak nou die verwerking van IDE oop en kyk of die biblioteek korrek geïnstalleer is, soos nie in die prent hierbo nie
- Kopieer dan die onderstaande kode na die verwerking en noem dit u eie
invoer de.bezier.data.sql.*; invoerverwerking.reeks.*; // invoer java.math. BigInteger;
// geskep 2005-05-10 deur fjenett
// opgedateer fjenett 20080605
MySQL db -verbinding;
String s = ""; int Gewig = 700; int Breedte = 1200; lang ID; int teken; int Bedrag; int Totaal = 0;
String a = {"NULL", "NULL"};
int einde = 10; // die nommer 10 is ASCII vir linefeed (einde van serial.println), later sal ons daarna soek om individuele boodskappe op te breek String serial; // verklaar 'n nuwe string genaamd 'serial'. 'N Tou is 'n reeks karakters (datatipe bekend as "char") Seriële poort; String curr, prev, Name; PFont f;
leemte opstelling ()
{// grootte (breedte, gewig); grootte (700, 500); f = createFont ("Arial", 24, waar); // hierdie voorbeeld veronderstel dat u die // mysql -bediener plaaslik bedryf (op "localhost"). // // vervang --gebruikersnaam--, --wagwoord-- met u mysql-rekening. // Stringgebruiker = "root"; String pass = ""; // naam van die databasis wat gebruik moet word // String databasis = "IOT_Database"; // naam van die tabel wat geskep sal word String table = ""; // maak verbinding met die databasis van bediener "localhost" dbconnection = nuwe MySQL (hierdie, "localhost", databasis, gebruiker, pas); poort = new Serial (hierdie, Serial.list () [0], 9600); // die voorwerp te initialiseer deur 'n poort en baud rate toe te ken (moet ooreenstem met die van Arduino) port.clear (); // funksie uit die seriële biblioteek wat die eerste lesing weggooi, as ons in die middel van 'n string van Arduino serial = port.readStringUntil (einde) begin lees; // funksie wat die string lees vanaf die seriële poort tot 'n println en dan die string toewys aan ons string veranderlike (genaamd 'serial') serial = null; } leegte trek () {agtergrond (255); textFont (f, 24); vul (0); teks ("Totale bedrag Rs:", 400, 400); teks (totaal, 585, 400); data (); Terwyl (port.available ()> 0) {// solank daar data uit die seriële poort kom, lees dit en stoor dit serial = port.readStringUntil (end); } as (reeks! = nul) {prev = curr; curr = a [1]; a = split (reeks, ','); // 'n nuwe skikking (genaamd 'a') wat waardes in aparte selle stoor (geskei deur kommas wat in jou Arduino -program gespesifiseer is) as ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Vorige", vorige); funksie (); }}}
leemte funksie ()
{if (dbconnection.connect ()) {// lees dit nou terug // dbconnection.query ("SELECT * van rfid waar ID ="+a [0]+""); terwyl (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Bedrag = dbconnection.getInt ("Bedrag"); } if (token == 0) {println ("Ok"); textFont (f, 54); fill (255, 0, 0, 160); teks ("Onbekende item opgespoor", 50, 300); vertraging (2000); } anders as (token == 1) {Totaal = Totaal+Bedrag; dbconnection.query ("update rfid set token = 2 where ID ="+a [0]+""); println ("Ok"); textFont (f, 24); fill (255, 0, 0, 160); // teks ("Item bygevoeg", 10, 30); vertraging (1000); } anders as (token == 2) {Totaal = Totaal-bedrag; dbconnection.query ("update rfid set token = 1 where ID ="+a [0]+""); println ("Ok"); textFont (f, 24); fill (255, 0, 0, 160); // teks ("Item verwyder", 10, 30); vertraging (1000); } anders {} dbconnection.close (); } anders {// konneksie misluk! }}
leegte data ()
{int posisie = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * van rfid waar token = 2"); terwyl (dbconnection.next ()) {Naam = dbconnection.getString ("Naam"); Bedrag = dbconnection.getInt ("Bedrag"); textFont (f, 24); fill (0, 0, 255, 160); teks (Naam, 10, posisie); fill (0, 0, 0, 160); teks (Bedrag, 215, posisie); posisie = posisie+30; }} dbconnection.close (); }
Stap 5: Die uitvoering van die program
Begin die program deur op die run -knoppie te klik, moenie die pop -upvenster sluit nie, die uitvoering stop en die onderstaande navraag om gestoorde data in MySQL te sien …
Stap 6: Gevolgtrekking
Ek wil u bedank vir die lees van my tutoriaal. Ek sal dit waardeer as u dit nuttig vind, 'n like (gunsteling) of iets vra, aangesien dit my gemotiveerd hou om hierdie instruksies te doen. stel gerus enige vrae wat u moet weet …
Gelukkige kodering Arduino …
Aanbeveel:
Mega RasPi - 'n Framboos Pi in 'n Sega Mega Drive / Genesis: 13 stappe (met foto's)
Mega RasPi - 'n Raspberry Pi in 'n Sega Mega Drive / Genesis: Hierdie gids lei jou deur die omskakeling van 'n ou Sega Mega Drive na 'n retro -spelkonsole, met 'n Raspberry Pi. my Sega Mega Drive. Die meeste van my vriende het ook een gehad, so ons sou
Eenvoudige outomatiese kondensator -toetser / kapasiteitsmeter met Arduino en met die hand: 4 stappe
Eenvoudige outomatiese kondensatortoetser / kapasiteitsmeter met Arduino en met die hand: Hallo! Vir hierdie fisika-eenheid benodig u:* 'n kragtoevoer met 0-12V* een of meer kapasitors* een of meer laaiweerstands* 'n stophorlosie* 'n multimeter vir spanning meting* 'n arduino nano* 'n 16x2 I²C -skerm* 1 / 4W weerstande met 220, 10k, 4.7M en
4x4 Demo van 'n elektroniese skaakbord/ Met Arduino Mega + RFID-leser + Hall-effek sensors: 7 stappe
4x4 Demo van 'n elektroniese skaakbord/ Met Arduino Mega + RFID-leser + Hall-effek sensors: Hallo makers, ek is Tahir Miriyev, 2018-gegradueerde aan die Midde-Ooste Tegniese Universiteit, Ankara/ Turkye. Ek het 'n vak toegepaste wiskunde gehad, maar ek was nog altyd dol daaroor om dinge te maak, veral as dit handwerk met elektronika, ontwerp en programmering behels
PCB -ontwerp met eenvoudige en maklike stappe: 30 stappe (met foto's)
PCB -ontwerp met eenvoudige en maklike stappe: HELLO -VRIENDE Die baie handige en maklike handleiding vir diegene wat PCB -ontwerp wil leer, kan begin
Koppelvlak RFID-RC522 Met Arduino MEGA 'n eenvoudige skets: 4 stappe
Interfacing RFID-RC522 Met Arduino MEGA 'n eenvoudige skets: Ek sal u in hierdie tutoriaal help om RFID-RC522 met Arduino Mega 2560 te koppel om die RFID te lees en die data op die seriële monitor te vertoon. sodat u dit op u eie kan uitbrei U benodig: Arduino Mega of Arduino Uno