Taula de continguts:
Vídeo: Luces RGB Con RFID Y Arduino: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Controlador de luces empleat per al projecte en conjunt denominat "Escenari d'històries interactives" del curs Video i televisió digital de la Universitat Autònoma d'Occident. L’objectiu d’aquest controlador és controlar les luces de dia i nit, és dir, controlar la quantitat de llum per fer una representació de la zona horari que es desee.
El projecte de composició de diferents etapes com son:
- Construcció del circuit i els components electrònics necessaris.
- Construcció del sistema de reconeixement igual que el sistema programari per al control de les luces.
Materials a utilitzar:
- Protoboard ver
- Computador
- Arduino UNO ver
- Sensor RFID 522 ver
- Bateria de 12V
- Jumpers Wires ver
- Transistor TIP31 ver
- Tira led ver
Pas 1: Montar El Circuit
Com s’observa en la gràfica, el muntatge del circuit es fa d’aquesta manera tenint en compte les polaritats de la bateria, la tira led consta de 4 cables que corresponen als colors vermells, verds, blaus i blancs.
Cada un dels colors es representa en la gràfica, el color blanc correspon a la terra (GND) que es connecta al positiu de la font, en aquest cas de la bateria de 12V.
Pas 2: Conectar El Módulo RFID
Per controlar les luces es fa ús del RFID, on cada vegada que passem la targeta les luces han de canviar de color, depenent dels colors definits en el sketch d’Arduino.
Pas 3: Sketch Arduino
En el següent esbós es podrà trobar la configuració de programari per realitzar pràctica.
#incloure
#incloure
#define RST_PIN 5 // Pin 9 per al reset del RC522
#define SS_PIN 10 // Pin 10 para el 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;
configuració nul·la () {Serial.begin (9600); // Iniciamos La comunicacion serial
pinMode (ledrojo, OUTPUT); // El LED Rojo com una sortida
pinMode (ledverde, OUTPUT); // El LED Verde como una salida
pinMode (ledazul, OUTPUT); // El LED Azul com una sortida
SPI.begin (); // Iniciamos el Bus SPI mfrc522. PCD_Init (); // Iniciamos el MFRC522
//Serial.println ("--- Leyendo tarjetas ---");
}
byte ActualUID [4]; // emmagatzemarà el codi del Tag leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};
byte tarda [4] = {0xD7, 0x22, 0x1D, 0x01};
byte noche [4] = {0xA0, 0x78, 0xBD, 0x4F};
int contdia = 0, conttarde = 0, contnoche = 0;
bucle buit () {if (mfrc522. PICC_IsNewCardPresent ()) {
bucle buit () {if (mfrc522. PICC_IsNewCardPresent ()) {
// Enviamos serialemente su UID Serial.println ("Id targejta:");
for (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 (""); // comparem els UID per determinar si és un dels nostres usuaris
if (compareArray (ActualUID, dia)) {contdia ++;
if (contdia == 1) {
analogWrite (ledrojo, 75);
analogWrite (ledverde, 75);
analogWrite (ledazul, 255);
Serial.println ("Dato 1 dia"); } else if (contdia == 2) {
contdia = 0;
analogWrite (ledrojo, 0); analogWrite (ledverde, 0);
analogWrite (ledazul, 0);
Serial.println ("Dato 2 dia");
}
}
if (compareArray (ActualUID, tarda)) {conttarde ++;
if (conttarde == 1) {
analogWrite (ledrojo, 255);
analogWrite (ledverde, 75);
analogWrite (ledazul, 93);
Serial.println ("Dato 1 tarda"); } else if (conttarde == 2) {
conttarde = 0;
analogWrite (ledrojo, 0);
analogWrite (ledverde, 0);
analogWrite (ledazul, 0);
Serial.println ("Dato 2 tarda"); }
}
if (compareArray (ActualUID, noche)) {contnoche ++;
if (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"); }
}
// Terminem la lectura de la targeta targeta actual mfrc522. PICC_HaltA ();
}
}
}
// Funció per comparar dos vectoresboolean compareArray (byte array1 , byte array2 ) {
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);
retorn (cert);
}
Recomanat:
Rellotge RGB RGB de 5 lliures *: 8 passos
5 € * Rellotge RGB de Pizza Box: aquest projecte va començar quan vaig tenir la sort de trobar alguns rotlles de cinta LED WS2811 RGB per 1 GBP / rotlle en una parada del mercat. La ganga era massa bona per perdre-la i, per tant, vaig haver de trobar un motiu per utilitzar els 25 milions que vaig adquirir recentment del que bàsicament és la cinta NeoPixel. Jo
Luces Direccionales Para Bicicleta: 3 Steps
Luces Direccionales Para Bicicleta: hola que tal gent! Moltes vegades hi ha persones que usen la bicicleta com a mitjà de transport, ja que és amigable amb el món, i és més econòmic, però el problema és que les bicicletes no queden amb il·luminació per ser vistos per los automovilista
ESP8266 RGB LED STRIP WIFI Control - NODEMCU com a comandament a distància IR per a tira LED controlada per Wifi - Control de telèfons RGB LED STRIP: 4 passos
ESP8266 RGB LED STRIP WIFI Control | NODEMCU com a comandament a distància IR per a tira LED controlada per Wifi | Control de telèfons RGB LED STRIP: Hola nois, en aquest tutorial aprendrem a utilitzar nodemcu o esp8266 com a comandament a distància IR per controlar una tira LED RGB i Nodemcu serà controlat per smartphone mitjançant wifi. Així, bàsicament, podeu controlar la RGB LED STRIP amb el vostre telèfon intel·ligent
Luces De Navidad Con Pixeles Español-English: 18 passos (amb imatges)
Luces De Navidad Con Pixeles (Christmas Lights Pixeles) Español - English: EspañolQue es Vixen Lights? Vixen Lights és un programari de bricolatge (hágalo usted mismo) secuencias de luces. La darrera versió 3.x es redissenyarà completament per suportar píxels RGB intel·ligents
Luces De Auto Fantástico: 3 Passos
Luces De Auto Fantástico: les quiero compartir un circuito, el cual emula los efectos de kit el auto fantástico, el corazon de este circuito es el digispark, una placa de desarrollo parecida al arduino, se programa con el mismo IDE y eso lo hace mas facilMateriales1 protobo