Πίνακας περιεχομένων:

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 βήματα
Βίντεο: Programar una tira de LEDs RGB direccionable con Arduino 2024, Νοέμβριος
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Έλεγχος για την προβολή και την ονομασία "Escenario de historias interactivas" για την κατάρτιση βίντεο και τηλεοπτικής ψηφιακής τηλεόρασης του 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 αντιπροσωπεία της la zona 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. Κατασκευάζοντας το σύστημα επανασύνδεσης με ένα λογισμικό που χρησιμοποιεί ένα σύστημα ελέγχου για τον έλεγχο των λαών.

Υλικά χρήσης:

  • Protoboard ver
  • Υπολογιστής
  • Arduino UNO ver
  • Αισθητήρας RFID 522 ver
  • Bateria de 12V
  • Jumpers wires ver
  • Τρανζίστορ TIP31 ver
  • Tira led ver

Βήμα 1: Montar El Circuito

Montar El Circuito
Montar El Circuito

Como se observva 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 καλώδια που αντιστοιχούν σε los colores rojo, verde, azul y blanco.

Το Cada uno de los colores se përfaqësan 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 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: Σκίτσο Arduino

Σχετικά με το σκίτσο του podrás encontrar la configuración του λογισμικού για την πραγματοποίηση της πρακτικής.

#περιλαμβάνω

#περιλαμβάνω

#define RST_PIN 5 // Pin 9 para el el reset del 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, 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 ---");

}

byte ActualUID [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;

void loop () {if (mfrc522. PICC_IsNewCardPresent ()) {

void loop () {if (mfrc522. PICC_IsNewCardPresent ()) {

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

για (byte 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 (""); // comparamos los UID para determinar si es uno de nuestros usuarios

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

εάν (contdia == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } else if (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"); } else if (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");

} else if (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 actual mfrc522. PICC_HaltA ();

}

}

}

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

if (array1 [0]! = array2 [0]) return (false);

if (array1 [1]! = array2 [1]) return (false);

if (array1 [2]! = array2 [2]) return (false);

if (array1 [3]! = array2 [3]) return (false);

επιστροφή (αλήθεια)?

}

Συνιστάται: