Orodha ya maudhui:

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

Video: Luces RGB Con RFID Y Arduino: Hatua 3

Video: Luces RGB Con RFID Y Arduino: Hatua 3
Video: Programar una tira de LEDs RGB direccionable con Arduino 2024, Julai
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 na huduma ya dijitali ya Chuo Kikuu cha Autonomia ya 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 representación de la zona horario que se desee.

Mfumo wa utaftaji wa vitu tofauti etapas como son:

  1. Construcción del circo y las vipengele vya elektroniki necesarias.
  2. Sura ya maandishi ya kumbukumbu tena ya programu ya kawaida ya programu ya kudhibiti udhibiti wa mafanikio.

Materiales matumizi:

  • Protoboard ver
  • Computador
  • Arduino UNO ver
  • Sensor RFID 522 ver
  • Bateria de 12V
  • Wiring za kuruka ver
  • Transistor TIP31 ver
  • Tira aliongoza ver

Hatua ya 1: Montar El Circuito

Montar El Mzunguko
Montar El Mzunguko

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

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

Hatua ya 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.

Hatua ya 3: Mchoro Arduino

Mchoro wa mchoro wa programu inayofaa ya usanidi wa programu kwa ajili ya kutekelezwa kwa mazoezi.

# pamoja

# pamoja

#fafanua RST_PIN 5 // Pin 9 para el reset del RC522

#fafanua 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;

kuanzisha batili () {Serial.begin (9600); // Iniciamos La comunicacion mfululizo

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 kuanza (); // Iniciamos el Bus SPI mfrc522. PCD_Init (); // Iniciamos el MFRC522

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

}

Byte halisiUID [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;

kitanzi batili () {if (mfrc522. PICC_IsNewCardPresent ()) {

kitanzi batili () {if (mfrc522. PICC_IsNewCardPresent ()) {

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

kwa (byte i = 0; i <mfrc522.uid.size; i ++) {

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

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

HalisiUID = mfrc522.uid.uidByte ;

}

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

ikiwa (linganishaArray (ActualUID, dia)) {contdia ++;

ikiwa (contdia == 1) {

Analogi Andika (ledrojo, 75);

AnalogWrite (ledverde, 75);

Analogi Andika (ledazul, 255);

Serial.println ("Dato 1 dia"); } mwingine ikiwa (contdia == 2) {

contdia = 0;

AnalogWrite (ledrojo, 0); AnalogWrite (ledverde, 0);

AnalogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

ikiwa (linganishaArray (ActualUID, tarde)) {conttarde ++;

ikiwa (conttarde == 1) {

Analogi Andika (ledrojo, 255);

AnalogWrite (ledverde, 75);

AnalogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } mwingine ikiwa (conttarde == 2) {

conttarde = 0;

AnalogWrite (ledrojo, 0);

AnalogWrite (ledverde, 0);

AnalogWrite (ledazul, 0);

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

}

ikiwa (linganishaArray (HalisiUID, noche)) {contnoche ++;

ikiwa (contnoche == 1) {

Analogi Andika (ledrojo, 87);

AnalogWrite (ledverde, 87);

Analogi Andika (ledazul, 87);

Serial.println ("Dato 1 noche");

} mwingine ikiwa (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 halisi mfrc522. PICC_HaltA ();

}

}

}

// Función para kulinganisha dos vectoresboolean compareArray (byte array1 , byte array2 ) {

ikiwa (safu1 [0]! = safu2 [0]) kurudi (uwongo);

ikiwa (safu1 [1]! = safu2 [1]) kurudi (uwongo);

ikiwa (safu1 [2]! = safu2 [2]) kurudi (uwongo);

ikiwa (safu1 [3]! = safu2 [3]) kurudi (uwongo);

kurudi (kweli);

}

Ilipendekeza: