Բովանդակություն:

Luces RGB Con RFID Y Arduino. 3 քայլ
Luces RGB Con RFID Y Arduino. 3 քայլ

Video: Luces RGB Con RFID Y Arduino. 3 քայլ

Video: Luces RGB Con RFID Y Arduino. 3 քայլ
Video: Programar una tira de LEDs RGB direccionable con Arduino 2024, Նոյեմբեր
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Controlador de luces empleado para el proyecto en conjunto denominado "Escenario de historias interactivas" del curso Video and televisión digital de la Universidad Autónoma de Occidente. El objetivo de este controlador es controlar las luces de día y noche, es decir, controlar la cantidad de luz para hacer una përfaqësación de la zona horario que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Կառուցվածքային սխեմաների կառուցում և անհրաժեշտ բաղադրիչների էլեկտրոնիկա:
  2. Կառուցվածքային համակարգի վերակառուցման համակարգ, որը նախատեսված է համակարգչային ծրագրակազմի միջոցով `վերահսկողության տակ գտնվող լազերի համար:

Օգտագործման նյութեր

  • Protoboard ver
  • Հաշվիչ
  • Arduino UNO ver
  • Սենսոր RFID 522 ver
  • Bateria de 12V
  • Jumpers լարերը ver
  • Տրանզիստոր TIP31 ver
  • Tira led ver

Քայլ 1: Montar El Circuito

Montar El Circuito
Montar El Circuito

Como se observva en la gráfica, el montaje del circuito se hace de esta manera teniendo en cuenta las polaridades de la batería, la tira led consta de 4 մալուխներ, որոնք համապատասխանում են los colores rojo, verde, azul y blanco- ին:

Cada uno de los colores se representan en la gráfica, el color blanco համապատասխանում a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V- ին:

Քայլ 2. Conectar El Módulo RFID

Conectar El Módulo RFID
Conectar El Módulo RFID

Para controlar las luces se hace uso del RFID, donde cada vez que pasemos la tarjeta las luces deben cambiar de color, dependinendo de los colores definidos en el sketch de Arduino.

Քայլ 3: Էսքիզ Arduino

Elրագրային ապահովման իրականացման համար անհրաժեշտ է կատարել էսքիզներ, որոնք պարունակում են ծրագրակազմի կազմաձևում:

#ներառում

#ներառում

#սահմանեք RST_PIN 5 // PIN 9 և RC522 վերականգնելու համար

#սահմանեք SS_PIN 10 // Pin 10 para el SS (SDA) del RC522

MFRC522 mfrc522 (SS_PIN, RST_PIN); /// Creamos el objeto para el RC522

int ledrojo = 1; int ledverde = 2;

int ledazul = 3;

void setup () {Serial.begin (9600); // Iniciamos La comunicacion սերիալ

pinMode (ledrojo, OUTPUT); // El LED Rojo como una salida

pinMode (ledverde, OUTPUT); // El LED Verde como una salida

pinMode (ledazul, OUTPUT); // El LED Azul como una salida

SPI.begin (); // Iniciamos el Bus SPI mfrc522. PCD_Init (); // Iniciamos el MFRC522

//Serial.println ("--- Leyendo tarjetas ---");

}

բայթ ActualUID [4]; // almacenará el código del Tag leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};

բայթ tarde [4] = {0xD7, 0x22, 0x1D, 0x01};

բայթ նոչե [4] = {0xA0, 0x78, 0xBD, 0x4F};

int contdia = 0, conttarde = 0, contnoche = 0;

void loop () {if (mfrc522. PICC_IsNewCardPresent ()) {

void loop () {if (mfrc522. PICC_IsNewCardPresent ()) {

// Enviamos serialemente su UID Serial.println ("Id targejta:");

համար (բայթ i = 0; i <mfrc522.uid.size; i ++) {

Serial.print (mfrc522.uid.uidByte <0x10? "0": "");

Serial.print (mfrc522.uid.uidByte , HEX);

ActualUID = mfrc522.uid.uidByte ;

}

Serial.println (""); // comparamos los UID para determinar si es uno de nuestros usuarios

եթե (համեմատել Array (ActualUID, dia)) {contdia ++;

եթե (շարունակություն == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } ուրիշ եթե (շարունակություն == 2) {

contdia = 0;

analogWrite (ledrojo, 0); analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

եթե (համեմատել Array (ActualUID, tarde)) {conttarde ++;

եթե (հակառակը == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } else if (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("Dato 2 tarde"); }

}

եթե (համեմատելԱրրեյը (ActualUID, noche)) {կոնտնոչ ++;

եթե (շարունակել == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} else if (շարունակել == 2) {

contnoche = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("Dato 2 noche"); }

}

// Terminamos la lectura de la tarjeta tarjeta actual mfrc522. PICC_HaltA ();

}

}

}

// Función para comparar dos vectoresboolean compareArray (բայտ զանգված 1 , բայտ զանգված 2 ) {

if (զանգված 1 [0]! = զանգված 2 [0]) վերադարձ (կեղծ);

if (զանգված 1 [1]! = զանգված 2 [1]) վերադարձ (կեղծ);

if (զանգված 1 [2]! = զանգված 2 [2]) վերադարձ (կեղծ);

if (զանգված 1 [3]! = զանգված 2 [3]) վերադարձ (կեղծ);

վերադարձ (ճշմարիտ);

}

Խորհուրդ ենք տալիս: