Sisällysluettelo:
Video: Luces RGB Con RFID Y Arduino: 3 vaihetta
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Controlador de luces empleado para el proyecto en conjunto denominado "Escenario de historias interactivas" del curso Video and televisionisón digital de la Universidad Autónoma de Occidente. El Objetivo de este controlador and controlar las luces de día y noche, es decir, controlar la cantidad de luz para hacer una representationción de la zona horario que se desee.
Proproect de de compone de diferentes etapas como son:
- Sähköpiirin ja lasikomponenttien rakentaminen.
- Rakentaminen järjestelmän palauttamista varten igual que el -järjestelmän ohjelmistoon las luces -ohjaimessa.
Materiaalit ja käyttötavat:
- Protoboard ver
- Tietokone
- Arduino UNO ver
- Anturi RFID 522 ver
- Akku 12V
- Puserot johdot ver
- Transistori TIP31 ver
- Tira johti ver
Vaihe 1: Montar El Circuito
Como se observa en la gráfica, el montaje del circuitito se hace de esta manera teniendo en cuenta las polaridades de la batteryía, la tira led consta de 4 cable queresponden a los colores rojo, verde, azul y blanco.
Cada uno de los colores se representan en la gráfica, el color blanco vastaa a la tierra (GND) que se conacta al positivo de la fuente, en este caso de la batería de 12V.
Vaihe 2: Conectar El Módulo RFID
Voit hallita RFID: n hallittavia las luces -laitteita, joissa on cada vez que pasemos la tarjeta las luces deben cambiar de color.
Vaihe 3: Piirrä Arduino
En el siguiente sketch podrás encontrar de configuración de software for para para realisation dicha Practica.
#sisältää
#sisältää
#define RST_PIN 5 // RC522 -nollauksen nasta 9
#define SS_PIN 10 // SS 10 (SSA) nasta 10 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 -sarja
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 ---");
}
tavu ActualUID [4]; // almacenará el código del Tag leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};
tavu tarde [4] = {0xD7, 0x22, 0x1D, 0x01};
tavu 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:");
for (tavu i = 0; i <mfrc522.uid.size; i ++) {
Serial.print (mfrc522.uid.uidByte <0x10? "0": "");
Serial.print (mfrc522.uid.uidByte , HEX);
TodellinenUID = mfrc522.uid.uidByte ;
}
Serial.println (""); // comparamos los UID para determinar si es uno de nuestros usuarios
if (vertaaArray (ActualUID, dia)) {jatkuu ++;
jos (jatkoa == 1) {
analogWrite (ledrojo, 75);
analogWrite (ledverde, 75);
analogWrite (ledazul, 255);
Serial.println ("Dato 1 dia"); } muu jos (jatkoa == 2) {
jatkuu = 0;
analogWrite (ledrojo, 0); analogWrite (ledverde, 0);
analogWrite (ledazul, 0);
Serial.println ("Dato 2 dia");
}
}
if (vertaaArray (ActualUID, tarde)) {conttarde ++;
jos (conttarde == 1) {
analogWrite (ledrojo, 255);
analogWrite (ledverde, 75);
analogWrite (ledazul, 93);
Serial.println ("Dato 1 tarde"); } muu jos (conttarde == 2) {
conttarde = 0;
analogWrite (ledrojo, 0);
analogWrite (ledverde, 0);
analogWrite (ledazul, 0);
Serial.println ("Dato 2 tarde"); }
}
if (vertaaArray (ActualUID, noche)) {contnoche ++;
jos (contnoche == 1) {
analogWrite (ledrojo, 87);
analogWrite (ledverde, 87);
analogWrite (ledazul, 87);
Serial.println ("Dato 1 noche");
} muu jos (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 fact mfrc522. PICC_HaltA ();
}
}
}
// Función para comparar dos vectoresboolean compaArray (tavutaulukko1 , tavutaulukko2 ) {
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);
paluu (tosi);
}