Tartalomjegyzék:

Luces RGB RFID és Arduino: 3 lépés
Luces RGB RFID és Arduino: 3 lépés

Videó: Luces RGB RFID és Arduino: 3 lépés

Videó: Luces RGB RFID és Arduino: 3 lépés
Videó: Luces RGB con Arduino (Facil) 2024, November
Anonim
Luces RGB RFID és Arduino
Luces RGB RFID és Arduino

Controlador de luces empleado para el proyecto en conjunto denominado "Escenario de historias interactivas" del curso Videó és televízió digitális 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 reprezentáció de la zona horario que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Construcción del circuitito y las komponensek elektrónikus necesarias.
  2. Az igual que el rendszer szoftverének felépítése az igual que el rendszer szoftveréhez a las luces vezérléséhez.

Használati anyagok:

  • Protoboard ver
  • Computador
  • Arduino UNO ver
  • RFID 522 érzékelő ver
  • Akkumulátor 12V
  • Jumper vezetékek ver
  • TIPIS tranzisztor ver
  • Tira vezette ver

1. lépés: Montar El Circuito

Montar El Circuito
Montar El Circuito

Como se observa en la gráfica, el montaje del circuitito se hace de esta manera teniendo en cuenta las polaridades de la battery, la tira led consta de 4 cable queresponden a los colores rojo, verde, azul y blanco.

Cada uno de los colores se representan en la gráfica, el color blanco megfelel a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batteryía de 12V.

2. lépés: Conectar El Módulo RFID

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

Ellenőrizze a lu 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. lépés: Vázolja fel az Arduino -t

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

#befoglalni

#befoglalni

#define RST_PIN 5 // 9. pin az RC522 visszaállításához

#define SS_PIN 10 // 10. pin az 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, 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 ---");

}

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

bájt tarde [4] = {0xD7, 0x22, 0x1D, 0x01};

bájt 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);

AktuálisUID = mfrc522.uid.uidByte ;

}

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

if (összehasonlításArray (ActualUID, dia)) {contdia ++;

ha (folytatás == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

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

contdia = 0;

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

analogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

if (összehasonlításArray (ActualUID, tarde)) {conttarde ++;

ha (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 (összehasonlításArray (ActualUID, noche)) {contnoche ++;

ha (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"); }

}

// Terminamas la lectura de la tarjeta tarjeta aktuális mfrc522. PICC_HaltA ();

}

}

}

// Función para comparar dos vectoresboolean compaArray (byte array1 , byte array2 ) {

if (tömb1 [0]! = tömb2 [0]) return (hamis);

if (tömb1 [1]! = tömb2 [1]) return (hamis);

if (tömb1 [2]! = tömb2 [2]) return (hamis);

if (tömb1 [3]! = tömb2 [3]) return (hamis);

visszatérés (igaz);

}

Ajánlott: