Turinys:
Video: „Luces RGB Con RFID“ir „Arduino“: 3 žingsniai
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Programa „Proceso entuziazmas“, skirta bendrai pavadinimui „Escenario de historias interactivas“, kuriama vaizdo įrašo ir televizijos skaitmeninės transliacijos universitete Autonoma de Occidente programoje. El objetivo de este controlador ir controlar las luces de día y noche, es decir, controlar la cantidad de luz para hacer una atstovybė de la zona horario que se desee.
Kompozicijos skirtinguose etapuose komas:
- Elektrinių grandinių ir lazerinių komponentų konstravimas.
- Sistemos, skirtos iš naujo susikurti igual que el sistemos programinę įrangą, sukūrimas valdant las luces.
Naudojimo medžiagos:
- Protoboard ver
- Kompiuteris
- Arduino UNO ver
- Jutiklis RFID 522 ver
- 12 V baterija
- Džemperiai laidai ver
- Tranzistorius TIP31 ver
- Tira vadovavo ver
1 žingsnis: Montar El Circuito
Como se observa en la gráfica, el montaje del circuitito se hace de esta manera teniendo en cuenta las poliaridades de la batería, la tira led consta de 4 kabeliai 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 conacta al positivo de la fuente, en este caso de la batería de 12V.
2 žingsnis: „Conectar El Módulo“RFID
Kontroliuojamiems „luces“įrenginiams, naudojantiems RFID, taip pat galima gauti informaciją apie tai, kaip pasirinkti spalvas, priklausančias spalvotoms spalvoms, priklausančias spalvoms ir „Arduino“eskizui.
3 žingsnis: eskizuokite „Arduino“
Sukurkite eskizo eskizą, kuriame bus sukonfigūruota programinės įrangos konfigūracija, skirta praktinei praktikai.
#įtraukti
#įtraukti
#define RST_PIN 5 // RC522 9 atstatymas
#define SS_PIN 10 // SS 10 (PIN) PIN kodas 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 ---");
}
baitas „ActualUID“[4]; // almacenará el código del Tag leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};
baitų tardas [4] = {0xD7, 0x22, 0x1D, 0x01};
baitų noche [4] = {0xA0, 0x78, 0xBD, 0x4F};
int intdia = 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:");
(baitas i = 0; i <mfrc522.uid.size; i ++) {
Serijinis atspaudas (mfrc522.uid.uidByte <0x10? "0": "");
Serijinis atspaudas (mfrc522.uid.uidByte , HEX);
ActualUID = mfrc522.uid.uidByte ;
}
Serial.println (""); // comparamos los UID para determinar si es uno de nuestros usuarios
if (palygintiArray (ActualUID, dia)) {contdia ++;
jei (tęsinys == 1) {
analogWrite (ledrojo, 75);
analogWrite (ledverde, 75);
analogWrite (ledazul, 255);
Serial.println („Dato 1 dia“); } kitaip, jei (tęsinys == 2) {
tęsinys = 0;
analogWrite (ledrojo, 0); analogWrite (ledverde, 0);
analogWrite (ledazul, 0);
Serial.println („Dato 2 dia“);
}
}
if (palygintiArray (ActualUID, tarde)) {conttarde ++;
jei (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 (palygintiArray (ActualUID, noche)) {contnoche ++;
jei (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 faktinė mfrc522. PICC_HaltA ();
}
}
}
// Función para comparar dos vectoresboolean palygintiArray (baitų masyvas1 , baitų masyvas2 ) {
if (masyvas1 [0]! = masyvas2 [0]) return (false);
if (masyvas1 [1]! = masyvas2 [1]) return (false);
if (masyvas1 [2]! = masyvas2 [2]) return (false);
if (masyvas1 [3]! = masyvas2 [3]) return (false);
grįžti (tiesa);
}