Tabla de contenido:
- Paso 1: Configuración de Arduino y RFID RC-522 (Conexión física)
- Paso 2: Código Arduino.,
- Paso 3: Configurar MySQL
- Paso 4: Configuración del IDE de procesamiento
- Paso 5: Ejecución del programa
- Paso 6: Conclusión
Video: Aplicación de supermercado simple con RFID RC-522 y Arduino Mega: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Es bueno verlos de nuevo aquí en mi otro tutorial, aquí voy a ayudarlos a crear una aplicación de supermercado simple usando RFID RC-522 y Arduino con procesamiento para crear una GUI simple.
Nota: no ejecute el monitor serial Arduino mientras ejecuta el código de procesamiento porque se producirá un conflicto de puerto ya que ambos tienen que usar el mismo puerto
Necesitas:
- Arduino Mega o Arduino Uno (yo usé Mega)
- RFID-RC522
- 7 cables de puente macho a hembra
- Algunas tarjetas de identificación (opcional)
- Biblioteca RFID (obligatorio, enlace a continuación)
- Servidor wamp
- Procesando IDE 2.2.1 (no use más que eso)
- Biblioteca BezierSQLib-0.2.0 para procesamiento (enlace de descarga a continuación)
Luego descargue la biblioteca RFID a continuación y agréguela a su IDE de Arduino haciendo clic en Sketch-> Incluir biblioteca-> Agregar biblioteca. Zip en el menú de archivo
Paso 1: Configuración de Arduino y RFID RC-522 (Conexión física)
simplemente conecte el arduino con RFID-RC522 como se muestra en la imagen de arriba. Advertencia: suministre solo 3.3V, de lo contrario el módulo se quemará
Pin Out para Uno / Nano y Mega
RC522 MÓDULO Uno / Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N / A N / A TIERRA TIERRA TIERRA RST D9 D8 3.3V 3.3V 3.3V
Paso 2: Código Arduino.,
Copie el siguiente código y luego cárguelo en su Arduino
/ * 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 * / / * Incluye la biblioteca estándar Arduino SPI * / #include / * Incluye la biblioteca RFID * / #include
/ * Defina el DIO utilizado para los pines SDA (SS) y RST (reinicio). * /
#define SDA_DIO 9 #define RESET_DIO 8
/ * Crea una instancia de la biblioteca RFID * /
RFID RC522 (SDA_DIO, RESET_DIO); int reader = 0;
configuración vacía ()
{Serial.begin (9600); / * Habilita la interfaz SPI * / SPI.begin (); / * Inicializar el lector RFID * / RC522.init (); }
bucle vacío ()
{/ * Contador de bucle temporal * / byte i;
/ * ¿Se ha detectado una tarjeta? * /
if (RC522.isCard ()) {/ * Si es así, obtenga su número de serie * / RC522.readCardSerial ();
/ * Envía el número de serie a la UART * / para (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (lector ++); Serial.println (); } retraso (1000); }
Paso 3: Configurar MySQL
- Instale el servidor Wamp para MySQL y configúrelo para almacenar datos (
- Ejecute el servidor wamp, abra la consola MySQL
- seleccionar base de datos
- Luego crea la tabla para tus datos
crear tabla rfid (ID int (8), token int (1), Nombre varchar (20), Monto int (4));
Ahora vea este enlace para aprender cómo obtener el valor de su etiqueta RFID y luego use el siguiente código para insertar datos. No olvide reemplazar el valor de identificación con el valor de su etiqueta RFID.
insertar en valores rfid (3756178, 1, 'Lápiz', 20);
use el valor del token como 1 para que después de leer el valor de la etiqueta por primera vez cambie automáticamente a 2, no use 0 para el valor del token cuando lea la tarjeta que no está insertada en la base de datos, asignará 0 y luego la mostrará como Tarjeta desconocida..
Paso 4: Configuración del IDE de procesamiento
- Descargue e instale el IDE de procesamiento 2.2.1
- Extraiga el ZIP dado anteriormente a MyDocuments / Processing / Libraries
- Ahora abra el IDE de procesamiento y verifique que la biblioteca esté instalada correctamente o no como en la imagen de arriba
- Luego, copie el siguiente código para procesarlo y nómbrelo por su cuenta
import de.bezier.data.sql. *; import processing.serial. *; // importar java.math. BigInteger;
// creado 2005-05-10 por fjenett
// actualizado fjenett 20080605
Conexión de base de datos MySQL;
String s = ""; int Wheight = 700; int Wwidth = 1200; identificación larga; int token; int Cantidad; int Total = 0;
String a = {"NULL", "NULL"};
int end = 10; // el número 10 es ASCII para linefeed (final de serial.println), luego lo buscaremos para dividir mensajes individuales String serial; // declara una nueva cadena llamada 'serial'. Una cadena es una secuencia de caracteres (el tipo de datos se conoce como "char") Puerto serie; String curr, prev, Name; PFont f;
configuración vacía ()
{// tamaño (ancho, peso); tamaño (700, 500); f = createFont ("Arial", 24, verdadero); // este ejemplo asume que está ejecutando el // servidor mysql localmente (en "localhost"). // // reemplaza --username--, --password-- con tu cuenta mysql. // String user = "root"; String pass = ""; // nombre de la base de datos a utilizar // String database = "IOT_Database"; // nombre de la tabla que se creará String table = ""; // conectarse a la base de datos del servidor "localhost" dbconnection = new MySQL (this, "localhost", database, user, pass); puerto = nuevo Serial (este, Serial.list () [0], 9600); // inicializando el objeto asignando un puerto y una velocidad en baudios (debe coincidir con la de Arduino) port.clear (); // función de la biblioteca serial que arroja la primera lectura, en caso de que comenzamos a leer en medio de una cadena de Arduino serial = port.readStringUntil (end); // función que lee la cadena desde el puerto serial hasta un println y luego asigna una cadena a nuestra variable de cadena (llamada 'serial') serial = null; } vacío dibujar () {fondo (255); textFont (f, 24); llenar (0); text ("Cantidad total Rs:", 400, 400); texto (Total, 585, 400); datos(); while (port.available ()> 0) {// siempre que haya datos provenientes del puerto serie, léalos y almacénelos serial = port.readStringUntil (end); } if (serial! = null) {prev = curr; curr = a [1]; a = split (serial, ','); // una nueva matriz (llamada 'a') que almacena valores en celdas separadas (separadas por comas especificadas en su programa Arduino) if ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Anterior", anterior); función(); }}}
función de vacío ()
{if (dbconnection.connect ()) {// ahora vuelve a leerlo // dbconnection.query ("SELECT * from rfid where ID =" + a [0] + ""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Cantidad = dbconnection.getInt ("Cantidad"); } if (token == 0) {println ("Ok"); textFont (f, 54); llenar (255, 0, 0, 160); texto ("Elemento desconocido detectado", 50, 300); retraso (2000); } else if (token == 1) {Total = Total + Importe; dbconnection.query ("actualizar rfid set token = 2 donde ID =" + a [0] + ""); println ("Aceptar"); textFont (f, 24); llenar (255, 0, 0, 160); // texto ("Elemento agregado", 10, 30); retraso (1000); } else if (token == 2) {Total = Total-Amount; dbconnection.query ("actualizar rfid set token = 1 donde ID =" + a [0] + ""); println ("Aceptar"); textFont (f, 24); llenar (255, 0, 0, 160); // texto ("Elemento eliminado", 10, 30); retraso (1000); } else {} dbconnection.close (); } else {// ¡la conexión falló! }}
anular datos ()
{int posición = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECCIONAR * de rfid donde token = 2"); while (dbconnection.next ()) {Nombre = dbconnection.getString ("Nombre"); Cantidad = dbconnection.getInt ("Cantidad"); textFont (f, 24); llenar (0, 0, 255, 160); texto (nombre, 10, posición); llenar (0, 0, 0, 160); texto (Cantidad, 215, posición); posición = posición + 30; }} dbconnection.close (); }
Paso 5: Ejecución del programa
Ejecute el programa haciendo clic en el botón Ejecutar, no cierre, el cierre de la ventana emergente detendrá la ejecución y la consulta debajo para ver los datos almacenados en MySQL …
Paso 6: Conclusión
Me gustaría agradecerle por leer mi tutorial. Le agradecería que lo encuentre útil y deje un me gusta (favorito) o me pregunte algo, ya que me mantiene motivado para hacer estos instructivos. no dude en hacer cualquier pregunta que necesite saber …
Feliz codificación de Arduino …
Recomendado:
Cómo hacer un IOT simple con la aplicación Telegram: 5 pasos
Cómo hacer un IOT simple con la aplicación Telegram: En la generación actual, Internet lo es todo. Internet de las cosas juega un papel importante en el mundo actual. Sin perder mucho tiempo, podemos pasar al funcionamiento práctico del IOT. Aquí vamos a controlar el led y también o
APLICACIÓN ANDROID CONTROLADA SIMPLE LÁMPARA DE ESCRITORIO LED RGB: 5 Pasos
APLICACIÓN ANDROID CONTROLADA SIMPLE LÁMPARA DE ESCRITORIO LED RGB: así que en este tutorial le mostraré cómo controlar el LED RGB con un teléfono inteligente Android. Los leds RGB trabajan sobre el concepto básico de combinación de los colores básicos de cualquier tonalidad, es decir, rojo, verde y azul. Todos los colores tienen estos componentes de color elementales
Creación de una aplicación de Android para pequeñas empresas con la aplicación MIT y Google Fusion Table: 7 pasos
Creación de una aplicación de Android para pequeñas empresas con la aplicación MIT y Google Fusion Table: ¿Alguna vez ha querido crear su propia aplicación que puede estar disponible en Google Play Store? Si tiene un negocio, este tutorial cambiará su vida. Después de leer esto detenidamente, podrá crear su propia aplicación. Antes
DIY MusiLED, LED sincronizados con música con una aplicación de Windows y Linux con un clic (32 bits y 64 bits). Fácil de recrear, fácil de usar, fácil de portar: 3 pasos
DIY MusiLED, LED sincronizados con música con una aplicación de Windows y Linux con un solo clic (32 bits y 64 bits). Fácil de recrear, fácil de usar, fácil de portar: este proyecto lo ayudará a conectar 18 LED (6 rojos + 6 azules + 6 amarillos) a su placa Arduino y analizar las señales en tiempo real de la tarjeta de sonido de su computadora y transmitirlas a los LED para iluminarlos según los efectos de ritmo (Snare, High Hat, Kick)
Interfaz RFID-RC522 con Arduino MEGA un boceto simple: 4 pasos
Interfaz RFID-RC522 con Arduino MEGA a Simple Sketch: Hai, en este tutorial voy a ayudarlo con la interfaz RFID-RC522 con Arduino Mega 2560 para leer la RFID y mostrar los datos en el monitor serial. para que pueda extenderlo por su cuenta Necesita: Arduino Mega o Arduino Uno