Satura rādītājs:

Luces RGB Con RFID Y Arduino: 3 soļi
Luces RGB Con RFID Y Arduino: 3 soļi
Anonim
Luces RGB RFID un Arduino
Luces RGB RFID un Arduino

Controlador de luces empleado para el proyecto en conjunto denominado "Escenario de historias interactivas" del curso Video y televisionisió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 representationción de la zona horario que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Elektriskās ķēdes un lasu komponentu uzbūve.
  2. Sistēmas konstruēšana, lai atjaunotu igual que el sistēmas programmatūru, lai kontrolētu las luces.

Materiāli izmantošanai:

  • Protoboard ver
  • Datoru
  • Arduino UNO ver
  • Sensors RFID 522 ver
  • Akumulators 12V
  • Džemperi vadi ver
  • Tranzistors TIP31 ver
  • Tira vadīja ver

1. darbība: 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 batería, la tira led consta de 4 kabeļi queresponden a los colores rojo, verde, azul y blanco.

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

2. solis: Conectar El Módulo RFID

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

Lai kontrolētu las luces, var izmantot RFID, dada cada vez que pasemos la tarjeta las luces deben cambiar de color, dependiendo de los colores definidos en el sketch de Arduino.

3. darbība: ieskicējiet Arduino

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

#iekļaut

#iekļaut

#define RST_PIN 5 // RC522 atiestatīšanas 9. tapa

#define SS_PIN 10 // SS 10. pin (SSA) 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 ---");

}

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

baitu tarde [4] = {0xD7, 0x22, 0x1D, 0x01};

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

par (baits i = 0; i <mfrc522.uid.size; i ++) {

Sērijas nospiedums (mfrc522.uid.uidByte <0x10? "0": "");

Sērijas nospiedums (mfrc522.uid.uidByte , HEX);

FaktiskaisUID = mfrc522.uid.uidByte ;

}

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

ja (salīdzinātArray (ActualUID, dia)) {contdia ++;

ja (turpinājums == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } cits, ja (turpinājums == 2) {

turpinājums = 0;

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

analogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

ja (salīdzinātArray (ActualUID, tarde)) {conttarde ++;

ja (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } cits if (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

ja (salīdzinātArray (ActualUID, noche)) {contnoche ++;

ja (contnoche == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} cits ja (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 faktiskā mfrc522. PICC_HaltA ();

}

}

}

// Función para comparar dos vectoresboolean compaArray (baitu masīvs1 , baitu masīvs2 ) {

ja (masīvs1 [0]! = masīvs2 [0]) atgriežas (nepatiess);

ja (masīvs1 [1]! = masīvs2 [1]) atgriešanās (nepatiesa);

ja (masīvs1 [2]! = masīvs2 [2]) atgriešanās (nepatiesa);

ja (masīvs1 [3]! = masīvs2 [3]) atgriešanās (nepatiesa);

atgriešanās (patiesa);

}

Ieteicams: