Indholdsfortegnelse:

Luces RGB Con RFID Y Arduino: 3 trin
Luces RGB Con RFID Y Arduino: 3 trin

Video: Luces RGB Con RFID Y Arduino: 3 trin

Video: Luces RGB Con RFID Y Arduino: 3 trin
Video: Music Reactive RGB LEDs with Arduino LED 5050 RGB Strip control LED RGB 2024, November
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 og fjernsyn digital fra 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 son:

  1. Konstruktion af kredsløb og elektriske komponenter.
  2. Konstruktion af rekonstruktionssystemer til igual som systemsystem til kontrol af luces.

Materialer til brug:

  • Protoboard ver
  • Computador
  • Arduino UNO ver
  • Sensor RFID 522 ver
  • Bateria de 12V
  • Jumpers wires ver
  • Transistor TIP31 ver
  • Tira led ver

Trin 1: Montar El Circuito

Montar El Circuito
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 kabler que correspondonden a los colores rojo, verde, azul y blanco.

Cada uno de los colores se repræsentan en la gráfica, el color blanco correspondonde a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V.

Trin 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, dependiendo de los colores definidos en el sketch de Arduino.

Trin 3: Skits Arduino

En anden skitse kan bruges til konfiguration af software til realizar dicha practica.

#omfatte

#omfatte

#define RST_PIN 5 // Pin 9 til nulstilling af RC522

#define SS_PIN 10 // Pin 10 til SS (SDA) fra RC522

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

int ledrojo = 1; int ledverde = 2;

int ledazul = 3;

ugyldig opsætning () {Serial.begin (9600); // Iniciamos La comunicacion serial

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

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

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

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;

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

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

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

for (byte 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

if (comparArray (ActualUID, dia)) {contdia ++;

hvis (contdia == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } ellers hvis (contdia == 2) {

contdia = 0;

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

analogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

if (comparArray (ActualUID, tarde)) {conttarde ++;

hvis (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } ellers hvis (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

if (comparArray (ActualUID, noche)) {contnoche ++;

hvis (contnoche == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} ellers hvis (contnoche == 2) {

kontakten = 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 ();

}

}

}

// Funktion til sammenligning af vektorboolsk comparArray (byte array1 , byte array2 ) {

if (array1 [0]! = array2 [0]) return (false);

if (array1 [1]! = array2 [1]) return (false);

if (array1 [2]! = array2 [2]) return (false);

if (array1 [3]! = array2 [3]) return (false);

return (true);

}

Anbefalede: