Სარჩევი:

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 ნაბიჯი
ვიდეო: Programar una tira de LEDs RGB direccionable con Arduino 2024, ნოემბერი
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Controlador de luces empleado para el proyecto en conunto denominado "Escenario de historias interactivas" for curso ვიდეო და სატელევიზიო ციფრული სატელევიზიო უნივერსიტეტის დასავლური ავტომატი. El objetivo de este controlador es controlar las luces de día y noche, es decir, controlar la cantidad de luz para hacer una წარმომადგენლობა de la zona horario que se desee.

სხვა პროპორციები შეადგინა სხვადასხვა განსხვავებები და შვილები:

  1. Construcción del circuito y las componentes electrónicas necesarias.
  2. სისტემური სისტემის შემუშავება, რომელიც მოიცავს სისტემურ პროგრამულ უზრუნველყოფას კონტროლის სისტემის კონტროლისთვის.

გამოყენების მასალები:

  • Protoboard ver
  • კომპიუტერული
  • Arduino UNO ver
  • სენსორი RFID 522 ver
  • ბატარეა 12 ვ
  • მხტუნავების მავთულები ver
  • ტრანზისტორი TIP31 ver
  • ტირა led ver

ნაბიჯი 1: Montar El Circuito

მონტარ ელ ცირკიტო
მონტარ ელ ცირკიტო

Como se observva 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 კაბელები რომელიც შეესაბამება Los Colores rojo, verde, azul y blanco.

Cada uno de los colores se përfaqësan en la gráfica, 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, თქვენ უნდა გამოიყენოთ ეს RFID, დაათვალიეროთ ის, თუ როგორ უნდა გამოიყენოთ ეს ფერი, რომელიც დამოკიდებულია Arduino– ს ესკიზზე და განსაზღვრავს მათ ლაქებს.

ნაბიჯი 3: ესკიზის არდუინო

ესკიზის ესკიზი, რომელიც შეიცავს პროგრამის რეალიზების პრაქტიკულ კონფიგურაციას.

#ჩართეთ

#ჩართეთ

#განსაზღვრეთ RST_PIN 5 // ჩამაგრეთ 9 RC522 გადატვირთვისთვის

#განსაზღვრეთ SS_PIN 10 // ჩაწერეთ 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;

void setup () {Serial.begin (9600); // Iniciamos La comunicacion სერიალი

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. დასაწყისი (); // Iniciamos el Bus SPI mfrc522. PCD_Init (); // Iniciamos el MFRC522

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

}

ბაიტი ActualUID [4]; // almacenará el código del Tag leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};

ბაიტ ტარდე [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 (ბაიტი 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 (შეადარეთ Array (ActualUID, dia)) {contdia ++;

თუ (გაგრძელება == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("დათო 1 დია"); } სხვა თუ (გაგრძელება == 2) {

კონდიცია = 0;

analogWrite (ledrojo, 0); analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("დათო 2 დია");

}

}

if (შეადარეთArray (ActualUID, tarde)) {conttarde ++;

if (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("დათო 1 ტარდე"); } else if (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("დათო 2 ტარდე"); }

}

if (შეადარეთArray (ActualUID, noche)) {contnoche ++;

თუ (გაგრძელება == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("დათო 1 ნოჩე");

} else if (contnoche == 2) {

კონტოჩე = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

Serial.println ("დათო 2 ნოჩე"); }

}

// Terminamos la lectura de la tarjeta tarjeta ფაქტობრივი mfrc522. PICC_HaltA ();

}

}

}

// Función para comparar dos vectoresboolean compareArray (byte array1 , byte array2 ) {

if (მასივი 1 [0]! = მასივი 2 [0]) დაბრუნება (მცდარი);

if (მასივი 1 [1]! = მასივი 2 [1]) დაბრუნება (ყალბი);

if (მასივი 1 [2]! = მასივი 2 [2]) დაბრუნება (ყალბი);

if (მასივი 1 [3]! = მასივი 2 [3]) დაბრუნება (ყალბი);

დაბრუნება (ჭეშმარიტი);

}

გირჩევთ: