rfid

12
CECYTEM Plantel Tecamac Técnico en programación Sistemas Operativos Componente: RFID Integrantes: Lizbeth Yesenia Pérez Martínez Iván Antonio Corona Bernal Brenda Arlett Nava González Hugo Pereida Saucedo Lizbeth Vázquez Ramírez Paulina Juárez Ruiz Arleth Alberto Barrera Isabel Guadalupe González Cruz Profesor: Rene Domínguez Escalona

Upload: plata17

Post on 28-Jul-2015

74 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Rfid

CECYTEM Plantel Tecamac

Técnico en programación

Sistemas Operativos

Componente: RFID

Integrantes:

Lizbeth Yesenia Pérez Martínez Iván Antonio Corona Bernal Brenda Arlett Nava González Hugo Pereida Saucedo Lizbeth Vázquez Ramírez Paulina Juárez Ruiz Arleth Alberto Barrera Isabel Guadalupe González Cruz

Profesor: Rene Domínguez Escalona

OBJETIVO: El objetivo es dar a conocer el componente de arduino RFID y poner en práctica los conocimientos ya

Page 2: Rfid

aprendidos para programarlo y que tenga un buen funcionamiento.

Introducción

En este apartado se presenta un proyecto el consiste hacer que funcione el RFid, junto con los siguientes componentes pantalla LSD, Servo motor, led, cables y el protoboard claramente esta que se tiene que utilizar el arduino uno para poder sacar adelante este mismo.

Se hizo un código para programar todos los componentes en el cual cuando ya se conecta todo este, lo que realiza es que cuando se pasa la tarjeta o el llavero que son las piezas con el que cuenta el RFid se encienda un led y que cuando se pase la tarjeta se cambie al otro.

Bueno a comparación de otros proyectos aunque sí estuvo algo complejo se pudo llegar al objetivo que se tenía en mente gracias al arduino sin duda fue un proyecto muy interesante y es impresiónate lo que llegan a hacer unos componentes que se ven tan simples pero tienen una gran importancia en la vida de los programadores.

MATERIALES

pantalla LSD

Page 3: Rfid

Servo motor placa de arduino uno 2 leds proto board RFID Cables

DIAGRAMA EN FRITZING

Código

#include <MFRC522.h>

Page 4: Rfid

#include <SPI.h>#include <Servo.h>#include <Wire.h> #include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); Servo myservo; int pos=0;/*Pins SPI UNO 1 (NSS) SAD (SS) 10 2 SCK 13 3 MOSI 11 4 MISO 12 5 IRQ * 6 GND GND 7 RST 5 8 +3.3V (VCC) 3V3 * Not needed1 on ICPS header*/#define SAD 10#define RST 9MFRC522 nfc(SAD, RST);#define ledPinAbierto 5#define ledPinCerrado 6

void setup() { myservo.attach(3); lcd.begin(16,2); pinMode(ledPinAbierto , OUTPUT); pinMode(ledPinCerrado, OUTPUT); SPI.begin(); Serial.begin(115200); Serial.println("BUSCANDO MFRC522."); nfc.begin(); byte version = nfc.getFirmwareVersion(); if (! version) { Serial.print("NO SE ENCONTRO MFRC522 "); while(1); //halt } myservo.write(180); Serial.print("BUSCANDO CHIP MFRC522 ");

Page 5: Rfid

Serial.print("FIRMWARE VERSION. 0x"); Serial.print(version, HEX); Serial.println(".");}

#define TARJETA 1 #define LLAVE 1 //CLAVE DE LA TAJETAbyte Autorizado[TARJETA][6] = {{0xD7, 0xE9, 0x7E, 0xB5, 0xFF, 0xFF, }};// CLAVE DEL LLAVERObyte Autorizado2[LLAVE][6] = {{0x83, 0x10, 0xF6, 0xE2, 0xFF, 0xFF, }}; void imprimeClave(byte *serial);boolean esIgual(byte *key, byte *serial);boolean chekaKey(byte *serial);

void loop() { lcd.setCursor(0,0); lcd.print("A.S.O Grupo 503"); lcd.setCursor(0,1); lcd.print("CERRADO "); byte status; byte data[MAX_LEN]; byte serial[5]; boolean Abierto = false; digitalWrite(ledPinAbierto, Abierto); digitalWrite(ledPinCerrado, !Abierto); status = nfc.requestTag(MF1_REQIDL, data); myservo.write(180); if (status == MI_OK) { status = nfc.antiCollision(data); memcpy(serial, data, 5); if(chekaKey(serial)){ Serial.println("NO AUTORIZADO"); imprimeClave(serial); lcd.setCursor(0,1); lcd.print("NO AUTORIZADO "); Abierto = false ; }else{ imprimeClave(serial); lcd.setCursor(0,1); lcd.print(" AUTORIZADO ");

Page 6: Rfid

Serial.println(" AUTORIZADO"); Abierto = true; myservo.write(90); } nfc.haltTag(); digitalWrite(ledPinAbierto, Abierto); digitalWrite(ledPinCerrado, !Abierto); delay(2000); } delay(500);}boolean esIgual(byte *key, byte *serial){ for (int i = 0; i < 4; i++){ if (key[i] != serial[i]){ return false; } } return true; }boolean chekaKey(byte *serial){ for(int i = 0; i<TARJETA; i++) { if(esIgual(serial, Autorizado[i])) return true; } for(int i = 0; i<LLAVE; i++) { if(esIgual(serial, Autorizado2[i])) return true; } return false;}void imprimeClave(byte *serial){ Serial.print("CLAVE: "); for (int i = 0; i < 4; i++) { Serial.print(serial[i], HEX); Serial.print(" "); }}

Page 7: Rfid

DESCRIPCIÓN DEL FUNCIONAMIENTO

El rfid es un componente que sirve para dar permiso a otros por ejemplo cuando pasamos el llavero o la tarjeta se va activar y de acuerdo a que otros componentes lo conectaste este automáticamente se prendera y tu puedes interactuar el código para que le digas un cierto tiempo que va activado y así solo se desactive.

El rfid va a ir conectado al protoboard y al arduino para poder esparcirse. Una vez conectado vamos a conectar la lcd

La pantalla prendera y tendrá un mensaje, el servo va a girar de 0 a 90 grados, cuando el llavero se coloque arriba del RFid uno de los led va aprender y cuando se coloque la tarjeta blanca cambiara de color otro de los leds que se colocaron.

EVIDENCIA

Page 8: Rfid

Conclusiones:

Brenda Arlett nava González

Al realizar este proyecto pude aprender a configurar el RFID, ya que este componente nuca lo había manejado y tampoco tenía ni idea de cómo se utilizaba, es un componente muy útil, y es más complejo que otros componentes, con este componente se pueden control otros, conectados a arduino, el RFID primero lo tenemos que soldar para poderlo utilizar ya que los pines no los trae desde el

Page 9: Rfid

principio y es necesario que se los soldemos, este componente si es un poco más acomplejo pero dedicándole es tiempo y atención necesarios, podemos darnos cuenta que no es tan difícil como parece, y es un componente de mucha utilidad, el cual nos puede funcionar para diversos proyectos.

Iván Antonio Corona Bernal

Con este componente de arduino logre ver cual era su funcionamiento del RFID conectando otros componentes para demostrar que sirve y también aprovechando esto reforzar mas mi conocimiento sobre el arduino y aprender también para ver en que me puede ser útil este conocimiento para poder aplicarlo en otros casos pero ya saber como programarlo y como utilizarlo. También con este componente se tiene que aplicar el conocimiento de otros componentes para poder conectarlos y usarlos sin problemas.

Lizbeth Yesenia Pérez Martínez

Con este componente pude aprender a programarlo ya que no lo habíamos utilizado y es un componente muy complejo el cual lo podemos conectar a otros componentes y de esta manera saber su funcionamiento y lo útil que es para utilizarlo de diferentes maneras. También con este componente pude obtener más conocimientos ya que es un componente nuevo que no lo había utilizado.

Paulina Juarez Ruiz

Este componente estuvo algo complejo ya que se tenía que usar varios componentes del arduino para poder lograr que este funcionara y lo que estuvo algo más difícil fue poder encontrar el código ya que como se utilizaron varios componentes se tenía que ocupar el de cada uno para que cada componente pudiera funcionar y mas que todos al mismo tiempo.

Y aunque sí estuvo difícil fue interesante lograr el objetivo al que se quería llegar ya que estuvo interesante que con solo pasar algo sobre la placa se apague o prendieran los leds.

Hugo Pereida Saucedo

Con este trabajo supe manipular este componente que se llama RFID al igual trabajamos con la Pantalla LCD, el servomotor, leds y el arduino entendí como trabaja cada uno al emplear este proyecto y para esto lo que se hizo es programarlo desde un código que a mi parecer estaba un poco complicado también empleamos su diagrama de conexión para que asi funcionara y asi reforcé mis conocimientos que tema sobre el arduino

Arleth Alberto Barrera

Page 10: Rfid

Me pareció muy importante realizar lo que es este componente y , su conjunto para así saber cómo realizar un prototipo de una puerta en la cual con la tarjeta u llavero puedes tener acceso , es muy importante saber esto porque así tu prototipo de casa está más asegurada , y a la misma vez me pareció muy bueno saber más acerca del código por que sin él no lo hubiéramos hecho funcionar. Y aun que fueron muchas conexiones, sabiendo llevar un orden todo se puede lograr.