Spisu treści:

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

Wideo: Luces RGB Con RFID Y Arduino: 3 kroki

Wideo: Luces RGB Con RFID Y Arduino: 3 kroki
Wideo: Уроки Arduino #7 - подключение светодиода 2024, Lipiec
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Controlador de lucces empleado para el proyecto en conjunto denominado „Escenario de historys interactiveivas” na temat curso Video i cyfrowej telewizji na Universidad Autónoma de Occidente. El objetivo de este controlador es controlar las luces de día y noche, es decir, es decir, control la cantidad de luz para hacer una reprezentant de la horario que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Construcción del circuito y las componentes electrónicas necesarias.
  2. Construcción del sistema de reconocimiento al igual que el sistema software para el control de las luces.

Materiały do wykorzystania:

  • Płyta prototypowa wer
  • Computador
  • Arduino UNO wersja
  • Czujnik RFID 522 wer
  • Bateria 12V
  • Zworki przewody ver
  • Tranzystor TIP31 ver
  • Tira doprowadziła wer

Krok 1: Montar El Circuito

Montar El Circuito
Montar El Circuito

Como se observa en la grafica, el montaje del circuito se hace de esta manera teniendo en cuenta las polaridades de la batería, la tira led consta de 4 cables que koresponden a los colores rojo, verde, azul y blanco.

Cada uno de los colores sepresentan en la grafica, el color blanco korespondent a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V.

Krok 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 definidos en el sketch de Arduino.

Krok 3: Szkicuj Arduino

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

#włączać

#włączać

#define RST_PIN 5 //Pin 9 dla zresetowania 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, WYJŚCIE); //El LED Rojo como una salida

pinMode(ledverde, WYJŚCIE); //El LED Verde como una salida

pinMode(ledazul, WYJŚCIE); //El LED Azul como una salida

SPI.początek(); //Początek interfejsu SPI magistrali mfrc522. PCD_Init(); // Początki MFRC522

//Serial.println(" ---Leyendo tarjetas---");

}

bajt RzeczywistyUID[4]; //almacenará el código del Tag leídobyte dia[4] = {0xD3, 0xAD, 0x3B, 0x5B};

tarde bajtów[4] = {0xD7, 0x22, 0x1D, 0x01};

bajt 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("Identyfikator docelowy: ");

for (bajt i = 0; i < mfrc522.uid.size; i++) {

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

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

RzeczywistyUID = mfrc522.uid.uidByte;

}

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

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

jeśli (kontynuacja ==1) {

analogZapis(ledrojo, 75);

analogZapis(ledverde, 75);

analogZapisz(ledazul, 255);

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

kontr = 0;

analogZapis(ledrojo, 0); analogZapis(ledverde, 0);

analogZapisz(ledazul, 0);

Serial.println("Dane 2 dia");

}

}

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

jeśli (kont. ==1) {

analogZapis(ledrojo, 255);

analogZapis(ledverde, 75);

analogZapisz(ledazul, 93);

Serial.println(" Data 1 data"); } w przeciwnym razie (conttarde ==2) {

contard = 0;

analogZapis(ledrojo, 0);

analogZapis(ledverde, 0);

analogZapisz(ledazul, 0);

Serial.println(" Data 2 data"); }

}

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

jeśli (kontnocha ==1) {

analogZapis(ledrojo, 87);

analogZapis(ledverde, 87);

analogZapisz(ledazul, 87);

Serial.println("Dane 1 miejsce");

} else if (contnoche ==2) {

konnocha = 0;

analogZapis(ledrojo, 0);

analogZapis(ledverde, 0);

analogZapisz(ledazul, 0);

Serial.println("Dane 2 miejsce"); }

}

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

}

}

}

//Funkcja porównania wektorów i wartości logicznych porównaniaArray(bajtowa tablica1, bajtowa tablica2) {

if (tablica1[0] != tablica2[0])return (false);

if (tablica1[1] != tablica2[1])return (false);

if (tablica1[2] != tablica2[2])return (false);

if (tablica1[3] != tablica2[3])return (false);

powrót (prawda);

}

Zalecana: