Hace mucho que no escribo nada,, ya que estuve muy ocupado con el trabajo, y luego las fiestas y las vacaciones,
Any way,, hace poco me llego un modulo RFID por SPI que habia comprado y me puse a probarlo,
Para ello utilce tambien un display LCD de 16x2 al cual le agregue un conversor a I2C, de esta manera lo controlamos solo con dos hilos (SDA, SCL), pines A4 y A5 en el Arduino uno.
El modulo RFID es un RC522
Algunas imagenes mas:
En cuanto al codigo,,
Use un ejemplo de la libreria RFID,, y lo modifique para ver los valores leidos en el display, lo cual quedó algo asi:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <RFID.h>
RFID rfid(10,5);
#define I2C_ADDR 0x27 // aca la direccion,, mejor usar el I2C_Scanner !
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
int n = 1;
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.init();
lcd.begin (16,2); // Aca ponen el tipo de LCD, en mi caso, 16x2
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home (); // go home
lcd.print("Lector RFID. v1");
lcd.setCursor (0, 2 );
lcd.print("****************");
delay(3000);
lcd.clear();
}
void loop() {
if (rfid.isCard())
{
Serial.println("Es Una Tarjeta!");
if (rfid.readCardSerial()) {
Serial.println(" ");
Serial.println("El numero de serie de la tarjeta es : ");
Serial.print(rfid.serNum[0],HEX);
Serial.print(" , ");
Serial.print(rfid.serNum[1],HEX);
Serial.print(" , ");
Serial.print(rfid.serNum[2],HEX);
Serial.print(" , ");
Serial.print(rfid.serNum[3],HEX);
Serial.print(" , ");
Serial.print(rfid.serNum[4],HEX);
Serial.println(" ");
}
}
lcd.setCursor (0, 0);
lcd.print("**Tarjeta S/N:**");
lcd.setCursor (0, 1);
lcd.print(rfid.serNum[0],HEX);
lcd.setCursor (3, 1);
lcd.print(rfid.serNum[1],HEX);
lcd.setCursor (6, 1);
lcd.print(rfid.serNum[2],HEX);
lcd.setCursor(9, 1);
lcd.print(rfid.serNum[3],HEX);
lcd.setCursor(12, 1);
lcd.print(rfid.serNum[4],HEX);
}
Y el video de como queda funcionando:
Espero escribir mas seguido,
Saludos!

No hay comentarios.:
Publicar un comentario