Оглавление:

Luces RGB Con RFID Y Arduino: 3 шага
Luces RGB Con RFID Y Arduino: 3 шага

Видео: Luces RGB Con RFID Y Arduino: 3 шага

Видео: Luces RGB Con RFID Y Arduino: 3 шага
Видео: Tiras led WS2812B y cuadros con Arduino(Parte 3) 2024, Июль
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Контроль за осуществленным проектом для обозначенного "Сценария интерактивной истории" текущего видео и цифрового телевидения Западного автономного университета. El objetivo de este controlador es controlar las luces de día y noche, es decir, controlar la cantidad de luz para hacer una Representación de la zona horario que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Construcción del circuito y las componentrónicas necesarias.
  2. Construcción del sistema de reconocimiento al igual que el sistema software for el control de las luces.

Materiales a utilizar:

  • Protoboard ver
  • Computador
  • Версия Arduino UNO
  • Датчик RFID 522 ver
  • Bateria de 12V
  • Перемычки провода ver
  • Транзистор TIP31 ver.
  • Тира привела вер

Шаг 1: Montar El Circuito

Montar El Circuito
Montar El Circuito

Como se observa en la gráfica, el montaje del circuito se hace de esta manera teniendo en cuenta las polaridades de la batería, la tira led consta de 4 кабели, которые соответствуют цветам rojo, verde, azul y blanco.

Cada uno de los colores представляет собой графику, el color blanco соответствует a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V.

Шаг 2: Conectar El Módulo RFID

Conectar El Módulo RFID
Conectar El Módulo RFID

Чтобы контролировать использование RFID-меток, необходимо использовать цветовой код, определяющий цвет и эскиз Arduino.

Шаг 3: набросайте Arduino

En el siguiente sketch подбирает конфигурацию программного обеспечения для практической реализации дичи.

#включают

#включают

#define RST_PIN 5 // Вывод 9 для сброса RC522

#define SS_PIN 10 // Контакт 10 для SS (SDA) 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, ВЫХОД); // El LED Rojo como una salida

pinMode (ledverde, ВЫХОД); // El LED Verde como una salida

pinMode (ledazul, ВЫХОД); // El LED Azul como una salida

SPI.begin (); // Начальный SPI шины mfrc522. PCD_Init (); // Iniciamos el MFRC522

//Serial.println ("--- Leyendo tarjetas ---");

}

byte ActualUID [4]; // изменить код тега leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};

byte tarde [4] = {0xD7, 0x22, 0x1D, 0x01};

байт без номера [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 (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 (""); // сравнение UID для определения si es uno de nuestros usuarios

если (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");

}

}

если (compareArray (ActualUID, tarde)) {conttarde ++;

if (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ледазул, 93);

Serial.println («дата 1»); } else if (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("Dato 2 tarde"); }

}

если (compareArray (ActualUID, нет)) {contnoche ++;

if (contnoche == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ледазул, 87);

Serial.println ("Дата 1 ночь");

} else if (contnoche == 2) {

contnoche = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("Дата 2 ночи"); }

}

// Терминалы фактической лекции tarjeta tarjeta mfrc522. PICC_HaltA ();

}

}

}

// Функции для сравнения векторовboolean compareArray (byte array1 , byte array2 ) {

если (массив1 [0]! = массив2 [0]) return (false);

если (массив1 [1]! = массив2 [1]) return (false);

если (массив1 [2]! = массив2 [2]) return (false);

если (массив1 [3]! = массив2 [3]) return (false);

возврат (истина);

}

Рекомендуемые: