Taula de continguts:
- Pas 1: Configuració d'Arduino i RFID RC-522 (connexió física)
- Pas 2: Codi Arduino.,
- Pas 3: Configuració de MySQL
- Pas 4: Configuració de l'IDE de processament
- Pas 5: execució del programa
- Pas 6: Conclusió
Vídeo: Aplicació senzilla de supermercat amb RFID RC-522 i Arduino Mega: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
És bo tornar-vos a veure, aquí, en un altre tutorial, aquí us ajudaré a crear una senzilla aplicació de supermercat amb RFID RC-522 i Arduino amb Processament per crear una interfície gràfica d’usuari senzilla.
Nota: no executeu el monitor sèrie Arduino mentre s'executa el codi de processament perquè es produirà un conflicte de ports ja que tots dos han d'utilitzar el mateix port
Necessites:
- Arduino Mega o Arduino Uno (he utilitzat Mega)
- RFID-RC522
- 7 cables de pont masculí a femení
- Alguns DNI (opcional)
- Biblioteca RFID (obligatori, enllaç a continuació)
- Servidor Wamp
- Processament IDE 2.2.1 (no utilitzeu més que això)
- Biblioteca BezierSQLib-0.2.0 per al seu processament (descarregar l'enllaç següent)
A continuació, descarregueu la biblioteca RFID de sota i afegiu-la al vostre IDE Arduino fent clic a Sketch-> Include Library-> Add. Zip Library al menú de fitxers
Pas 1: Configuració d'Arduino i RFID RC-522 (connexió física)
simplement connecteu l'arduino amb RFID-RC522 tal com es mostra a la imatge anterior.
Pin Out per a Uno / Nano i Mega
M5DUL RC522 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
Pas 2: Codi Arduino.,
Copieu el codi següent i pengeu-lo al vostre Arduino
/ * PINOUT: M5DUL RC522 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 * / / * Inclou la biblioteca estàndard Arduino SPI * / #include / * Inclou la biblioteca RFID * / #include
/ * Definiu el DIO utilitzat per als pins SDA (SS) i RST (reset). * /
#define SDA_DIO 9 #define RESET_DIO 8
/ * Creeu una instància de la biblioteca RFID * /
RFID RC522 (SDA_DIO, RESET_DIO); int reader = 0;
configuració nul·la ()
{Serial.begin (9600); / * Activeu la interfície SPI * / SPI.begin (); / * Inicialitzeu el lector RFID * / RC522.init (); }
bucle buit ()
{/ * Comptador de bucle temporal * / byte i;
/ * S'ha detectat una targeta? * /
if (RC522.isCard ()) {/ * Si és així, obteniu el seu número de sèrie * / RC522.readCardSerial ();
/ * Envieu el número de sèrie a la UART * / per a (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (lector ++); Serial.println (); } retard (1000); }
Pas 3: Configuració de MySQL
- Instal·leu el servidor Wamp per a MySQL i configureu-lo per emmagatzemar dades (
- Executeu la consola MySQL de servidor wamp
- seleccioneu la base de dades
- A continuació, creeu la taula per a les vostres dades
crear taula rfid (ID int (8), token int (1), Nom varchar (20), Quantitat int (4));
Ara vegeu aquest enllaç per obtenir informació sobre com obtenir el valor de l’etiqueta RFID i, a continuació, utilitzeu el codi següent per inserir dades. No oblideu substituir el valor d’identificació pel valor de l’etiqueta RFID.
inseriu en valors RFID (3756178, 1, "Llapis", 20);
utilitzeu el valor de token com a 1 de manera que després de llegir el valor de l’etiqueta per primera vegada canviarà automàticament a 2, no utilitzeu 0 com a valor de testimoni quan llegiu la targeta que no s’insereix a la base de dades, assignarà 0 i el mostrarà com a targeta desconeguda..
Pas 4: Configuració de l'IDE de processament
- Descarregueu i instal·leu l'IDE de processament 2.2.1
- Extreu el codi postal anterior indicat a MyDocuments / Processament / Biblioteques
- Ara obriu l'IDE de processament i comproveu que la biblioteca estigui instal·lada correctament o no com a la imatge anterior
- A continuació, copieu el codi següent al processament i nomeneu-lo pel vostre compte
import de.bezier.data.sql. *; import processing.serial. *; // importar java.math. BigInteger;
// creat el 2005-05-05 per fjenett
// actualitzat fjenett 20080605
Connexió db MySQL;
Cadena s = ""; int Pes = 700; int Amplada = 1200; identificació llarga; int token; int Quantitat; int Total = 0;
Cadena a = {"NULL", "NULL"};
int final = 10; // el número 10 és ASCII per linefeed (final de serial.println), més endavant cercarem això per trencar missatges individuals Cadena serial; // declarar una nova cadena anomenada "sèrie". Una cadena és una seqüència de caràcters (tipus de dades coneguts com a "char") Port sèrie; String curr, prev, Nom; PFont f;
configuració nul·la ()
{// mida (amplada, pes); mida (700, 500); f = createFont ("Arial", 24, cert); // aquest exemple suposa que executeu el // servidor mysql localment (a "localhost"). // // substituïu --username--, --password-- pel vostre compte mysql. // String user = "root"; String pass = ""; // nom de la base de dades a utilitzar // String database = "IOT_Database"; // nom de la taula que es crearà Taula de cadenes = ""; // connectar-se a la base de dades del servidor "localhost" dbconnection = MySQL nou (això, "localhost", base de dades, usuari, pass); port = new Serial (this, Serial.list () [0], 9600); // inicialitzar l’objecte assignant un port i una velocitat de transmissió (ha de coincidir amb la d’Arduino) port.clear (); // funció de la biblioteca de sèries que llança la primera lectura, en cas que comencem a llegir al centre d'una cadena d'Arduino serial = port.readStringUntil (final); // funció que llegeix la cadena des del port sèrie fins a imprimir i, a continuació, assigna la cadena a la nostra variable de cadena (anomenada 'serial') serial = null; } void draw () {background (255); textFont (f, 24); omplir (0); text ("Import total Rs:", 400, 400); text (total, 585, 400); data (); while (port.available ()> 0) {// sempre que hi hagi dades provinents del port sèrie, llegeix-les i emmagatzema-les serial = port.readStringUntil (final); } if (sèrie! = nul) {prev = curr; curr = a [1]; a = split (serial, ','); // una nova matriu (anomenada 'a') que emmagatzema valors en cel·les separades (separades per comes especificades al programa Arduino) si ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Anterior", prev); function (); }}}
funció buida ()
{if (dbconnection.connect ()) {// ara el torneu a llegir // dbconnection.query ("SELECT * de rfid on ID =" + a [0] + ""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("testimoni"); Quantitat = dbconnection.getInt ("Quantitat"); } if (token == 0) {println ("Ok"); textFont (f, 54); farcit (255, 0, 0, 160); text ("Element desconegut detectat", 50, 300); endarreriment (2000); } else if (testimoni == 1) {Total = Total + Import; dbconnection.query ("actualitza el símbol de rfid establert = 2 on ID =" + a [0] + ""); println ("Ok"); textFont (f, 24); farciment (255, 0, 0, 160); // text ("Article afegit", 10, 30); retard (1000); } else if (testimoni == 2) {Total = Import-total; dbconnection.query ("actualitza el símbol de rfid establert = 1 on ID =" + a [0] + ""); println ("Ok"); textFont (f, 24); farcit (255, 0, 0, 160); // text ("Article eliminat", 10, 30); retard (1000); } else {} dbconnection.close (); } else {// connexió fallida! }}
dades nul·les ()
{int posició = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * de rfid on token = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("Nom"); Quantitat = dbconnection.getInt ("Quantitat"); textFont (f, 24); farcit (0, 0, 255, 160); text (nom, 10, posició); omplir (0, 0, 0, 160); text (Quantitat, 215, posició); posició = posició + 30; }} dbconnection.close (); }
Pas 5: execució del programa
Executeu el programa fent clic al botó d'execució i no tanqueu el tancament de la finestra emergent que s'aturarà l'execució i, a continuació, feu una consulta per veure les dades emmagatzemades a MySQL …
Pas 6: Conclusió
M’agradaria donar-vos les gràcies per llegir el meu tutorial. Agrairia que el trobéssiu útil i deixés un comentari (favorit) o em demaneu alguna cosa, ja que em manté motivat per fer aquests instructius. no dubteu a fer qualsevol pregunta que necessiteu saber …
Codificació feliç Arduino …
Recomanat:
Feu una aplicació senzilla per al vostre telèfon intel·ligent (no cal codificar): 10 passos
Feu una aplicació senzilla per al vostre telèfon intel·ligent (no cal codificar): ACTUALITZACIÓ: aquesta tècnica està obsoleta, ara hi ha altres maneres de crear una aplicació. Pot ser que això ja no funcioni. La meva primera aplicació publicada està disponible per descarregar-la a l'aplicació Android. Comercialitzar aquí. El següent és un tutorial ràpid sobre com pràcticament qualsevol
Cotxe Arduino amb tracció a les quatre rodes Bluetooth amb cotxe UNO R3, HC-05 i L293D amb codificació i aplicació per a Android: 8 passos
Cotxe RC Bluetooth Arduino de 4 rodes amb motor UNO R3, HC-05 i L293D amb aplicació per a codificació i Android: Avui us explicaré com fer un cotxe RC bluetooth amb tracció a les 4 rodes amb HC 05, blindatge del motor L293, Motor de 4 CC, amb codificació i aplicació per a Android per controlar el cotxe. Component utilitzat: -1-Arduino UNO R32-Bluetooth HC-053-Motorshield L293
Com fer una estació meteorològica senzilla amb Arduino: 6 passos (amb imatges)
Com fer una estació meteorològica senzilla amb Arduino: Hola nois, en aquest instructiu us explicaré com fer una estació meteorològica senzilla per detectar la temperatura i la humitat mitjançant el sensor DHT11 i Arduino, les dades detectades es mostraran a la pantalla LCD. Abans de començar aquest instructiu, ho heu de saber
Pantalla Ergòmetre senzilla basada en Arduino amb retroalimentació diferencial: 7 passos (amb imatges)
Pantalla senzilla d'ergòmetre basada en Arduino amb retroalimentació diferencial: l'entrenament cardiovascular és avorrit, sobretot quan es fa exercici a l'interior. Diversos projectes existents intenten pal·liar-ho fent coses interessants, com ara acoblar l'ergòmetre a una consola de jocs, o fins i tot simular un viatge en bicicleta real en realitat virtual. Emocionant com aquests
Com crear una aplicació senzilla d'agenda telefònica C #: 7 passos
Com crear una aplicació senzilla d'agenda telefònica C #: Hola, sóc Luke, és el meu primer instructable. Vull mostrar-vos com crear una aplicació senzilla d’agenda telefònica a Microsoft Visual Studio mitjançant C #. És bo tenir uns coneixements bàsics de programació abans de fer aquest projecte. Comencem. Nosaltres