Inhaltsverzeichnis:

Luces RGB Con RFID Y Arduino - Gunook
Luces RGB Con RFID Y Arduino - Gunook

Video: Luces RGB Con RFID Y Arduino - Gunook

Video: Luces RGB Con RFID Y Arduino - Gunook
Video: Programar una tira de LEDs RGB direccionable con Arduino 2024, November
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Controlador de luces empleado para el proyecto and conjunto denominado "Escenario de historias interactivas" des Kursvideos und des digitalen Fernsehens der Universidad Autónoma de Occidente. Das Ziel der Kontrolle ist die Kontrolle über die Tages- und Nachtzeit, es decir, die Kontrolle über die luz-cantidad-para-hacer-repräsentanz der zona horario que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Construcción del Circuito y las Componentes Electronics Necesarias.
  2. Construcción del sistema de reconocimiento al igual que el sistema Software für die Kontrolle von las luces.

Materialien ein Nutzen:

  • Protoboard-Version
  • Computer
  • Arduino UNO-Version
  • Sensor RFID 522 ver
  • Batterie von 12V
  • Jumperdrähte ver
  • Transistor TIP31 ver
  • Tira führte ver

Schritt 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 und cuenta las polaridades de la batería, la tira führte consta de 4 cable que korrespondens a los colores rojo, verde, azul y blanco.

Cada uno de los colores se representan en la gráfica, el color blanco korrespondieren a la tierra (GND) que se conecta al positiveo de la fuente, und este caso de la batería de 12V.

Schritt 2: Conectar El Módulo RFID

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

Für die Kontrolle von RFID-Codes, für die Verwendung von RFID-Karten, für die Tarjeta-Laute von luces deben cambiar de color, abhängig von den Farbdefinitionen und der Arduino-Skizze.

Schritt 3: Arduino skizzieren

En el siguiente Sketch Podrás Encontrar la configuración de software for realizar dicha practica.

#enthalten

#enthalten

#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 para el RC522

int ledrojo = 1;int ledverde = 2;

int ledazul = 3;

Void setup () { Serial.begin (9600); //Iniciamos La comunicacion serial

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

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

pinMode (ledazul, AUSGANG); //El LED Azul como 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 Schleife () { if (mfrc522. PICC_IsNewCardPresent ()) {

Void Schleife () { if (mfrc522. PICC_IsNewCardPresent ()) {

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

für (Byte i = 0; i < mfrc522.uid.size; i++) {

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

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

Tatsächliche UID = mfrc522.uid.uidByte;

}

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

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

wenn (Fortsetzung ==1) {

analogWrite(ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } sonst if (contdia ==2) {

Dauer = 0;

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

analogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

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

if (conttarde ==1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite(ledazul, 93);

Serial.println ("Dato 1 tarde"); }sonst wenn (conttarde ==2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

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

if (connoche ==1) {

analogWrite(ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite(ledazul, 87);

Serial.println ("Dato 1 noche");

} sonst if (contnoche ==2) {

Anschluss = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

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

}

}

}

//Función para comparar dos vectoresboolean CompareArray(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);

zurück (wahr);

}

Empfohlen: