Video: Luces RGB Con RFID Y Arduino: 3 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
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:
- Konstruksie van elektriese en elektroniese komponente.
- 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
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
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);
}