ዝርዝር ሁኔታ:

Luces RGB Con RFID Y Arduino: 3 ደረጃዎች
Luces RGB Con RFID Y Arduino: 3 ደረጃዎች

ቪዲዮ: Luces RGB Con RFID Y Arduino: 3 ደረጃዎች

ቪዲዮ: Luces RGB Con RFID Y Arduino: 3 ደረጃዎች
ቪዲዮ: 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 y televisión digital de la Universidad Autónoma de Occidente. ኤል 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.

ኤል proyecto de compone de diferentes etapas como son:

  1. Construcción del circuito y የላስ ክፍሎች electrónicas necesarias.
  2. Construcción del sistema de reconocimiento al igual que el sistema software para el control de las luces.

መጠቀሚያዎች -

  • Protoboard ver
  • ኮምፓዶዶር
  • Arduino UNO ver
  • ዳሳሽ RFID 522 ver
  • Bateria de 12V
  • መዝለያዎች ሽቦዎች ver
  • ትራንዚስተር TIP31 ver
  • ቲራ መሪ ቃል

ደረጃ 1 ሞንታር ኤል ሰርኩቶ

ሞንታር ኤል ሰርኩቶ
ሞንታር ኤል ሰርኩቶ

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 ገመዶች que corresponden a los colores rojo, verde, azul y blanco.

ካዳ ዩኖ ዴ ሎስ ኮሎሬስ ኤን ላ ግራፊካ ፣ ኤል ቀለም ብላንኮ ኮርፖሰንደንድ ላ ላ ቴራ (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V.

ደረጃ 2: Conectar ኤል ሙዱሎ RFID

ኮኔክታር ኤል ሞዱሎ RFID
ኮኔክታር ኤል ሞዱሎ 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.

ደረጃ 3: አርዱዲኖን ይሳሉ

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

#ያካትቱ

#ያካትቱ

#ይግለጹ RST_PIN 5 // ፒን 9 para el ዳግም ማስጀመር ዴል RC522

#መግለፅ SS_PIN 10 // ፒን 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;

ባዶነት ማዋቀር () {Serial.begin (9600); // Iniciamos ላ comunicacion ተከታታይ

pinMode (ledrojo ፣ OUTPUT); // ኤል ኤልዲ ሮጆ ኮሞ ሳሊዳ

pinMode (ledverde ፣ OUTPUT); // ኤል ኤልዲ ቨርዴ como una salida

pinMode (ledazul, OUTPUT); // ኤል ኤል ኤል አዙል como una salida

SPI.begin (); // Iniciamos el አውቶቡስ 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};

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

int contdia = 0 ፣ conttarde = 0 ፣ contnoche = 0;

ባዶነት loop () {ከሆነ (mfrc522. PICC_IsNewCardPresent ()) {

ባዶነት loop () {ከሆነ (mfrc522. PICC_IsNewCardPresent ()) {

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

ለ (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

ከሆነ (ንፅፅርArray (ActualUID ፣ dia)) {contdia ++;

ከሆነ (contdia == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde ፣ 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } ሌላ ከሆነ (contdia == 2) {

contdia = 0;

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

analogWrite (ledazul, 0);

Serial.println ("ዳቶ 2 ድያ");

}

}

ከሆነ (ንጽጽርArray (ActualUID ፣ tarde)) {conttarde ++;

ከሆነ (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde ፣ 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } ሌላ ከሆነ (conttarde == 2) {

ተቃራኒ = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

ከሆነ (ንፅፅርArray (ActualUID ፣ noche)) {contnoche ++;

ከሆነ (contnoche == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} ሌላ ከሆነ (contnoche == 2) {

contnoche = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

// Terminamos la lectura de la tarjeta tarjeta ትክክለኛው mfrc522. PICC_HaltA ();

}

}

}

// Función para comparar dos vectoresboolean compaArray (ባይት ድርድር 1 ፣ ባይት ድርድር 2 ) {

ከሆነ (ድርድር 1 [0]! = array2 [0]) መመለስ (ሐሰት);

ከሆነ (ድርድር 1 [1]! = ድርድር 2 [1]) መመለስ (ሐሰት);

ከሆነ (ድርድር 1 [2]! = ድርድር 2 [2]) መመለስ (ሐሰት);

ከሆነ (ድርድር 1 [3]! = ድርድር 2 [3]) መመለስ (ሐሰት);

መመለስ (እውነት);

}

የሚመከር: