Përmbajtje:
- Hapi 1: Vendosja e Arduino dhe RFID RC-522 (Lidhja Fizike)
- Hapi 2: Kodi Arduino.,
- Hapi 3: Vendosja e MySQL
- Hapi 4: Vendosja e përpunimit IDE
- Hapi 5: Ekzekutimi i Programit
- Hapi 6: Përfundimi
Video: Aplikacion i thjeshtë i supermarketeve duke përdorur RFID RC-522 dhe Arduino Mega: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:19
Goodshtë mirë t'ju shoh përsëri këtu në një tutorial tjetër, këtu do t'ju ndihmoj të krijoni një aplikacion të thjeshtë supermarketi duke përdorur RFID RC-522 dhe Arduino me Processing për të krijuar GUI të thjeshtë.
Shënim: mos ekzekutoni monitorin serik Arduino gjatë ekzekutimit të kodit të përpunimit sepse konflikti i portit do të ndodhë pasi të dy duhet të përdorin të njëjtën port
Ju duhet:
- Arduino Mega ose Arduino Uno (kam përdorur Mega)
- RFID-RC522
- 7 tela bluzë meshkuj në femra
- Disa karta identiteti (opsionale)
- Biblioteka RFID (Duhet, Lidhja më poshtë)
- Server Wamp
- Përpunimi i IDE 2.2.1 (mos përdorni më shumë se kaq)
- Biblioteka BezierSQLib-0.2.0 për përpunim (Shkarkoni lidhjen më poshtë)
Pastaj Shkarkoni bibliotekën RFID më poshtë dhe Shtojeni atë në Arduino IDE tuaj duke klikuar Sketch-> Include Library-> Add. Zip Library në menynë e skedarëve
Hapi 1: Vendosja e Arduino dhe RFID RC-522 (Lidhja Fizike)
thjesht lidhni arduino me RFID-RC522 siç tregohet në imazhin e mësipërm. Paralajmërim: furnizoni vetëm 3.3V përndryshe moduli do të digjet
Pin Out për Uno/Nano dhe Mega
RC522 MODULE 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
Hapi 2: Kodi Arduino.,
Kopjoni kodin e mëposhtëm, pastaj ngarkojeni atë në Arduino tuaj
/*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*//*Përfshi bibliotekën standarde Arduino SPI */ #include/ *Përfshini bibliotekën RFID */ #include
/* Përcaktoni DIO -në e përdorur për kunjat SDA (SS) dhe RST (reset). */
#përcakto SDA_DIO 9 #përcakto RESET_DIO 8
/ * Krijoni një shembull të bibliotekës RFID */
RFID RC522 (SDA_DIO, RESET_DIO); int lexuesi = 0;
void setup ()
{Serial.fillo (9600); / * Aktivizo ndërfaqen SPI */ SPI.begin (); / * Filloni lexuesin RFID */ RC522.init (); }
lak void ()
{ / * Numëruesi i përkohshëm i lakut * / byte i;
/* A është zbuluar një kartë? */
nëse (RC522.isCard ()) { / * Nëse është kështu, atëherë merrni numrin serik të tij * / RC522.readCardSerial ();
/ * Nxjerr numrin serik në UART */ për (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum sharedii], HEX); } Serial.print (","); Serial.print (lexues ++); Serial.println (); } vonesa (1000); }
Hapi 3: Vendosja e MySQL
- Instaloni serverin Wamp për MySQL dhe konfiguroni atë për të ruajtur të dhënat (
- Drejtoni tastierën wamp serveropen MySQL
- zgjidhni bazën e të dhënave
- Pastaj krijoni tabelën për të dhënat tuaja
krijoni tabelën rfid (ID int (8), shenja int (1), Emri varchar (20), Shuma int (4));
Tani shikoni këtë lidhje për të mësuar se si të merrni vlerën e etiketës tuaj RFID atëherë përdorni kodin e mëposhtëm për të futur të dhëna. Mos harroni të zëvendësoni vlerën e ID me vlerën tuaj të etiketës RFID
fut në vlerat rfid (3756178, 1, 'Laps', 20);
përdorni vlerën e shenjës si 1 në mënyrë që pasi të keni lexuar vlerën e etiketës për herë të parë ajo automatikisht do të ndryshojë në 2, mos përdorni 0 për vlerën e shenjës kur lexoni kartën që nuk është futur në DB ajo do të caktojë 0 pastaj do ta shfaqë atë si Kartë e Panjohur. Me
Hapi 4: Vendosja e përpunimit IDE
- Shkarkoni dhe instaloni IDE të përpunimit 2.2.1
- Nxirrni ZIP -in e dhënë më lart te MyDocuments/Processing/Libraries
- Tani hapni IDE të përpunimit dhe kontrolloni se biblioteka është instaluar saktë ose jo si në imazhin e mësipërm
- Pastaj Kopjoni kodin e mëposhtëm për përpunim dhe emërtojeni atë tuajin
import de.bezier.data.sql.*; importimi i përpunimit.serial.*; // importo java.math. BigInteger;
// krijuar 2005-05-10 nga fjenett
// përditësuar fjenett 20080605
Lidhja MySQL db;
Vargu s = ""; int Pesha = 700; int Gjerësia = 1200; ID e gjatë; shenja int; int Shuma; int Gjithsej = 0;
Vargu a = {"NULL", "NULL"};
int fund = 10; // numri 10 është ASCII për linefeed (fundi i serial.println), më vonë do të kërkojmë këtë për të prishur mesazhet individuale Serial serial; // deklaro një varg të ri të quajtur 'serial'. Një varg është një sekuencë e karaktereve (lloji i të dhënave i njohur si "char") Porti serik; String curr, prev, Emri; PFont f;
void setup ()
{// madhësia (Gjerësia, Pesha); madhësia (700, 500); f = createFont ("Arial", 24, e vërtetë); // ky shembull supozon që ju po përdorni serverin // mysql në nivel lokal (në "localhost"). // // zëvendësoni-emrin-,-fjalëkalim-me llogarinë tuaj mysql. // String user = "rrënjë"; String pass = ""; // emri i bazës së të dhënave që do të përdoret // String database = "IOT_Database"; // emri i tabelës që do të krijohet Tabela me tela = ""; // lidheni me bazën e të dhënave të serverit "localhost" dbconnection = MySQL e re (kjo, "localhost", baza e të dhënave, përdoruesi, kalimi); port = Serial i ri (kjo, Lista Seriale () [0], 9600); // inicializimi i objektit duke caktuar një port dhe normën e baudit (duhet të përputhet me atë të portit Arduino). i qartë (); // funksioni nga biblioteka serike që hedh leximin e parë, në rast se kemi filluar të lexojmë në mes të një vargu nga Arduino serial = port.readStringUntil (fund); // funksioni që lexon vargun nga porti serik deri në një println dhe më pas i cakton varg variablës sonë të vargut (e quajtur 'serial') serial = null; } void barazim () {sfond (255); textFont (f, 24); mbush (0); tekst ("Shuma totale Rs:", 400, 400); tekst (Gjithsej, 585, 400); të dhëna (); ndërsa (port.të disponueshme ()> 0) {// për sa kohë që ka të dhëna që vijnë nga porti serik, lexojini dhe ruajini ato serial = port.readStringUntil (fund); } if (serial! = null) {prev = curr; curr = a [1]; a = ndarje (seriale, ','); // një grup i ri (i quajtur 'a') që ruan vlerat në qeliza të veçanta (të ndara me presje të specifikuara në programin tuaj Arduino) nëse ((curr). barazohet (më parë)) {//} tjetër {// println ("curr ", curr); // println ("Para", më parë); funksioni (); }}}
funksioni i zbrazët ()
{if (dbconnection.connect ()) {// tani lexojeni përsëri // dbconnection.query ("SELECT * from rfid where ID ="+a [0]+""); ndërsa (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Shuma = dbconnection.getInt ("Shuma"); } if (shenja == 0) {println ("Ok"); textFont (f, 54); mbush (255, 0, 0, 160); tekst ("Artikulli i panjohur u zbulua", 50, 300); vonesa (2000); } else if (shenja == 1) {Total = Total+Shuma; dbconnection.query ("përditëso shenjën e vendosur rfid = 2 ku ID ="+a [0]+""); println ("Ok"); textFont (f, 24); mbush (255, 0, 0, 160); // tekst ("Artikulli u shtua", 10, 30); vonesa (1000); } else if (shenja == 2) {Total = Total-Shuma; dbconnection.query ("përditëso shenjën e vendosur rfid = 1 ku ID ="+a [0]+""); println ("Ok"); textFont (f, 24); mbush (255, 0, 0, 160); // tekst ("Artikulli u Hoq", 10, 30); vonesa (1000); } else {} dbconnection.close (); } else {// lidhja dështoi! }}
të dhëna të pavlefshme ()
{int pozicioni = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * nga rfid ku token = 2"); ndërsa (dbconnection.next ()) {Emri = dbconnection.getString ("Emri"); Shuma = dbconnection.getInt ("Shuma"); textFont (f, 24); mbush (0, 0, 255, 160); tekst (Emri, 10, pozicioni); mbush (0, 0, 0, 160); tekst (Shuma, 215, pozicioni); pozicioni = pozicioni+30; }} dbconnection.close (); }
Hapi 5: Ekzekutimi i Programit
Drejtoni programin duke klikuar butonin e ekzekutimit mos e mbyllni dritaren që shfaqet mbyllja do të ndalojë ekzekutimin dhe më poshtë pyetja për të parë të dhënat e ruajtura në MySQL…
Hapi 6: Përfundimi
Unë do të doja t'ju falënderoj për leximin e mësimit tim. Do të isha mirënjohës nëse e shihni të dobishme dhe jepni një pëlqim (të preferuar) ose më pyesni për ndonjë gjë pasi më mban të motivuar për të bërë këto udhëzime. mos ngurroni të bëni çdo pyetje që duhet të dini…
Kodim i lumtur Arduino…
Recommended:
Sistemi i pjesëmarrjes i bazuar në gjurmët e gishtërinjve dhe RFID duke përdorur Raspberry Pi dhe bazën e të dhënave MySQL: 5 hapa
Sistemi i pjesëmarrjes i bazuar në gjurmët e gishtërinjve dhe RFID duke përdorur Raspberry Pi dhe bazën e të dhënave MySQL: Video e këtij projekti
Udhëzues: Si të bëni një sensor të thjeshtë të temperaturës duke përdorur DS18B20 dhe Arduino UNO: 3 hapa
Udhëzues: Si të bëni një sensor të thjeshtë të temperaturës duke përdorur DS18B20 dhe Arduino UNO: Përshkrimi: Ky udhëzues do t'ju tregojë disa hapa të thjeshtë se si ta bëni sensorin e temperaturës funksionale. Duhen vetëm disa minuta për ta bërë të vërtetë në projektin tuaj. Paç fat ! Termometri dixhital DS18B20 siguron tempera 9-bit deri në 12-bit Celsius
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR duke përdorur Python: 6 hapa
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR Duke përdorur Python: Përshpejtimi është i kufizuar, mendoj sipas disa ligjeve të Fizikës.- Terry Riley Një cheetah përdor përshpejtim të mahnitshëm dhe ndryshime të shpejta në shpejtësi kur ndiqni. Krijesa më e shpejtë në breg, herë pas here, përdor ritmin e saj të lartë për të kapur prenë.
Makinë Arduino 4 Rrota Bluetooth Bluetooth RC Duke përdorur UNO R3, HC-05 dhe L293D Motorshield Me Kodim dhe Aplikacion Android: 8 hapa
Arduino 4 Wheel Drive Bluetooth RC Car Duke përdorur UNO R3, HC-05 dhe L293D Motorshield Me Kodim dhe Aplikacion Android: Sot do t'ju tregoj se si të bëni një makinë arduino me 4 rrota bluetooth RC duke përdorur mburojën motorike HC 05, L293, 4 motor DC, me kodim dhe aplikacion për android për të kontrolluar makinën. Komponenti i përdorur: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293
8 Kontrolli i stafetës me NodeMCU dhe Marrës IR duke përdorur WiFi dhe IR Telekomandë dhe Aplikacion Android: 5 hapa (me fotografi)
8 Rele Control me NodeMCU dhe IR Receiver Using WiFi and IR Remote and Android App: Kontrolli i 8 ndërprerësve të stafetave duke përdorur nodemcu dhe marrësin ir mbi wifi dhe ir aplikacionin e largët dhe android. Ir i largët punon pavarësisht nga lidhja wifi. K ISTU ASHT A KLIKIM I VERSIONIT TP PPRDITSUAR KETU