Съдържание:

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 стъпки
Видео: Tiras led WS2812B y cuadros con Arduino(Parte 3) 2024, Ноември
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Controlador de luces empleado para el proyecto en connunto denominado "Escenario de historias 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 представител de la zona horario que se desee.

Електронният компонент за диференциране на етапа като:

  1. Construcción del circuito y las componentsntes electrónicas necesarias.
  2. Конструиране на системата за възстановяване на алгоритъма на софтуера за управление на системата за управление на властта.

Материали за използване:

  • Protoboard ver
  • Компютър
  • Arduino UNO ver
  • Сензор RFID 522 ver
  • Батерия от 12V
  • Качулки проводници ver
  • Транзистор TIP31 ver
  • Тира води ver

Стъпка 1: 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 кабела que съответстващ a los colores rojo, verde, azul y blanco.

Cada uno de los colores се представя представител en la gráfica, el color blanco съответства a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V.

Стъпка 2: Conectar El Módulo RFID

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

Para controlar las luces се използва от 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: Скицирайте Arduino

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

#включва

#включва

#define RST_PIN 5 // ПИН 9 за нулиране на 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 сериал

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 ---");

}

байт ActualUID [4]; // almacenará el código del Tag leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};

байт tarde [4] = {0xD7, 0x22, 0x1D, 0x01};

байт 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 targetjta:");

for (байт 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 (""); // сравняваме UID с параметър, който определя синометрията на потребителите

if (compareArray (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 ("Dato 2 dia");

}

}

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

ако (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } иначе ако (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

if (compareArray (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 ();

}

}

}

// Функция за сравнение спрямо vectoresboolean compareArray (байтов масив1 , байтов масив2 ) {

if (масив1 [0]! = масив2 [0]) връщане (невярно);

if (масив1 [1]! = масив2 [1]) връщане (невярно);

if (масив1 [2]! = масив2 [2]) връщане (невярно);

if (масив1 [3]! = масив2 [3]) връщане (невярно);

връщане (вярно);

}

Препоръчано: