Índice:
Vídeo: Luces RGB Con RFID Y Arduino: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Controlador de luces empleado para o projeto em conjunto denominado "Escenario de historias interactivas" do curso Vídeo e televisão digital da Universidad Autónoma de Occidente. O objetivo de este controlador es controlar las luces de dia y noche, es decir, controlar la cantidad de luz para hacer una representación de la zona horario that se desee.
El proyecto de compone de diferentes etapas como son:
- Construcción del circuito y las componentes electrónicas necesarias.
- Construir o sistema de reconhecimento ao mesmo tempo que o software do sistema para o controle das vitórias.
Materiales a utilizar:
- Protoboard versão
- Computador
- Arduino UNO versão
- Sensor RFID 522 ver
- Bateria de 12V
- Fios de jumpers ver
- Transistor TIP31 ver
- Tira led ver
Etapa 1: Montar El Circuito
Como se observa na gráfica, a montagem do circuito se torna esta manera tenenciada na cor das polaridades da bateria, a tira led consta de 4 cabos que correspondem às cores vermelho, verde, azul e branco.
Cada um das cores é representado na gráfica, a cor blanco corresponde à terra (GND) que se conecta ao positivo do futuro, neste caso da bateria de 12V.
Etapa 2: Conectar El Módulo RFID
Para controlar as luces se hace uso do RFID, faça cada vez que passar a tarjeta las luces deben cambiar de cor, dependendo das cores definidas no sketch de Arduino.
Etapa 3: Sketch Arduino
No seguinte esboço podrás encontrar a configuração de software para realizar dicha prática.
#incluir
#incluir
#define RST_PIN 5 // Pino 9 para el reset del RC522
# define SS_PIN 10 // Pino 10 para o SS (SDA) del RC522
MFRC522 mfrc522 (SS_PIN, RST_PIN); /// Criamos o 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 ---");
}
byte ActualUID [4]; // almacenará o código do 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;
void loop () {if (mfrc522. PICC_IsNewCardPresent ()) {
void loop () {if (mfrc522. PICC_IsNewCardPresent ()) {
// Enviamos serialemente su UID Serial.println ("Id targejta:");
para (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
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, tarde)) {conttarde ++;
if (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 (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"); }
}
// Terminamos a leitura da tarjeta tarjeta atual mfrc522. PICC_HaltA ();
}
}
}
// Função para 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);
return (true);
}
Recomendado:
Arduino Nano Baised RGB controlado por LED RGB: 5 etapas
Arduino Nano Baised LED RGB controlado por IR: neste pequeno projeto, quero mostrar como construí um LED RGB baseado em Arduino que é controlado por IR remoto e alimentado por cabo USB
Luces Direccionales Para Bicicleta: 3 Passos
Luces Direccionales Para Bicicleta: hola que tal gente! Muchas veces hay personas que usan la bicicleta como medio de transporte, ya que es amigable con el mundo, y es mas economico, pero el problema es que las sem cuentan con iluminacion para ser vistos por los automovilista
Luces De Navidad Con Relevadores (Luzes de Natal com Relé): 17 Passos
Luces De Navidad Con Relevadores (Luzes de Natal com Relé): Como configurar Relevadores usando Vixen Lights e ArduinoQue es Vixen Lights? Vixen Lights é um software de DIY (h á galo usted mismo) secuencias de luces. La ultimo versi ó n 3.x se redise ñ o completamente para soportar p í xel
Luces De Navidad Con Pixeles (Luzes de Natal Pixeles) Español - Inglês: 18 Passos (com imagens)
Luces De Navidad Con Pixeles (Christmas Lights Pixeles) Español - English: EspañolQue es Vixen Lights? Vixen Lights é um software de DIY (hágalo usted mismo) secuencias de luces. A última versão 3.x foi redefinida completamente para suportar píxeles RGB inteligentes.Lo puedes descargar en la siguiente liga http: //www.vixenl
Luces De Auto Fantástico: 3 etapas
Luces De Auto Fantástico: les quiero compartir un circuito, el cual emula los efeitos de kit el auto fantastico, 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