INHOUDSOPGAWE:

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

Video: Luces RGB Con RFID Y Arduino: 3 stappe

Video: Luces RGB Con RFID Y Arduino: 3 stappe
Video: Programar una tira de LEDs RGB direccionable con Arduino 2024, Julie
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" van huidige video en televisie van die Universidad Autonoma de Occidente. Die kontroleerder kan die kontroles van die dag en die tydperk in ag neem, sowel as die beheer van die kantlyn vir 'n eenvormige weergawe van die tydskrif.

Die samestelling van die verskillende tipes van die volgende:

  1. Konstruksie van elektriese en elektroniese komponente.
  2. Rekonstruksie van die stelsel vir die herontwikkeling van al die sagteware vir kontroles.

Materiale wat gebruik kan word:

  • Protoboard ver
  • Rekenaar
  • Arduino UNO ver
  • Sensor RFID 522 ver
  • Bateria van 12V
  • Jumpers drade ver
  • Transistor TIP31 ver
  • Tira gelei ver

Stap 1: Montar El Circuito

Montar El Circuito
Montar El Circuito

Ons kyk na 'n la gráfica, met 'n kring van die stroombaan, en ons kan ook die polariteit van die bateria aanskakel, en ons kan vier kabels in ooreenstemming bring met 'n kleur van rooi, verde, azul y blanco.

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

Stap 2: Konnekteer El Módulo RFID

Verbindings El Módulo RFID
Verbindings El Módulo RFID

Vir kontroles kan ons RFID gebruik, en ons kan ook die kleur van die kleur, die definisie van die kleur en die skets van Arduino gebruik.

Stap 3: Skets Arduino

Die volgende skets kan 'n konfigurasie van sagteware vir praktiese praktyk bied.

#insluit

#insluit

#define RST_PIN 5 // Pin 9 vir die herstel van RC522

#define SS_PIN 10 // Pin 10 vir SS (SDA) van RC522

MFRC522 mfrc522 (SS_PIN, RST_PIN); /// Creamos el objeto para el RC522

int ledrojo = 1; int ledverde = 2;

int ledazul = 3;

ongeldige opstelling () {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); // Die LED -lampe kan ook saamgestel word

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;

nietige lus () {if (mfrc522. PICC_IsNewCardPresent ()) {

nietige lus () {if (mfrc522. PICC_IsNewCardPresent ()) {

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

vir (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

as (vergelykArray (ActualUID, dia)) {contdia ++;

as (contdia == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } anders as (contdia == 2) {

kontdia = 0;

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

analogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

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

as (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } anders as (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

as (vergelykArray (ActualUID, noche)) {contnoche ++;

as (contnoche == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} anders as (contnoche == 2) {

aanslag = 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 ();

}

}

}

// Funksie vir vergelyking van vektorbooleaanse comparArray (byte array1 , byte array2 ) {

as (skikking1 [0]! = skikking2 [0]) terugkeer (vals);

as (skikking1 [1]! = skikking2 [1]) terugkeer (vals);

as (skikking1 [2]! = skikking2 [2]) terugkeer (vals);

as (skikking1 [3]! = skikking2 [3]) terugkeer (vals);

terugkeer (waar);

}

Aanbeveel: