Sisällysluettelo:

Yksinkertainen Supermarket-sovellus RFID RC-522: n ja Arduino Megan avulla: 6 vaihetta
Yksinkertainen Supermarket-sovellus RFID RC-522: n ja Arduino Megan avulla: 6 vaihetta

Video: Yksinkertainen Supermarket-sovellus RFID RC-522: n ja Arduino Megan avulla: 6 vaihetta

Video: Yksinkertainen Supermarket-sovellus RFID RC-522: n ja Arduino Megan avulla: 6 vaihetta
Video: 🖱 How to Create Gmail Account | Email ID Kaise Banaye | Gmail Account (IOCE) 2024, Heinäkuu
Anonim
Yksinkertainen Supermarket-sovellus RFID RC-522: n ja Arduino Megan avulla
Yksinkertainen Supermarket-sovellus RFID RC-522: n ja Arduino Megan avulla

On hyvä nähdä teidät täällä taas toisessa opetusohjelmassani, tässä aion auttaa sinua luomaan yksinkertaisen supermarket-sovelluksen käyttämällä RFID RC-522: ta ja Arduinoa prosessoimalla yksinkertaisen graafisen käyttöliittymän luomiseksi.

Huomautus: älä käytä Arduinon sarjamonitoria suorittaessaan käsittelykoodia, koska porttiristiriitoja esiintyy, koska molempien on käytettävä samaa porttia

Tarvitset:

  1. Arduino Mega tai Arduino Uno (käytin Megaa)
  2. RFID-RC522
  3. 7 uros -naarasliitinjohtoa
  4. Jotkut henkilökortit (valinnainen)
  5. RFID -kirjasto (pakollinen, linkki alla)
  6. Wamp -palvelin
  7. Käsitellään IDE 2.2.1 (älä käytä sitä suurempia)
  8. BezierSQLib-0.2.0-kirjasto käsittelyyn (latauslinkki alla)

Lataa sitten alla oleva RFID-kirjasto ja lisää se Arduino IDE: hen napsauttamalla Luonnos-> Sisällytä kirjasto-> Lisää. Zip-kirjasto tiedostovalikosta

Vaihe 1: Arduinon ja RFID RC-522: n (fyysinen yhteys) asentaminen

Arduinon ja RFID RC-522: n määrittäminen (fyysinen yhteys)
Arduinon ja RFID RC-522: n määrittäminen (fyysinen yhteys)

liitä arduino RFID-RC522: een yllä olevan kuvan mukaisesti.

Kiinnitä Uno/Nano ja Mega

RC522 MODUULI 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

Vaihe 2: Arduino -koodi.,

Kopioi alla oleva koodi ja lataa se sitten Arduinollesi

/*PINOUT: RC522 -MODUULI 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*//*Sisällytä vakio Arduino SPI -kirjasto */ #include/ *Sisällytä RFID -kirjasto */ #include

/* Määritä DIO, jota käytetään SDA (SS) - ja RST (reset) -napoissa. */

#define SDA_DIO 9 #define RESET_DIO 8

/ * Luo RFID -kirjaston esiintymä */

RFID RC522 (SDA_DIO, RESET_DIO); int lukija = 0;

mitätön asennus ()

{Serial.begin (9600); / * Ota SPI -käyttöliittymä käyttöön */ SPI.begin (); / * Alusta RFID -lukija */ RC522.init (); }

tyhjä silmukka ()

{ / * Väliaikainen silmukkalaskuri * / tavu i;

/* Onko korttia havaittu? */

if (RC522.isCard ()) { / * Jos on, hanki sen sarjanumero * / RC522.readCardSerial ();

/ * Anna sarjanumero UART -laitteelle */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); // Sarjanjälki (RC522.serNum, HEX); } Serial.print (","); Serial.print (lukija ++); Sarja.println (); } viive (1000); }

Vaihe 3: Määritä MySQL

MySQL: n määrittäminen
MySQL: n määrittäminen
  1. Asenna Wamp -palvelin MySQL: lle ja määritä se tallentamaan tiedot (
  2. Suorita wamp -palvelimen avattu MySQL -konsoli
  3. valitse tietokanta
  4. Luo sitten taulukko tiedoillesi

luo taulukko rfid (ID int (8), token int (1), Name varchar (20), Amount int (4));

Katso nyt tämä linkki oppiaksesi saamaan RFID -tunnisteen arvon ja käytä sitten alla olevaa koodia tietojen lisäämiseen. Älä unohda korvata ID -arvo RFID -tunnisteen arvolla

lisää rfid -arvoihin (3756178, 1, 'Lyijykynä', 20);

käytä tunnuksen arvoa 1, jotta tunnisteen arvon ensimmäisen lukemisen jälkeen se muuttuu automaattisesti arvoksi 2, älä käytä merkkiä arvolla 0, kun luet korttia, jota ei ole lisätty tietokantaan, se antaa 0 ja näyttää sen sitten tuntemattomana korttina..

Vaihe 4: Käsittelevän IDE: n määrittäminen

Käsittelevän IDE: n määrittäminen
Käsittelevän IDE: n määrittäminen
  1. Lataa ja asenna Processing IDE 2.2.1
  2. Pura yllä oleva ZIP MyDocuments/Processing/Libraries -kansioon
  3. Avaa nyt käsittely IDE ja tarkista, että kirjasto on asennettu oikein tai ei, kuten yllä olevassa kuvassa
  4. Kopioi sitten alla oleva koodi käsittelyyn ja nimeä se itse

tuonti de.bezier.data.sql.*; tuonti käsittely. sarja.*; // tuonti java.math. BigInteger;

// luonut 2005-05-10, tekijä fjenett

// päivitetty fjenett 20080605

MySQL dbconnection;

Merkkijono s = ""; int Pyörä = 700; int Leveys = 1200; pitkä henkilöllisyystodistus; int -merkki; int Määrä; int Yhteensä = 0;

Jono a = {"NULL", "NULL"};

int end = 10; // numero 10 on ASCII linjasyötölle (sarjan loppu.println), myöhemmin etsimme tätä hajottaaksesi yksittäiset viestit String serial; // julistaa uuden merkkijonon nimeltä 'sarja'. Merkkijono on merkkijono (tietotyyppi tunnetaan nimellä "char") Sarjaportti; Merkkijono curr, edellinen, Nimi; PFontti f;

mitätön asennus ()

{// koko (leveys, pituus); koko (700, 500); f = createFont ("Arial", 24, tosi); // tässä esimerkissä oletetaan, että käytät // mysql -palvelinta paikallisesti ("localhost"). // // korvaa --käyttäjänimi--, --salasana-- mysql-tililläsi. // Merkkijonon käyttäjä = "root"; Jousisoitto = ""; // käytettävän tietokannan nimi // String database = "IOT_Database"; // luotavan taulukon nimi String table = ""; // muodosta yhteys palvelimen "localhost" tietokantaan dbconnection = new MySQL (this, "localhost", tietokanta, käyttäjä, pass); portti = uusi sarja (tämä, Serial.list () [0], 9600); // objektin alustaminen määrittämällä portti ja siirtonopeus (on vastattava Arduinoa) port.clear (); // sarjakirjasto -toiminto, joka heittää ensimmäisen lukeman, jos aloitimme lukemisen Arduinon merkkijonon keskeltä serial = port.readStringUntil (end); // -toiminto, joka lukee merkkijonon sarjaportista println -muotoon ja määrittää sitten merkkijonon merkkijonomuuttujallemme (nimeltään 'sarja') serial = null; } void draw () {tausta (255); textFont (f, 24); täyttö (0); teksti ("Kokonaismäärä Rs:", 400, 400); teksti (Yhteensä, 585, 400); tiedot (); while (port.available ()> 0) {// niin kauan kuin sarjaportista tulee tietoja, lue se ja tallenna se serial = port.readStringUntil (end); } jos (sarja! = null) {prev = curr; curr = a [1]; a = jaettu (sarja, ','); // uusi array (nimeltään "a"), joka tallentaa arvot erillisiin soluihin (erotettu pilkuilla, jotka on määritetty Arduino -ohjelmassasi), jos ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Edellinen", edellinen); toiminto (); }}}

mitätön funktio ()

{if (dbconnection.connect ()) {// lue se nyt takaisin // dbconnection.query ("SELECT * from rfid jossa ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("merkki"); Määrä = dbconnection.getInt ("Määrä"); } if (token == 0) {println ("Ok"); textFont (f, 54); täyttö (255, 0, 0, 160); teksti ("Tuntematon kohde havaittu", 50, 300); viive (2000); } else if (merkki == 1) {Yhteensä = Yhteensä+Määrä; dbconnection.query ("update rfid set token = 2 jossa ID ="+a [0]+""); println ("Ok"); textFont (f, 24); täyttö (255, 0, 0, 160); // teksti ("Kohde lisätty", 10, 30); viive (1000); } else if (merkki == 2) {Yhteensä = Yhteensä-summa; dbconnection.query ("update rfid set token = 1 jossa ID ="+a [0]+""); println ("Ok"); textFont (f, 24); täyttö (255, 0, 0, 160); // teksti ("Kohde poistettu", 10, 30); viive (1000); } else {} dbconnection.close (); } muu {// yhteys epäonnistui! }}

mitätön data ()

{int -asema = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Nimi = dbconnection.getString ("Nimi"); Määrä = dbconnection.getInt ("Määrä"); textFont (f, 24); täyttö (0, 0, 255, 160); teksti (Nimi, 10, asema); täyttö (0, 0, 0, 160); teksti (Määrä, 215, sijainti); asema = sijainti+30; }} dbconnection.close (); }

Vaihe 5: Ohjelman suorittaminen

Ohjelman suorittaminen
Ohjelman suorittaminen
Ohjelman suorittaminen
Ohjelman suorittaminen
Ohjelman suorittaminen
Ohjelman suorittaminen
Ohjelman suorittaminen
Ohjelman suorittaminen

Suorita ohjelma napsauttamalla Suorita -painiketta, älä sulje ponnahdusikkunan sulkemista, se lopettaa suorituksen ja kyselyn alapuolella voit tarkastella tallennettuja tietoja MySQL: ssä …

Vaihe 6: Johtopäätös

Haluan kiittää sinua opetusohjelmani lukemisesta. Olisin kiitollinen, jos pidät sitä hyödyllisenä ja jätät tykkäyksen (suosikin) tai kysyt minulta mitä tahansa, koska se pitää minut motivoituneena tekemään nämä ohjeet. kysy rohkeasti kysymyksiä, jotka sinun tarvitsee tietää…

Hyvää koodausta Arduino…

Suositeltava: