Orodha ya maudhui:
- Hatua ya 1: Kuanzisha Arduino na RFID RC-522 (Uunganisho wa Kimwili)
- Hatua ya 2: Msimbo wa Arduino.,
- Hatua ya 3: Kuanzisha MySQL
- Hatua ya 4: Kuweka Usindikaji IDE
- Hatua ya 5: Utekelezaji wa Programu
- Hatua ya 6: Hitimisho
Video: Programu rahisi ya Duka Kuu Kutumia RFID RC-522 na Arduino Mega: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
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:
- Arduino Mega au Arduino Uno (nilitumia Mega)
- RF-RC522
- Waya 7 za kuruka kiume hadi kike
- Baadhi ya vitambulisho (hiari)
- Maktaba ya RFID (Lazima, Unganisha Chini)
- Seva ya Wamp
- Inasindika IDE 2.2.1 (usitumie kubwa kuliko hiyo)
- 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)
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
- Sakinisha seva ya Wamp kwa MySQL na uisanidie kuhifadhi data (
- Endesha seva ya wamp kufungua dashibodi ya MySQL
- chagua hifadhidata
- 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
- Pakua na usakinishe Usindikaji IDE 2.2.1
- Toa ZIP iliyopewa hapo juu kwa MyDocuments / Processing / Maktaba
- Sasa fungua IDE ya usindikaji na angalia maktaba imewekwa kwa usahihi au la kama ilivyo kwenye picha hapo juu
- 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
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:
Programu rahisi ya nyongeza katika Lugha ya Programu ya Shakespeare: Hatua 18
Programu rahisi ya nyongeza katika Lugha ya Programu ya Shakespeare: Lugha ya Programu ya Shakespeare (SPL) ni mfano wa lugha ya programu ya esoteric, ambayo labda inavutia kujifunza na kufurahisha kuitumia, lakini sio muhimu sana katika matumizi ya maisha halisi. SPL ni lugha ambapo msimbo wa chanzo r
(Ascensor) Mfano wa Elevator Kutumia Arduino, Mvumbuzi wa Programu na Programu Nyingine ya Bure: Hatua 7
(Ascensor) Mfano wa Elevator Kutumia Arduino, Inventor ya App na Programu Nyingine ya Bure: ESPConstrucción, paso ya programu, de un ascensor a escala usando arduino (como controlador del motor y entradas y salidas por bluetooth), mvumbuzi wa programu (para diseño de aplicación como panel ya kudhibiti del ascensor) na freeCAD na LibreCAD kwa ugonjwa.Abajo
Duka la duka la AFM la DIY: Hatua 14 (na Picha)
Duka la duka la DIY AFM: Sasisha: hapa kuna kampuni inayozalisha aina hii ya AFM http://www.stromlinet-nano.com/ Furahiya! Kuna semina ya DIY AFM na mtu mmoja anayependeza kutoka Amerika na profesa mmoja kutoka India. Walikusanya DIY AFM yao wenyewe ndani ya masaa 2 wakati wa kutengeneza
DIY MusiLED, Muziki uliosawazishwa LEDs na Bonyeza mara moja Windows & Linux Maombi (32-bit & 64-bit). Rahisi kujirudia, Rahisi Kutumia, Rahisi kwa Port: 3 Hatua
DIY MusiLED, Muziki uliosawazishwa LEDs na Bonyeza mara moja Windows & Linux Maombi (32-bit & 64-bit). Rahisi kujirudia, Rahisi Kutumia, Rahisi Bandari. Mradi huu utakusaidia kuunganisha LEDs 18 (6 Nyekundu + 6 Bluu + 6 Njano) kwa Bodi yako ya Arduino na uchanganue ishara za wakati halisi wa Kompyuta yako na uzipeleke kwa taa za taa kuziwasha kulingana na athari za kipigo (Mtego, Kofia ya Juu, Kick)
Kuangalia Nzuri, Tochi ya bei rahisi ya Duka la LED: Hatua 5
Kuangalia Nzuri, Tochi ya Duka la bei rahisi ya LED: Kweli, ikiwa yeyote kati yenu ni kama mimi, taa nyingi za LED ni ghali sana. Nilitaka taa ya bei rahisi ya LED ambayo ilionekana nzuri. Kwa hivyo, nilinunua tochi ya $ 1 RCA kutoka Chakula City, na nilikuwa na kichwa cha taa iliyovunjika ya LED. Kwa hivyo, niliamua kuwaweka pamoja. Mzuri