Mục lục:

Luces RGB Con RFID Y Arduino: 3 bước
Luces RGB Con RFID Y Arduino: 3 bước

Video: Luces RGB Con RFID Y Arduino: 3 bước

Video: Luces RGB Con RFID Y Arduino: 3 bước
Video: Lesson 03: Project LED Blink Breadboard and Resistor | Robojax Arduino Step By Step Course 2024, Tháng bảy
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Controlador de luces empleado para el proyecto en suggest deminado "Escenario de historyas 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 presentación de la zona horario que se desee.

El proyecto de thành phần de diferentes etapas como son:

  1. Construcción del Circuito y las thành phần electrónicas necesarias.
  2. Construcción del sistema de renocimiento al igual que el sistema phần mềm para el control de las luces.

Chất liệu một tiện ích:

  • Protoboard ver
  • Computador
  • Arduino UNO ver
  • Cảm biến RFID 522 ver
  • Bateria de 12V
  • Dây nhảy ver
  • Transistor TIP31 ver
  • Tira đã dẫn ver

Bước 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 manra teniendo en cuenta las polaridades de la batería, la tira led consta de 4 cáp que tương ứng với một màu los rojo, verde, azul y blanco.

Cada una de los colres se agentan en la gráfica, el color blanco tương ứng với một la tierra (GND) que se conecta al posvo de la fuente, en este caso de la batería de 12V.

Bước 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 Defdos en el sketch de Arduino.

Bước 3: Phác thảo Arduino

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

#bao gồm

#bao gồm

#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); // Sê-ri Iniciamos La comunicacion

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

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

pinMode (ledazul, OUTPUT); // 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 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 paraminar si es una de nuestros usuarios

if (so sánhArray (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 (so sánhArray (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 (so sánhArray (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 la lectura de la tarjeta tarjeta real mfrc522. PICC_HaltA ();

}

}

}

// Función para comparar dos vectoresboolean so sánhArray (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 (đúng);

}

Đề xuất: