Innholdsfortegnelse:
- Trinn 1: Konfigurere Arduino og RFID RC-522 (fysisk tilkobling)
- Trinn 2: Arduino -kode.,
- Trinn 3: Konfigurere MySQL
- Trinn 4: Konfigurere Processing IDE
- Trinn 5: Gjennomføring av programmet
- Trinn 6: Konklusjon
Video: Enkel supermarked-app ved bruk av RFID RC-522 og Arduino Mega: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Det er godt å se dere igjen her på min andre opplæring, her skal jeg hjelpe deg med å lage en enkel supermarkedapplikasjon ved hjelp av RFID RC-522 og Arduino med prosessering for å lage enkel GUI.
Merk: Ikke kjør Arduino seriell skjerm mens du kjører behandlingskode fordi portkonflikt vil oppstå, da begge må bruke den samme porten
Du trenger:
- Arduino Mega eller Arduino Uno (jeg brukte Mega)
- RFID-RC522
- 7 hoppetråder fra mann til hunn
- Noen ID -kort (valgfritt)
- RFID -bibliotek (må, lenke nedenfor)
- Wamp -server
- Behandler IDE 2.2.1 (ikke bruk større enn det)
- BezierSQLib-0.2.0 bibliotek for behandling (Last ned lenke nedenfor)
Last deretter ned RFID-biblioteket nedenfor og legg det til i Arduino IDE ved å klikke Sketch-> Include Library-> Add. Zip Library i filmenyen
Trinn 1: Konfigurere Arduino og RFID RC-522 (fysisk tilkobling)
Bare koble arduinoen til RFID-RC522 som vist på bildet ovenfor. Advarsel: bare 3,3V forsyning, ellers vil modulen brenne ut
Pin Out for Uno/Nano og 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
Trinn 2: Arduino -kode.,
Kopier koden nedenfor og last den opp på Arduino
/*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*//*Inkluder standard Arduino SPI -bibliotek */ #include/ *Inkluder RFID -biblioteket */ #include
/* Definer DIO som brukes for SDA (SS) og RST (reset) pins. */
#define SDA_DIO 9 #define RESET_DIO 8
/ * Opprett en forekomst av RFID -biblioteket */
RFID RC522 (SDA_DIO, RESET_DIO); int -leser = 0;
ugyldig oppsett ()
{Serial.begin (9600); / * Aktiver SPI -grensesnittet */ SPI.begin (); / * Initialiser RFID -leseren */ RC522.init (); }
hulrom ()
{ / * Midlertidig sløyfeteller * / byte i;
/* Har et kort blitt oppdaget? */
if (RC522.isCard ()) { / * I så fall får du serienummeret * / RC522.readCardSerial ();
/ * Skriv ut serienummeret til UART */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); } Serial.print (","); Serial.print (leser ++); Serial.println (); } forsinkelse (1000); }
Trinn 3: Konfigurere MySQL
- Installer Wamp -serveren for MySQL og konfigurer den til å lagre data (
- Kjør wamp serveropen MySQL -konsoll
- velg database
- Lag deretter tabellen for dataene dine
lage tabell rfid (ID int (8), token int (1), Navn varchar (20), Beløp int (4));
Se nå på denne lenken for å lære hvordan du får verdien for RFID -taggen din, og bruk deretter koden nedenfor for å sette inn data. Ikke glem å erstatte ID -verdien med RFID -taggen din
sett inn i rfid -verdier (3756178, 1, 'Pencil', 20);
bruk token verdi som 1 slik at etter å ha lest tag -verdien for første gang vil den automatisk endres til 2, ikke bruk 0 for token verdi når lesekort som ikke er satt inn i DB, vil det tildele 0 og deretter vise det som Ukjent kort..
Trinn 4: Konfigurere Processing IDE
- Last ned og installer Processing IDE 2.2.1
- Pakk ut den ovennevnte ZIP -en til MyDocuments/Processing/Libraries
- Åpne nå prosessering IDE og kontroller at biblioteket er installert riktig eller ikke som i bildet ovenfor
- Kopier deretter koden nedenfor til behandling og navngi den din egen
import de.bezier.data.sql.*; import processing.serial.*; // import java.math. BigInteger;
// opprettet 2005-05-10 av fjenett
// oppdatert fjenett 20080605
MySQL dbconnection;
String s = ""; int Vekt = 700; int Bredde = 1200; lang ID; int token; int Beløp; int Total = 0;
String a = {"NULL", "NULL"};
int ende = 10; // tallet 10 er ASCII for linefeed (slutten av serial.println), senere vil vi se etter dette for å bryte opp individuelle meldinger String serial; // erklære en ny streng som kalles 'seriell'. En streng er en sekvens av tegn (datatype kjent som "char") Seriell port; String curr, prev, Name; PFont f;
ugyldig oppsett ()
{// størrelse (bredde, vekt); størrelse (700, 500); f = createFont ("Arial", 24, true); // dette eksemplet forutsetter at du kjører // mysql -serveren lokalt (på "localhost"). // // erstatte --brukernavn--, --passord-- med mysql-kontoen din. // String user = "root"; Stringpass = ""; // navn på databasen som skal brukes // String database = "IOT_Database"; // navn på tabellen som skal opprettes String table = ""; // koble til databasen til serveren "localhost" dbconnection = ny MySQL (dette, "localhost", database, bruker, pass); port = ny Serial (dette, Serial.list () [0], 9600); // initialisere objektet ved å tilordne en port og baud rate (må samsvare med Arduino) port.clear (); // funksjon fra seriell bibliotek som kaster ut den første lesingen, i tilfelle vi begynte å lese midt i en streng fra Arduino serial = port.readStringUntil (end); // funksjon som leser strengen fra seriell port til en println og deretter tilordner streng til vår strengvariabel (kalt 'seriell') serial = null; } void draw () {bakgrunn (255); textFont (f, 24); fyll (0); tekst ("Totalbeløp Rs:", 400, 400); tekst (totalt, 585, 400); data(); mens (port.available ()> 0) {// så lenge det kommer data fra seriell port, les den og lagre den serial = port.readStringUntil (end); } hvis (seriell! = null) {prev = curr; curr = a [1]; a = split (seriell, ','); // en ny matrise (kalt 'a') som lagrer verdier i separate celler (atskilt med komma spesifisert i Arduino -programmet) hvis ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Forrige", forrige); funksjon(); }}}
ugyldig funksjon ()
{if (dbconnection.connect ()) {// les den nå ut igjen // dbconnection.query ("SELECT * fra rfid hvor ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Beløp = dbconnection.getInt ("Beløp"); } if (token == 0) {println ("Ok"); textFont (f, 54); fyll (255, 0, 0, 160); tekst ("Ukjent gjenstand oppdaget", 50, 300); forsinkelse (2000); } annet hvis (token == 1) {Total = Total+Beløp; dbconnection.query ("oppdater rfid set token = 2 hvor ID ="+a [0]+""); println ("Ok"); textFont (f, 24); fyll (255, 0, 0, 160); // tekst ("Element lagt til", 10, 30); forsinkelse (1000); } annet hvis (token == 2) {Total = Total-Beløp; dbconnection.query ("oppdater rfid set token = 1 hvor ID ="+a [0]+""); println ("Ok"); textFont (f, 24); fyll (255, 0, 0, 160); // tekst ("Element fjernet", 10, 30); forsinkelse (1000); } annet {} dbconnection.close (); } annet {// tilkobling mislyktes! }}
ugyldige data ()
{int posisjon = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * fra rfid hvor token = 2"); while (dbconnection.next ()) {Navn = dbconnection.getString ("Navn"); Beløp = dbconnection.getInt ("Beløp"); textFont (f, 24); fyll (0, 0, 255, 160); tekst (navn, 10, posisjon); fyll (0, 0, 0, 160); tekst (Beløp, 215, posisjon); posisjon = posisjon+30; }} dbconnection.close (); }
Trinn 5: Gjennomføring av programmet
Kjør programmet ved å klikke på kjør -knappen ikke lukk popup -vinduet lukking vil stoppe utførelsen og under spørringen for å se lagrede data i MySQL …
Trinn 6: Konklusjon
Jeg vil takke deg for at du leste opplæringen min. Jeg ville sette pris på om du syntes det var nyttig og slippe en liker (favoritt) eller spør meg om noe som det holder meg motivert til å gjøre disse instruksjonene. still gjerne spørsmål du trenger å vite …
Happy Coding Arduino …
Anbefalt:
Enkel frekvensteller ved bruk av Arduino: 6 trinn
Enkel frekvensmåler ved bruk av Arduino: I denne opplæringen lærer vi hvordan du lager en enkel frekvensmåler ved hjelp av Arduino. Se videoen
Enkel, bærbar kontinuerlig EKG/EKG -skjerm ved bruk av ATMega328 (Arduino Uno Chip) + AD8232: 3 trinn
Enkel, bærbar kontinuerlig EKG/EKG-skjerm ved bruk av ATMega328 (Arduino Uno Chip) + AD8232: Denne instruksjonssiden viser deg hvordan du lager en enkel bærbar 3-avlednings EKG/EKG-skjerm. Monitoren bruker et AD8232 breakout -kort for å måle EKG -signalet og lagre det på et microSD -kort for senere analyse. Viktigste forsyninger: 5V oppladbart
Enkel automatisk robot i bevegelse ved bruk av Arduino & L293d IC: 6 trinn
Enkel automatisk robot i bevegelse ved bruk av Arduino & L293d IC: Dette er en grunnleggende robot som drives av en arduino, og det den gjør er at den bare streifer rundt og følger en sirkelbane som standardkode, men du kan endre koden for å endre banen enkelt. Det er et enkelt prosjekt som alle kan bygge..So If You Ev
Enkel og smart robotarm ved bruk av Arduino !!!: 5 trinn (med bilder)
Enkel og smart robotarm ved bruk av Arduino !!!: I denne instruksen skal jeg lage en enkel robotarm. Det vil bli kontrollert ved hjelp av en masterarm. Armen vil huske trekk og spille i rekkefølge. Konseptet er ikke nytt Jeg fikk ideen fra " mini robotarm -av Stoerpeak " Jeg ville t
DIY temperatursensor ved bruk av Arduino og LM 35 Enkel: 5 trinn
DIY temperatursensor ved bruk av Arduino og LM 35 Enkel: Hei venner, I dag skal vi bygge en temperaturmålesensorkrets rundt Arduino UNO mikrokontroller ved hjelp av en sensor LM35. Så la oss komme i gang uten å kaste bort tiden