Inhoudsopgave:

Luces RGB Con RFID en Arduino - Ajarnpa
Luces RGB Con RFID en Arduino - Ajarnpa

Video: Luces RGB Con RFID en Arduino - Ajarnpa

Video: Luces RGB Con RFID en Arduino - Ajarnpa
Video: Arduino RGB LED Light Effect Tutorial #shorts 2024, November
Anonim
Luces RGB met RFID en Arduino
Luces RGB met RFID en Arduino

Controlador de luces empleado de la universidad Autónoma de Occidente. Het doel van de controle van de controle van de dag en van de dag, en van de controle van de cantidad de luz para hacer un representación de la zona que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Constructie van circuits en elektronische componenten die nodig zijn.
  2. Construccón del sistema de reconocimiento al igual que el sistema software para el control de las luces.

Gebruikt materiaal:

  • Protoboard versie
  • computergebruiker
  • Arduino UNO-versie
  • Sensor RFID 522 ver
  • Batterij van 12V
  • Jumpers draden ver
  • Transistor TIP31 ver
  • Tira leidde ver

Stap 1: Montar El Circuito

Montar El Circuito
Montar El Circuito

Het is mogelijk om de aard van het circuit te observeren en om de polen van de batería, de leds van de 4 kabels die overeenkomen met de kleuren van wit, groen en wit.

Het is mogelijk om de kleur van de afbeelding en de kleur wit te corresponderen met een laag (GND) die is aangesloten op de vuurkracht en de batterij van 12V.

Stap 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, afhankelijke de los colores definidos en el sketch de Arduino.

Stap 3: Schets Arduino

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

#erbij betrekken

#erbij betrekken

#define RST_PIN 5 //Pin 9 voor het resetten van RC522

#define SS_PIN 10 //Pin 10 voor 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, UITGANG); //El LED Rojo como una salida

pinMode (ledverde, UITGANG); //El LED Verde como una salida

pinMode (ledazul, UITGANG); //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: ");

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

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

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

ActualUID = mfrc522.uid.uidByte;

}

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

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

if (contdia ==1) {

analoogWrite(ledrojo, 75);

analoogWrite(ledverde, 75);

analoogWrite(ledazul, 255);

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

contdia = 0;

analoogWrite(ledrojo, 0); analoogWrite(ledverde, 0);

analoogWrite(ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

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

if (vervolg ==1) {

analoogWrite(ledrojo, 255);

analoogWrite(ledverde, 75);

analogWrite(ledazul, 93);

Serial.println ("Dato 1 tarde"); }anders als (vervolg ==2) {

tegenhouden = 0;

analoogWrite(ledrojo, 0);

analoogWrite(ledverde, 0);

analoogWrite(ledazul, 0);

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

}

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

if (contnoche ==1) {

analogWrite(ledrojo, 87);

analoogWrite(ledverde, 87);

analogWrite(ledazul, 87);

Serial.println ("Dato 1 noche");

} else if (contnoche ==2) {

contnoche = 0;

analoogWrite(ledrojo, 0);

analoogWrite(ledverde, 0);

analoogWrite(ledazul, 0);

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

}

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

}

}

}

//Functie voor vergelijking van vectoresboolean CompareArray (byte array1 , byte array2 ) {

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

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

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

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

terugkeer (waar);

}

Aanbevolen: