Satura rādītājs:
- 1. darbība: iestatiet Arduino un RFID RC-522 (fiziskais savienojums)
- 2. darbība: Arduino kods.,
- 3. darbība: MySQL iestatīšana
- 4. darbība: apstrādes IDE iestatīšana
- 5. darbība: programmas izpilde
- 6. darbība. Secinājums
Video: Vienkārša lielveikalu lietotne, izmantojot RFID RC-522 un Arduino Mega: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Ir labi redzēt jūs, puiši, atkal šeit, manā citā apmācībā, šeit es palīdzēšu jums izveidot vienkāršu lielveikalu lietojumprogrammu, izmantojot RFID RC-522 un Arduino ar apstrādi, lai izveidotu vienkāršu GUI.
Piezīme: nedarbiniet Arduino sērijas monitoru, kamēr tiek palaists apstrādes kods, jo notiks portu konflikts, jo abiem ir jāizmanto viens un tas pats ports
Tev vajag:
- Arduino Mega vai Arduino Uno (es izmantoju Mega)
- RFID-RC522
- 7 džemperu vadi no vīriešu līdz sievietēm
- Dažas personas apliecības (pēc izvēles)
- RFID bibliotēka (obligāti, saite zemāk)
- Wamp serveris
- IDE 2.2.1 apstrāde (neizmantojiet lielāku par to)
- BezierSQLib-0.2.0 bibliotēka apstrādei (lejupielādes saite zemāk)
Pēc tam lejupielādējiet zemāk esošo RFID bibliotēku un pievienojiet to savam Arduino IDE, noklikšķinot uz Skice-> Iekļaut bibliotēku-> Pievienot. Zip bibliotēku failu izvēlnē
1. darbība: iestatiet Arduino un RFID RC-522 (fiziskais savienojums)
vienkārši pievienojiet arduino ar RFID-RC522, kā parādīts iepriekšējā attēlā. Brīdinājums: piegādājiet tikai 3.3V, pretējā gadījumā modulis izdeg
Piespraudiet Uno/Nano un Mega
RC522 MODULIS 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
2. darbība: Arduino kods.,
Nokopējiet zemāk esošo kodu un pēc tam augšupielādējiet to savā Arduino
/*PINOUT: RC522 MODULIS 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*//*Iekļaujiet standarta Arduino SPI bibliotēku */ #include/ *Iekļaut RFID bibliotēku */ #include
/* Definējiet DIO, ko izmanto SDA (SS) un RST (atiestatīšanas) tapām. */
#define SDA_DIO 9 #define RESET_DIO 8
/ * Izveidojiet RFID bibliotēkas gadījumu */
RFID RC522 (SDA_DIO, RESET_DIO); int lasītājs = 0;
anulēts iestatījums ()
{Sērijas sākums (9600); / * Iespējot SPI saskarni */ SPI.begin (); / * Inicializējiet RFID lasītāju */ RC522.init (); }
tukša cilpa ()
{ / * Pagaidu cilpas skaitītājs * / baits i;
/* Vai karte ir atklāta? */
if (RC522.isCard ()) { / * Ja tā, tad iegūstiet tā sērijas numuru * / RC522.readCardSerial ();
/ * Izvadiet sērijas numuru UART */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (lasītājs ++); Sērijas.println (); } kavēšanās (1000); }
3. darbība: MySQL iestatīšana
- Instalējiet Wamp serveri MySQL un konfigurējiet to datu glabāšanai (
- Palaidiet wamp serveropen MySQL konsoli
- izvēlieties datu bāzi
- Pēc tam izveidojiet tabulu saviem datiem
izveidot tabulu rfid (ID int (8), token int (1), Name varchar (20), Amount int (4));
Tagad skatiet šo saiti, lai uzzinātu, kā iegūt savu RFID taga vērtību, un pēc tam izmantojiet zemāk esošo kodu, lai ievietotu datus. Neaizmirstiet aizstāt ID vērtību ar savu RFID taga vērtību
ievietojiet rfid vērtībās (3756178, 1, 'Zīmulis', 20);
izmantojiet marķiera vērtību kā 1, lai pēc taga vērtības pirmās lasīšanas tā automātiski mainītos uz 2, neizmantojiet 0 marķiera vērtībai, lasot karti, kas nav ievietota DB, tā piešķirs 0 un parādīs to kā nezināmu karti..
4. darbība: apstrādes IDE iestatīšana
- Lejupielādējiet un instalējiet apstrādes IDE 2.2.1
- Izvelciet iepriekš norādīto ZIP uz MyDocuments/Processing/Libraries
- Tagad atveriet apstrādes IDE un pārbaudiet, vai bibliotēka ir instalēta pareizi vai nē, kā parādīts iepriekš redzamajā attēlā
- Pēc tam nokopējiet zemāk esošo kodu apstrādei un nosauciet to pats
importēt de.bezier.data.sql.*; importēt processing.serial.*; // importēt java.math. BigInteger;
// izveidots 2005-05-10 ar fjenett
// atjaunināts fjenett 20080605
MySQL dbconnection;
String s = ""; int Rats = 700; int Platums = 1200; garš ID; int žetons; int Summa; int Kopā = 0;
String a = {"NULL", "NULL"};
int end = 10; // skaitlis 10 ir ASCII linefeed (seriāls.println beigas), vēlāk mēs to meklēsim, lai sadalītu atsevišķus ziņojumus String serial; // deklarēt jaunu virkni ar nosaukumu 'sērija'. Virkne ir rakstzīmju secība (datu tips pazīstams kā "char") Sērijas ports; String curr, iepriekšējais, nosaukums; PFonts f;
anulēts iestatījums ()
{// size (Wwidth, Wheight); izmērs (700, 500); f = createFont ("Arial", 24, taisnība); // šajā piemērā tiek pieņemts, ka // mysql serveri izmantojat lokāli (vietnē "localhost"). // // aizstāt-lietotājvārds--,-parole-- ar savu mysql kontu. // String user = "root"; Stīgu caurlaide = ""; // izmantojamās datu bāzes nosaukums // String database = "IOT_Database"; // izveidotās tabulas nosaukums String table = ""; // izveidot savienojumu ar servera "localhost" datubāzi dbconnection = new MySQL (this, "localhost", datu bāze, lietotājs, caurlaide); ports = jauns seriāls (šis, Serial.list () [0], 9600); // inicializējot objektu, piešķirot portu un pārraides ātrumu (jāatbilst Arduino) port.clear (); // funkcija no sērijveida bibliotēkas, kas izmet pirmo lasījumu, ja mēs sāktu lasīt virknes vidū no Arduino serial = port.readStringUntil (end); // funkcija, kas nolasa virkni no seriālā porta līdz println un pēc tam piešķir virkni mūsu virknes mainīgajam (saukta 'seriāls') serial = null; } void draw () {background (255); textFont (f, 24); aizpildīt (0); teksts ("Kopējā summa Rs:", 400, 400); teksts (kopā, 585, 400); dati (); while (port.available ()> 0) {// kamēr ir dati, kas nāk no seriālā porta, izlasiet tos un saglabājiet serial = port.readStringUntil (beigas); } ja (sērija! = null) {prev = curr; curr = a [1]; a = sadalīts (sērijveida, ','); // jauns masīvs (saukts par “a”), kas saglabā vērtības atsevišķās šūnās (atdalītas ar komatiem, kas norādīti jūsu Arduino programmā), ja ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Iepriekšējais", iepriekšējais); funkcija (); }}}
tukša funkcija ()
{if (dbconnection.connect ()) {// tagad izlasiet to atpakaļ // dbconnection.query ("SELECT * no rfid kur ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); marķieris = dbconnection.getInt ("marķieris"); Amount = dbconnection.getInt ("Summa"); } ja (marķieris == 0) {println ("Labi"); textFont (f, 54); aizpildīt (255, 0, 0, 160); teksts ("Konstatēts nezināms priekšmets", 50, 300); kavēšanās (2000); } cits if (marķieris == 1) {Kopā = Kopā+Summa; dbconnection.query ("update rfid set token = 2 kur ID ="+a [0]+""); println ("Labi"); textFont (f, 24); aizpildīt (255, 0, 0, 160); // teksts ("Pievienots vienums", 10, 30); kavēšanās (1000); } cits if (marķieris == 2) {Kopā = Kopā-Summa; dbconnection.query ("update rfid set token = 1 kur ID ="+a [0]+""); println ("Labi"); textFont (f, 24); aizpildīt (255, 0, 0, 160); // teksts ("Vienums noņemts", 10, 30); kavēšanās (1000); } cits {} dbconnection.close (); } cits {// savienojums neizdevās! }}
nederīgi dati ()
{int pozīcija = 100; ja (dbconnection.connect ()) {dbconnection.query ("SELECT * no rfid, kur marķieris = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("Nosaukums"); Amount = dbconnection.getInt ("Summa"); textFont (f, 24); aizpildīt (0, 0, 255, 160); teksts (Vārds, 10, amats); aizpildīt (0, 0, 0, 160); teksts (Summa, 215, pozīcija); pozīcija = pozīcija+30; }} dbconnection.close (); }
5. darbība: programmas izpilde
Palaidiet programmu, noklikšķinot uz pogas Palaist, neaizveriet uznirstošo logu aizvēršana pārtrauks izpildi un zem vaicājuma, lai apskatītu saglabātos datus MySQL …
6. darbība. Secinājums
Vēlos pateikties, ka izlasījāt manu pamācību. Es būtu pateicīgs, ja jūs to uzskatītu par noderīgu un pamestu atzīmi Patīk (iecienītākais) vai pajautātu man kaut ko, jo tas mani motivē darīt šīs pamācības. nekautrējieties uzdot visus jautājumus, kas jums jāzina…
Laimīgu Arduino kodēšanu…
Ieteicams:
Laika tīmekļa lietotne, izmantojot Esp8266: 7 soļi
Laika tīmekļa lietotne, izmantojot Esp8266: SHT 31 ir temperatūras un mitruma sensori, ko izgatavojis Sensirion. SHT31 nodrošina augstu precizitātes līmeni aptuveni ± 2% RH. Mitruma diapazons ir no 0 līdz 100%, un temperatūras diapazons ir no -40 līdz 125 ° C. Tas ir daudz uzticamāks un ātrāks ar
Atskaņojiet dziesmas, izmantojot Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni: 4 soļi
Atskaņot dziesmas ar Arduino, izmantojot ADC, lai PWM Flyback transformatorā vai skaļrunī: Sveiki, puiši, šī ir mana cita pamācības otrā daļa (tas bija daudz grūti). Būtībā šajā projektā esmu izmantojis ADC un taimeri savā Arduino, lai pārvērst audio signālu par PWM signālu. Tas ir daudz vieglāk nekā mana iepriekšējā instrukcija
Vienkārša IOS lietotne BLE moduļiem: 4 soļi
Vienkārša IOS lietotne BLE moduļiem: šajā pamācībā aprakstīts, kā jūs varat izveidot iOS lietotni ar ļoti pamatfunkcijām. Šī pamācība neizies visu iOS BLE lietotnes izveides procesu. Tas sniegs tikai augsta līmeņa pārskatu par dažiem svarīgiem elementiem ar
Vienkārša vienkārša mājasdarbu mašīna: 4 soļi (ar attēliem)
Vienkārša vienkārša mājasdarbu mašīna: šī mašīna ir veidota, izmantojot lētus materiālus, un tās būvniecība nepārsniedz 7 USD. Lai to izveidotu, jums ir nepieciešama pacietība un 2 stundas laika. Un jums ir jāzina lodēšana un elektroinstalācija, jo tas ietver nelielu ķēdi. Kad tas ir uzbūvēts, vienkārši pievienojiet to
Datuma un laika ievadīšana lietotnē Blynk, izmantojot Wemos D1 Mini Pro: 10 soļi
Datuma un laika pārsūtīšana uz lietotni Blynk, izmantojot Wemos D1 Mini Pro: Mēs izmantosim Wemos D1 Mini Pro, lai paātrinātu laiku & datumu lietotnē Blynk. Lai veiktu šo darbību, jums nebūs jāpievieno komponenti Wemos D1 Mini Pro