Mostrando las entradas con la etiqueta control de acceso. Mostrar todas las entradas
Mostrando las entradas con la etiqueta control de acceso. Mostrar todas las entradas

jueves, 23 de enero de 2014

RFID SPI y LCD 16x2 I2C

Buenas,


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:






Bueno, eso fue todo por hoy!

Espero escribir mas seguido,


Saludos!