Obsah:

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

Video: Luces RGB Con RFID Y Arduino: 3 kroky

Video: Luces RGB Con RFID Y Arduino: 3 kroky
Video: Programar una tira de LEDs RGB direccionable con Arduino 2024, Červenec
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Hlavní obsah úlohy je spojen s názvem "Escenario de historias interactivas" del curso Video a digitální televizní vysílání na Universidad Autónoma de Occidente. Ovladačem ovládání je ovládání 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.

Jednotlivé fáze různých fází sestavy:

  1. Konstrukce obvodů a součástí elektrických součástí.
  2. Konstrukce systému zpětné vazby a legální softwarový software pro ovládání de las luces.

Materiály a použití:

  • Protoboard ver
  • Computador
  • Arduino UNO ver
  • Senzor RFID 522 ver
  • Baterie na 12V
  • Propojovací vodiče ver
  • Tranzistor TIP31 ver
  • Tira vedl ver

Krok 1: Montar El Circuito

Montar El Circuito
Montar El Circuito

Pozorování se odehrává na jedné straně, většina montáže se zaměřuje na polarizaci baterie, její úroveň vede ke čtyřem kabelům, které odpovídají barevným barvám, zeleným, azolovým a bílým.

Barevné odstíny mohou představovat jednu nebo druhou barvu, což znamená, že bílá barva odpovídá vyšší úrovni (GND), což znamená, že je spojena s pozitivním výkonem, a tím i s baterií 12 V.

Krok 2: Conectar El Modulo 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.

Krok 3: Načrtněte Arduino

Načrtněte důležitou skicu a proveďte konfiguraci softwaru pro realizaci různých praktik.

#zahrnout

#zahrnout

#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;

neplatné nastavení () {Serial.begin (9600); // Iniciamos La comunicacion serial

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

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

pinMode (ledazul, VÝSTUP); // 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};

bajtové zpoždění [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 (""); // porovnání údajů o UID, které jsou určeny k použití

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

if (contdia == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

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

contdia = 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"); } else if (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

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

if (contnoche == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} else if (contnoche == 2) {

contnoche = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

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

}

}

}

// Funkce porovnávání para vektorových booleovských porovnávacích polí (bajtové pole1 , bajtové pole2 ) {

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

if (pole1 [1]! = pole2 [1]) return (false);

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

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

return (true);

}

Doporučuje: