Escuela superior de ingeniería
automotriz
Proyecto de Electrónica Básica 1
Corta corriente con sensor RFID
INTEGRANTES:
GONZALEZ SANCHES LUIS FERNADO
MELENDEZ VAZQUEZ ANGEL MAUEL
BARRERA RUBIO JOSUE TRINIDAD
Índice
INTRODUCCION..............................................................................................................................3
OBJETIVO DEL PROYECTO...............................................................................................................4
ANTECEDENTES HISTORICOS..........................................................................................................5
MATERIAL A UTILIZAR....................................................................................................................7
Desarrollo.......................................................................................................................................8
Diseño final....................................................................................................................................9
Resultado y final...........................................................................................................................10
INTRODUCCION
RFID o identificación por radiofrecuencia es un sistema de almacenamiento y
recuperación de datos remoto que usa dispositivos denominados etiquetas,
tarjetas RFID. El propósito fundamental de la tecnología RFID es transmitir la
identidad de un objeto (similar a un número de serie único) mediante ondas de
radio. Las tecnologías RFID se agrupan dentro de las denominadas Auto ID
(identificación automática). El RFID se va a planear que con la tarjeta pueda
hacer función de una corta corriente para un vehículo ya que se le pasa la tarjeta
por el sensor pueda activar o conectar la corriente para poder dar funcionamiento
al vehículo por medio de un relay, Arduino uno y la programación adecuada
OBJETIVO DEL PROYECTO
El objetivo de este proyecto es poder aprender como adaptar una
programación para poder hacer la actividad que necesites,
también poner en practica las conexiones y los tipos de riesgos
que puedas tener durante su desarrollo.
ANTECEDENTES HISTORICOS
RFID o identificación por radiofrecuencia (del inglés Radio Frequency
Identification) es un sistema de almacenamiento y recuperación de datos remoto
que usa dispositivos denominados etiquetas, tarjetas o transpondedores RFID. El
propósito fundamental de la tecnología RFID es transmitir la identidad de un objeto
(similar a un número de serie único) mediante ondas de radio. Las tecnologías
RFID se agrupan dentro de las denominadas Auto ID (automatic identification, o
identificación automática).
Las etiquetas RFID (RFID tag en inglés) son unos dispositivos pequeños, similares
a una pegatina, que pueden ser adheridas o incorporadas a un producto, un
animal o una persona. Contienen antenas para permitirles recibir y responder a
peticiones por radiofrecuencia desde un emisor-receptor RFID. Las etiquetas
pasivas no necesitan alimentación eléctrica interna, mientras que las activas sí lo
requieren.1 Una de las ventajas del uso de radiofrecuencia (en lugar, por ejemplo,
de infrarrojos) es que no se requiere visión directa entre emisor y receptor.
La tecnología usada en RFID habría existido desde comienzos de los años 1920,
desarrollada por el MIT.3
Una tecnología similar, el transpondedor de IFF, fue inventada por los británicos
en 1939, y fue utilizada de forma rutinaria por los aliados en la Segunda Guerra
Mundial para identificar los aeroplanos como amigos o enemigos.4
El endovibrador desarrollado en la URSS en 1945 por Léon Theremin está
considerado como un precursor de los sistemas de RFID, aunque dispositivo de
Theremin era un dispositivo de escucha secreto pasivo, no una etiqueta de
identificación, por lo que esta aplicación es dudosa.
Otro trabajo temprano que trata el RFID es el artículo de 1948 de Harry Stockman,
titulado Comunicación por medio de la energía reflejada (Actas del IRE, pp. 1196-
1204, octubre de 1948). Stockman predijo que "... el trabajo considerable de
investigación y de desarrollo tiene que ser realizado antes de que los problemas
básicos restantes en la comunicación de la energía reflejada se solucionen, y
antes de que el campo de aplicaciones útiles se explore". Hicieron falta treinta
años de avances en multitud de campos diversos antes de que RFID se convirtiera
en una realidad.5
Según algunas fuentes,3 (fuente que establece que los sistemas RFID han
existido desde finales de los años 1960 y que solo recientemente se había
popularizado gracias a las reducciones de costos).
MATERIAL A UTILIZAR
protoboard
Arduino uno
Sensor RFID
Cable macho hembra
Cable hembra
Luz leds
Resistencias
Relay
Desarrollo
Durante el desarrollo de este proyecto se hicieron
investigaciones sobre los ejemplos de proyectos similares con el
sensor RFID para poder hacer una buena conexión y hacer que
funcione el programa y haga la función por medio de una luz leds.
Ya teniendo la funcionalidad se pasa a instalar a un vehículo
haciendo conexión por medio de un relay y conectándolo con el
vehículo.
Codigo de Arduino
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 // Configuramos el pin del reset del módulo RC522
#define SS_PIN 10 // Configuramos el pin del SS del módulo RC522
MFRC522 mfrc522(SS_PIN, RST_PIN); // Creamos instancia del módulo MFRC522
byte LeyendoUID[4]; //Declaramos el arreglo para los datos leídos
byte Usuario1[4]= {0xC0, 0xC9, 0xB8, 0x4F} ; //Declaramos el arreglo y asignamos los datos
//de la tarjeta para el primer usuario
byte Usuario2[4]= {0x9A, 0xB0, 0x83, 0xCB} ; //Declaramos el arreglo y asignamos los datos
//de la tarjeta para el segundo usuario
char *cadenavent[]={"Ventilador encendido", "Ventilador apagado"}; //Declaramos el arreglo
para las respuestas
//que se mandaran al monitor serie
char *cadenalampara[]={"Lámpara encendida", "Lámpara apagada"}; //Declaramos el arreglo
para las respuestas
//que se mandaran al monitor serie
int ii = 0; //Declaramos las variables que serán nuestro control
int oo = 0; //de estados para determinar apagado o encendido en los textos de la
cadena
#define Ventilador 7 //Definimos el pin 7 de arduino como contacto para el ventilador
#define Lampara 7 //Definimos el pin 6 de arduino como contacto para la lämpara
boolean encendido = false; //Declaramos las variables que serán el control
boolean encendida = false; //de los estados para determinar apagado o encendido del
ventilador
void setup() {
pinMode (Ventilador, OUTPUT); //Definimos el modo del pin asignado para el ventilador
como salida
pinMode (Lampara, OUTPUT); //Definimos el modo del pin asignado para la lámpara
como salida
[Link](9600); //Iniciamos la velocidad de la comunicación serial
[Link](); //Iniciamos la libreria SPI
mfrc522.PCD_Init(); //Iniciamos la instancia del módulo RC522 creado anteriormente
[Link]("Esperando tarjeta"); //Mandamos información al monitor serie para saber que
el dispositivo
//esta en operación
void loop() {
if( ! mfrc522.PICC_IsNewCardPresent()) //Validamos que no exista una nueva tarjeta en el
lector y salimos de la función
return;
if( ! mfrc522.PICC_ReadCardSerial()) //Validamos que no haya información de ninguna tarjeta
leida y salimos de la función
return;
[Link]("UID:"); //Mandamos información al monitor serie como encabezado
de la tarjeta leida
for (byte i = 0; i < [Link]; i++){ //Utilizamos el ciclo for para validar la información
//desde cero hasta el tamaño detectado de la tarjeta leida
if ([Link][i] < 0x10){ //comparamos byte por byte menores al numero 10
hexadecimal
[Link](" 0"); //si es menor manda al monitor un espacio y un cero para dar
//presentación a la información leida
}
else{
[Link](" "); //si es mayor manda al monitor un espacio para dar
//presentación a la información leida
[Link]([Link][i], HEX); //manda al monitor la información del byte leido en
hexadecimal
LeyendoUID[i] = [Link][i]; //asignamos los valores leidos sucesivamente de la
instancia en
//la variable de almacenamiento
[Link]("\t"); //manda un tabulador al monitor
if (validaUID(LeyendoUID, Usuario1)){ //compara la cadena leida con la cadena almacenada
en el usuario1
[Link](cadenavent[ii]); //manda el estado del ventilador al monitor serial
digitalWrite(Ventilador,! encendido); //cambia el estado del pin del ventilador a su inverso
encendido = ! encendido; //almacena el valor de la variable encendido a su inverso
if(ii != 0){ //compara que el valor almacenado en la variable ii sea diferente de
cero
ii=0; //asigna el valor de cero a la variable ii
else{
ii=1; //asigna el valor de uno a la variable ii
else if(validaUID(LeyendoUID, Usuario2)){ //compara la cadena leida con la cadena
almacenada en el usuario2
[Link](cadenalampara[oo]); //manda el estado de la lámpara al monitor serial
digitalWrite(Lampara,! encendida); //cambia el estado del pin de la lámpara a su inverso
encendida = ! encendida; //almacena el valor de la variable encendida a su inverso
if(oo != 0){ //compara que el valor almacenado en la variable oo sea diferente
de cero
oo=0; //asigna el valor de cero a la variable oo
else{
oo=1; //asigna el valor de uno a la variable ii
else{
[Link]("Usuario no registrado"); //en caso de no existir igualdad con el usuario1 o con
el usuario2
//manda el mensaje de que el usuario no esta registrado al monitor
mfrc522.PICC_HaltA(); //finaliza la instancia creada del mfrc522
boolean validaUID(byte leido[], byte usuario[]) //función para hacer la validación entre lo
ingresado en el lector
//y lo almacenado en la memoria del arduino
for (byte i=0; i < [Link]; i++){ //Utilizamos el ciclo for para validar la información
//desde cero hasta el tamaño detectado de la tarjeta leida
if (leido[i] != usuario[i]) //Si los datos no son diferentes devuelve false, si los datos
return(false);
return(true); //Si los datos son diferentes devuelve verdadero
Diseño final.
Resultado y final.