Cov txheej txheem:

Luces RGB Con RFID Y Arduino: 3 Kauj Ruam
Luces RGB Con RFID Y Arduino: 3 Kauj Ruam

Video: Luces RGB Con RFID Y Arduino: 3 Kauj Ruam

Video: Luces RGB Con RFID Y Arduino: 3 Kauj Ruam
Video: Lesson 58: Multidimensional Array and example with RGB LED | Arduino Step By Step Course 2024, Lub Xya hli ntuj
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 y 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 representación de la zona horario que se desee.

El proyecto de compone de diferentes etapas como tus tub:

  1. Construcción del circuito y las componentes electrónicas necesarias.
  2. Kev tsim kho cov txheej txheem ntawm kev rov sib koom ua ke ntawm cov neeg sib tw que el kev ua haujlwm software rau kev tswj hwm ntawm las lasces.

Cov ntaub ntawv siv tau:

  • Protoboard swb se
  • Computador
  • Arduino UNO ver
  • Sensor RFID 522 ver
  • Roj teeb 12V
  • Jumpers xov tooj ver
  • Transistor TIP31 ver
  • Tira coj ver

Kauj Ruam 1: Montar El Circuito

Ntsib neeg Montar El Circuito
Ntsib neeg Montar El Circuito

Como se observa 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 cables que corresponden a los colores rojo, verde, azul y blanco.

Cada uno de los colores se sawv cev en la gráfica, el xim blanco sib tham a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V.

Kauj ruam 2: Txheeb xyuas 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 colour, dependiendo de los colores definidos en el sketch de Arduino.

Kauj Ruam 3: Kos Duab Arduino

En el siguiente sketch podrás encontrar la configuración de software para realizar dicha practiceica.

#suav nrog

#suav nrog

#define RST_PIN 5 // Pin 9 para el reset del RC522

#define SS_PIN 10 // Pin 10 para el SS (SDA) del RC522

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

int ledrojo = 1; int ledverde = 2;

int ledazul = 3;

teeb tsa tsis muaj dab tsi () {Serial.begin (9600); // Iniciamos La comunicacion serial

pinMode (ledrojo, NTAWV); // El LED Rojo ua kom pom tseeb

pinMode (ledverde, OUTPUT); // El LED Verde yog ib qho tseem ceeb

pinMode (coj, OUTPUT); // El LED Azul tuaj yeem ua rau pom

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

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

}

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

byte tarde [4] = {0xD7, 0x22, 0x1D, 0x01};

byte noche [4] = {0xA0, 0x78, 0xBD, 0x4F};

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

lub voj void () {yog (mfrc522. PICC_IsNewCardPresent ()) {

lub voj void () {yog (mfrc522. PICC_IsNewCardPresent ()) {

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

rau (byte kuv = 0; kuv <mfrc522.uid.size; kuv ++) {

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

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

Qhov tseeb UID = mfrc522.uid.uidByte ;

}

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

yog (sib pivArray (ActualUID, dia)) {contdia ++;

yog (contdia == 1) {

analogWrite (coj, 75);

analogWrite (coj mus, 75);

analogWrite (coj, 255);

Serial.println ("Dato 1 dia"); } lwm yog (contdia == 2) {

cov = 0;

analogWrite (coj, 0); analogWrite (coj, 0);

analogWrite (coj, 0);

Serial.println ("Dato 2 dia");

}

}

yog (sib pivArray (ActualUID, tarde)) {conttarde ++;

yog (conttarde == 1) {

analogWrite (coj, 255);

analogWrite (coj mus, 75);

analogWrite (coj, 93);

Serial.println ("Dato 1 tarde"); } lwm yog (conttarde == 2) {

cov = 0;

analogWrite (coj, 0);

analogWrite (coj, 0);

analogWrite (coj, 0);

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

}

yog (sib pivArray (ActualUID, noche)) {contnoche ++;

yog (contnoche == 1) {

analogWrite (coj, 87);

analogWrite (coj mus, 87);

analogWrite (coj, 87);

Serial.println ("Dato 1 noche");

} lwm yog (contnoche == 2) {

cov = 0;

analogWrite (coj, 0);

analogWrite (coj, 0);

analogWrite (coj, 0);

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

}

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

}

}

}

// Función para comparar dos vectoresboolean compareArray (byte array1 , byte array2 ) {

yog (array1 [0]! = array2 [0]) rov qab (tsis tseeb);

yog (array1 [1]! = array2 [1]) rov qab (tsis tseeb);

yog (array1 [2]! = array2 [2]) rov qab (tsis tseeb);

yog (array1 [3]! = array2 [3]) rov qab (tsis tseeb);

rov qab (muaj tseeb);

}

Pom zoo: