Sisukord:
- Samm: seadistage Arduino ja RFID RC-522 (füüsiline ühendus)
- Samm: Arduino kood.,
- 3. samm: MySQL -i seadistamine
- 4. samm: IDE töötlemise seadistamine
- Samm: programmi käivitamine
- 6. samm: järeldus
Video: Lihtne supermarketirakendus RFID RC-522 ja Arduino Mega abil: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Tore on teid jälle siin minu teises õpetuses näha, siin aitan teil lihtsa GUI loomiseks luua lihtsa supermarketi rakenduse, kasutades RFID RC-522 ja Arduino koos töötlemisega.
Märkus: ärge käivitage töötlemiskoodi töötamise ajal Arduino jadamonitori, kuna pordikonflikt tekib, kuna mõlemad peavad kasutama sama pordi
Sa vajad:
- Arduino Mega või Arduino Uno (ma kasutasin Mega)
- RFID-RC522
- 7 isast naissoost džemprijuhet
- Mõned ID -kaardid (valikuline)
- RFID -kogu (kohustuslik, link allpool)
- Wampi server
- IDE 2.2.1 töötlemine (ärge kasutage suuremat)
- BezierSQLib-0.2.0 raamatukogu töötlemiseks (allalaadimise link allpool)
Seejärel laadige alla allolev RFID-kogu ja lisage see oma Arduino IDE-sse, klõpsates failimenüüs Sketch-> Include Library-> Add. Zip Library.
Samm: seadistage Arduino ja RFID RC-522 (füüsiline ühendus)
lihtsalt ühendage arduino RFID-RC522-ga, nagu ülaltoodud pildil näidatud. Hoiatus: toide ainult 3,3 V, vastasel juhul põleb moodul läbi
Kinnitage Uno/Nano ja Mega jaoks
RC522 MOODUL 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
Samm: Arduino kood.,
Kopeerige allolev kood ja laadige see oma Arduinole üles
/*PINOUT: RC522 MOODUL 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*//*Kaasa standardne Arduino SPI raamatukogu */ #include/ *Kaasa RFID -kogu */ #include
/* Määrake SDA (SS) ja RST (lähtestamine) tihvtide jaoks kasutatav DIO. */
#define SDA_DIO 9 #defineerimine RESET_DIO 8
/ * Looge RFID -teegi eksemplar */
RFID RC522 (SDA_DIO, RESET_DIO); int lugeja = 0;
tühine seadistus ()
{Serial.begin (9600); / * Luba SPI liides */ SPI.begin (); / * Initsialiseeri RFID -lugeja */ RC522.init (); }
tühine tsükkel ()
{ / * Ajutine silmusloendur * / bait i;
/* Kas kaart on tuvastatud? */
if (RC522.isCard ()) { / * Kui jah, siis hankige selle seerianumber * / RC522.readCardSerial ();
/ * Väljendage seerianumber UART -le */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Seriaalne trükk (RC522.serNum, HEX); } Serial.print (","); Serial.print (lugeja ++); Serial.println (); } viivitus (1000); }
3. samm: MySQL -i seadistamine
- Installige Wamp server MySQL -i jaoks ja seadistage see andmete salvestamiseks (
- Käivitage wamp serveri avatud MySQL konsool
- valige andmebaas
- Seejärel looge oma andmete jaoks tabel
luua tabel rfid (ID int (8), token int (1), Name varchar (20), Amount int (4));
Nüüd vaadake seda linki, et teada saada, kuidas oma RFID -märgendi väärtust saada, seejärel kasutage andmete sisestamiseks allolevat koodi. Ärge unustage asendada ID -väärtus oma RFID -märgendi väärtusega
sisestada rfid väärtustesse (3756178, 1, 'Pencil', 20);
kasutage märgi väärtust 1, nii et pärast märgendi väärtuse esmakordset lugemist muutub see automaatselt 2 -ks, ärge kasutage märgi väärtuseks 0, kui loete kaarti, mida pole sisestatud DB -sse, määrab see 0 ja kuvab selle tundmatu kaardina..
4. samm: IDE töötlemise seadistamine
- Laadige alla ja installige töötlemise IDE 2.2.1
- Väljavõte ülaltoodud ZIP -st kausta MyDocuments/Processing/Libraries
- Nüüd avage töötlemise IDE ja kontrollige, kas kogu on õigesti installitud või mitte, nagu ülaltoodud pildil
- Seejärel kopeerige töötlemiseks allolev kood ja pange sellele oma nimi
import de.bezier.data.sql.*; import processing.serial.*; // impordi java.math. BigInteger;
// loodud 2005-05-10, autor fjenett
// uuendatud fjenett 20080605
MySQL db -ühendus;
String s = ""; int Ratas = 700; int laius = 1200; pikk ID; int token; int Kogus; int Kokku = 0;
String a = {"NULL", "NULL"};
int lõpp = 10; // number 10 on linefeed ASCII (jada.println lõpp), hiljem otsime seda üksikute sõnumite lõhkumiseks String jada; // deklareerida uus string nimega 'jadane'. String on tähemärkide jada (andmetüüp on tuntud kui "char") jadaport; String curr, eelmine, nimi; PFont f;
tühine seadistus ()
{// size (Wwidth, Wheight); suurus (700, 500); f = createFont ("Arial", 24, tõene); // see näide eeldab, et käitate // mysql serverit kohapeal ("localhost"). // // asendage --kasutajanimi--, --parool-- oma mysql-kontoga. // Stringi kasutaja = "juur"; String pass = ""; // kasutatava andmebaasi nimi // String database = "IOT_Database"; // loodava tabeli nimi String table = ""; // ühenduse loomine serveri "localhost" andmebaasiga dbconnection = uus MySQL (see, "localhost", andmebaas, kasutaja, pääs); port = uus seeria (see, Serial.list () [0], 9600); // objekti initsialiseerimine, määrates pordi ja edastuskiiruse (peab vastama Arduino omale) port.clear (); // funktsioon jadaraamatukogust, mis viskab esimese lugemise välja, juhuks kui me alustasime lugemist Arduino stringi keskel serial = port.readStringUntil (end); // funktsioon, mis loeb stringi jadaportist kuni println -ni ja seejärel määrab stringi meie stringimuutujale (nn 'jada') serial = null; } void draw () {taust (255); textFont (f, 24); täitma (0); tekst ("Kogusumma Rs:", 400, 400); tekst (kokku, 585, 400); andmed (); while (port.available ()> 0) {// seni, kuni jadapordist saab andmeid, lugege seda ja salvestage see serial = port.readStringUntil (lõpp); } if (jada! = null) {prev = curr; curr = a [1]; a = jagatud (jada, ','); // uus massiiv (nn „a”), mis salvestab väärtused eraldi lahtritesse (eraldatud komadega, mis on määratud teie Arduino programmis), kui ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Eelmine", eelmine); funktsioon (); }}}
tühine funktsioon ()
{if (dbconnection.connect ()) {// loe see nüüd tagasi // dbconnection.query ("SELECT * rfid -st, kus ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("märk"); Amount = dbconnection.getInt ("Amount"); } if (token == 0) {println ("Ok"); textFont (f, 54); täitke (255, 0, 0, 160); tekst ("Tuvastati tundmatu ese", 50, 300); viivitus (2000); } else if (token == 1) {Kokku = kokku+summa; dbconnection.query ("update rfid set token = 2 kus ID ="+a [0]+""); println ("Ok"); textFont (f, 24); täitke (255, 0, 0, 160); // tekst ("Üksus lisatud", 10, 30); viivitus (1000); } else if (token == 2) {Kokku = Kogusumma; dbconnection.query ("update rfid set token = 1 kus ID ="+a [0]+""); println ("Ok"); textFont (f, 24); täitke (255, 0, 0, 160); // tekst ("Üksus eemaldatud", 10, 30); viivitus (1000); } else {} dbconnection.close (); } muu {// ühendus ebaõnnestus! }}
tühised andmed ()
{int positsioon = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("Nimi"); Amount = dbconnection.getInt ("Amount"); textFont (f, 24); täitke (0, 0, 255, 160); tekst (Nimi, 10, ametikoht); täitke (0, 0, 0, 160); tekst (Amount, 215, position); positsioon = positsioon+30; }} dbconnection.close (); }
Samm: programmi käivitamine
Käivitage programm, klõpsates nuppu Käivita, ärge sulgege hüpikakna sulgemist, peatatakse täitmine ja päringu all, et vaadata MySQL -i salvestatud andmeid …
6. samm: järeldus
Tahaksin teid tänada, et lugesite minu õpetust. Oleksin tänulik, kui leiate, et see on kasulik ja jätate like (lemmik) või küsite minult midagi, kuna see hoiab mind motiveeritud neid juhendeid tegema. küsige julgelt küsimusi, mida peate teadma…
Head Arduino kodeerimist…
Soovitan:
Mobiiliga juhitav Bluetooth -auto -- Lihtne -- Lihtne -- Hc-05 -- Mootorikilp: 10 sammu (koos piltidega)
Mobiiliga juhitav Bluetooth -auto || Lihtne || Lihtne || Hc-05 || Motor Shield: … Palun TELLI minu YouTube'i kanalile ………. See on Bluetooth-juhitav auto, mis kasutas mobiiliga suhtlemiseks Bluetooth-moodulit HC-05. Saame autot juhtida mobiiltelefoniga Bluetoothi kaudu. Auto liikumise juhtimiseks on olemas rakendus
COVID-19 armatuurlaud (lihtne ja lihtne): 4 sammu
COVID-19 juhtpaneel (lihtne ja lihtne): kõikjal on uudse COVID-19 viiruse puhang. Vajalik oli jälgida praegust COVID-19 stsenaariumi riigis. Niisiis, kodus olles oli see projekt, millele ma mõtlesin: " Informatsiooni armatuurlaud " - A
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada: 3 sammu
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada .: See projekt aitab teil ühendada 18 LED-i (6 punast + 6 sinist + 6 kollast) oma Arduino plaadiga ja analüüsida arvuti helikaardi reaalajasignaale ning edastada need valgusdioodid, mis neid löögiefektide järgi süttivad (Snare, High Hat, Kick)
Tõeliselt lihtne/lihtne/mitte keeruline viis muuta inimesed/inimesed/loomad/robotid GIMP -i abil tõeliselt jahedaks/heledaks nägemiseks (teie valitud värv): 4 sammu
Tõeliselt lihtne/lihtne/mitte keeruline viis, kuidas inimesed/inimesed/loomad/robotid näevad välja nagu neil oleks tõeliselt lahe/särav kuumusnägemine (teie valitud värv) GIMP -i abil: lugege … pealkirja