Përmbajtje:

Aplikacion i thjeshtë i supermarketeve duke përdorur RFID RC-522 dhe Arduino Mega: 6 hapa
Aplikacion i thjeshtë i supermarketeve duke përdorur RFID RC-522 dhe Arduino Mega: 6 hapa

Video: Aplikacion i thjeshtë i supermarketeve duke përdorur RFID RC-522 dhe Arduino Mega: 6 hapa

Video: Aplikacion i thjeshtë i supermarketeve duke përdorur RFID RC-522 dhe Arduino Mega: 6 hapa
Video: Lufta në Cash 2024, Korrik
Anonim
Aplikacion i thjeshtë i supermarketeve duke përdorur RFID RC-522 dhe Arduino Mega
Aplikacion i thjeshtë i supermarketeve duke përdorur RFID RC-522 dhe Arduino Mega

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:

  1. Arduino Mega ose Arduino Uno (kam përdorur Mega)
  2. RFID-RC522
  3. 7 tela bluzë meshkuj në femra
  4. Disa karta identiteti (opsionale)
  5. Biblioteka RFID (Duhet, Lidhja më poshtë)
  6. Server Wamp
  7. Përpunimi i IDE 2.2.1 (mos përdorni më shumë se kaq)
  8. 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)

Vendosja e Arduino dhe RFID RC-522 (Lidhje Fizike)
Vendosja e Arduino dhe RFID RC-522 (Lidhje 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

Vendosja e MySQL
Vendosja e MySQL
  1. Instaloni serverin Wamp për MySQL dhe konfiguroni atë për të ruajtur të dhënat (
  2. Drejtoni tastierën wamp serveropen MySQL
  3. zgjidhni bazën e të dhënave
  4. 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

Vendosja e përpunimit të IDE
Vendosja e përpunimit të IDE
  1. Shkarkoni dhe instaloni IDE të përpunimit 2.2.1
  2. Nxirrni ZIP -in e dhënë më lart te MyDocuments/Processing/Libraries
  3. Tani hapni IDE të përpunimit dhe kontrolloni se biblioteka është instaluar saktë ose jo si në imazhin e mësipërm
  4. 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

Ekzekutimi i Programit
Ekzekutimi i Programit
Ekzekutimi i Programit
Ekzekutimi i Programit
Ekzekutimi i Programit
Ekzekutimi i Programit
Ekzekutimi i Programit
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: