Orodha ya maudhui:

Programu rahisi ya Duka Kuu Kutumia RFID RC-522 na Arduino Mega: Hatua 6
Programu rahisi ya Duka Kuu Kutumia RFID RC-522 na Arduino Mega: Hatua 6

Video: Programu rahisi ya Duka Kuu Kutumia RFID RC-522 na Arduino Mega: Hatua 6

Video: Programu rahisi ya Duka Kuu Kutumia RFID RC-522 na Arduino Mega: Hatua 6
Video: Я ОДЕРЖИМЫЙ ДЕМОНАМИ 2024, Julai
Anonim
Programu rahisi ya Duka Kuu Kutumia RFID RC-522 na Arduino Mega
Programu rahisi ya Duka Kuu Kutumia RFID RC-522 na Arduino Mega

Ni vizuri kukuona tena hapa kwenye mafunzo yangu mengine, hapa nitakusaidia kuunda programu rahisi ya duka kuu ukitumia RFID RC-522 na Arduino na Usindikaji kuunda GUI rahisi.

Kumbuka: usitumie mfuatiliaji wa mfululizo wa Arduino wakati unafanya msimbo wa usindikaji kwa sababu mzozo wa bandari utatokea kwani wote wanapaswa kutumia bandari moja

Unahitaji:

  1. Arduino Mega au Arduino Uno (nilitumia Mega)
  2. RF-RC522
  3. Waya 7 za kuruka kiume hadi kike
  4. Baadhi ya vitambulisho (hiari)
  5. Maktaba ya RFID (Lazima, Unganisha Chini)
  6. Seva ya Wamp
  7. Inasindika IDE 2.2.1 (usitumie kubwa kuliko hiyo)
  8. Maktaba ya BezierSQLib-0.2.0 kwa ajili ya usindikaji (Pakua kiungo hapo chini)

Kisha Pakua Maktaba ya chini ya RFID na Uiongeze kwenye IDE yako ya Arduino kwa kubonyeza Mchoro-> Jumuisha Maktaba-> Ongeza Maktaba ya Zip kwenye menyu ya faili.

Hatua ya 1: Kuanzisha Arduino na RFID RC-522 (Uunganisho wa Kimwili)

Kuanzisha Arduino na RFID RC-522 (Uunganisho wa Kimwili)
Kuanzisha Arduino na RFID RC-522 (Uunganisho wa Kimwili)

unganisha tu arduino na RFID-RC522 kama inavyoonyeshwa kwenye picha hapo juu. Onyo: toa 3.3V tu moduli nyingine itachoma

Pindisha kwa Uno / Nano na 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

Hatua ya 2: Msimbo wa Arduino.,

Nakili nambari ya chini kisha ipakie kwenye Arduino yako

/ * 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 * / / * Jumuisha maktaba ya kawaida ya Arduino SPI * / # pamoja / * Jumuisha maktaba ya RFID * / # pamoja

/ * Fafanua DIO iliyotumiwa kwa pini za SDA (SS) na RST (reset). * /

#fafanua SDA_DIO 9 #fafanua RESET_DIO 8

/ * Unda mfano wa maktaba ya RFID * /

RFID RC522 (SDA_DIO, RESET_DIO); msomaji wa ndani = 0;

kuanzisha batili ()

{Serial.begin (9600); / * Wezesha kiolesura cha SPI * / SPI.anza (); / * Anzisha msomaji wa RFID * / RC522.init (); }

kitanzi batili ()

{/ * Kaunta ya kitanzi ya muda mfupi * / byte i;

/ * Je! Kadi imegunduliwa? * /

ikiwa (RC522.isCard ()) {/ * Ikiwa ndivyo basi pata nambari yake ya siri * / RC522.readCardSerial ();

/ * Pata nambari ya serial kwa UART * / kwa (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Printa ya serial (msomaji ++); Serial.println (); } kuchelewa (1000); }

Hatua ya 3: Kuanzisha MySQL

Kuanzisha MySQL
Kuanzisha MySQL
  1. Sakinisha seva ya Wamp kwa MySQL na uisanidie kuhifadhi data (
  2. Endesha seva ya wamp kufungua dashibodi ya MySQL
  3. chagua hifadhidata
  4. Kisha unda meza kwa data yako

unda meza rfid (ID int (8), tok int (1), Jina varchar (20), Kiasi int (4));

Sasa angalia kiunga hiki ili ujifunze jinsi ya kupata kitambulisho chako cha kitambulisho cha RFID kisha utumie nambari iliyo hapa chini kuingiza data.

ingiza katika maadili ya rfid (3756178, 1, 'Penseli', 20);

tumia alama ya ishara kama 1 ili baada ya kusoma alama ya lebo kwa mara ya kwanza itabadilika kiatomati kuwa 2, usitumie 0 kwa thamani ya ishara wakati unasoma kadi ambayo haijaingizwa kwenye DB itakupa 0 kisha uionyeshe kama Kadi isiyojulikana..

Hatua ya 4: Kuweka Usindikaji IDE

Kuweka Utayarishaji wa IDE
Kuweka Utayarishaji wa IDE
  1. Pakua na usakinishe Usindikaji IDE 2.2.1
  2. Toa ZIP iliyopewa hapo juu kwa MyDocuments / Processing / Maktaba
  3. Sasa fungua IDE ya usindikaji na angalia maktaba imewekwa kwa usahihi au la kama ilivyo kwenye picha hapo juu
  4. Kisha Nakili nambari hapa chini ili usindikaji na uipe jina lako mwenyewe

kuagiza de.bezier.data.sql. *; kuagiza usindikaji.serial. *; // kuagiza java.math. BigInteger;

// iliyoundwa 2005-05-10 na fjenett

// ilisasishwa fjenett 20080605

Uunganisho wa MySQL;

Kamba s = ""; int Wheight = 700; upana wa upana = 1200; kitambulisho kirefu; ishara ya int; Kiasi; int Jumla = 0;

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

mwisho = 10; // nambari ya 10 ni ASCII kwa laini (mwisho wa serial.println), baadaye tutatafuta hii kuvunja ujumbe wa mtu binafsi String serial; // tangaza kamba mpya inayoitwa 'serial'. Kamba ni mlolongo wa wahusika (aina ya data inajulikana kama "char") Bandari ya serial; Kamba curr, prev, Jina; PFont f;

kuanzisha batili ()

Ukubwa wa {// (Wwidth, Wheight); saizi (700, 500); f = kuundaFont ("Arial", 24, kweli); // mfano huu unafikiria kuwa unaendesha seva ya mysql ndani (kwenye "localhost"). // // badilisha - jina la mtumiaji -, - neno kuu - na akaunti yako ya mysql. // Mtumiaji wa kamba = "mzizi"; Kupita kwa kamba = ""; // jina la hifadhidata kutumia // String database = "IOT_Database"; // jina la meza ambayo itaundwa String table = ""; // unganisha kwenye hifadhidata ya seva "localhost" dbconnection = MySQL mpya (hii, "localhost", hifadhidata, mtumiaji, kupita); bandari = mpya Serial (hii, Serial.list () [0], 9600); // kuanzisha kitu kwa kupeana bandari na kiwango cha baud (lazima ifanane na ile ya Arduino) bandari. // kazi kutoka kwa maktaba ya serial ambayo hutupa usomaji wa kwanza, ikiwa tutaanza kusoma katikati ya kamba kutoka Arduino serial = port.readStringUntil (mwisho); // kazi ambayo inasoma kamba kutoka kwa bandari ya serial hadi println na kisha inapeana kamba kwa kutofautisha kwa kamba (inayoitwa 'serial') serial = null; } batili kuteka () {mandharinyuma (255); maandishiFont (f, 24); jaza (0); maandishi ("Jumla ya Kiasi Rs:", 400, 400); maandishi (Jumla, 585, 400); data (); wakati (bandari haipatikani ()> 0) {// ilimradi kuna data inatoka kwa bandari ya serial, isome na uihifadhi serial = port.readStringUntil (mwisho); } ikiwa (serial! = null) {prev = curr; mlezi = a [1]; mgawanyiko = (serial, ','); // safu mpya (inayoitwa 'a') ambayo huhifadhi maadili kwenye seli tofauti (zilizotengwa na koma zilizoainishwa katika programu yako ya Arduino) ikiwa ((curr).sawa (prev)) {//} mwingine {// println ("curr ", curr); // println ("Prev", prev); kazi (); }}}

kazi batili ()

{if (dbconnection.connect ()) {// sasa isome tena // dbconnection.query ("SELECT * from rfid where ID =" + a [0] + ""); wakati (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); ishara = dbconnection.getInt ("tokeni"); Kiasi = dbconnection.getInt ("Kiasi"); } ikiwa (ishara == 0) {println ("Ok"); maandishiFont (f, 54); jaza (255, 0, 0, 160); maandishi ("Bidhaa Isiyojulikana Imegunduliwa", 50, 300); kuchelewa (2000); } vingine ikiwa (ishara == 1) {Jumla = Jumla + Kiasi; dbconnection.query ("sasisha rfid set tokoken = 2 ambapo ID =" + a [0] + ""); println ("Ok"); maandishiFont (f, 24); jaza (255, 0, 0, 160); // maandishi ("Bidhaa Imeongezwa", 10, 30); kuchelewesha (1000); } vingine ikiwa (ishara == 2) {Jumla = Jumla-Kiasi; dbconnection.query ("sasisha rfid set tokoken = 1 ambapo ID =" + a [0] + ""); println ("Ok"); maandishiFont (f, 24); jaza (255, 0, 0, 160); // maandishi ("Bidhaa Imeondolewa", 10, 30); kuchelewesha (1000); } mwingine {} dbconnection.close (); } mwingine {// unganisho limeshindwa! }}

data batili ()

{int nafasi = 100; ikiwa (dbconnection.connect ()) {dbconnection.query ("CHAGUA * kutoka rfid ambapo ishara = 2"); wakati (dbconnection.next ()) {Jina = dbconnection.getString ("Jina"); Kiasi = dbconnection.getInt ("Kiasi"); maandishiFont (f, 24); jaza (0, 0, 255, 160); maandishi (Jina, 10, nafasi); jaza (0, 0, 0, 160); maandishi (Kiasi, 215, nafasi); nafasi = nafasi + 30; }} dbconnection. karibu (); }

Hatua ya 5: Utekelezaji wa Programu

Utekelezaji wa Programu
Utekelezaji wa Programu
Utekelezaji wa Programu
Utekelezaji wa Programu
Utekelezaji wa Programu
Utekelezaji wa Programu
Utekelezaji wa Programu
Utekelezaji wa Programu

Endesha programu kwa kubofya kitufe cha kukimbia usifunge kidirisha cha kidukizo kitaacha utekelezaji na chini ya swala ili kuona data iliyohifadhiwa kwenye MySQL…

Hatua ya 6: Hitimisho

Ningependa kukushukuru kwa kusoma mafunzo yangu. Ningependa kufurahi iwapo utaiona kuwa muhimu na kuacha kitu kama (unachopenda) au kuniuliza chochote kwani inanipa motisha ya kufanya mafundisho haya. jisikie huru kuuliza maswali yoyote ambayo unahitaji kujua…

Furaha ya Usimbaji Arduino…

Ilipendekeza: