فهرست مطالب:

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 مرحله
تصویری: Lesson 03: Project LED Blink Breadboard and Resistor | Robojax Arduino Step By Step Course 2024, نوامبر
Anonim
Luces RGB Con RFID Y Arduino
Luces RGB Con RFID Y Arduino

Controlador de luces empleado para el proyecto en conjunto denominado "Escenario de historias interactivas" del 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 nûner det de de la zona horario que se desee.

El proyecto de compone de diferentes etapas como son:

  1. Construcción del circuito y las componentes electrónicas necesarias.
  2. ساخت سیستم های نرم افزاری جدید برای کنترل نرم افزار سیستم کنترل و کنترل دستگاه ها.

مواد استفاده کننده:

  • Protoboard ver
  • کامپیوتر
  • آردوینو UNO ور
  • سنسور RFID 522 ورژن
  • باترییا 12 ولت
  • Jumpers wires ver
  • ترانزیستور TIP31 ور
  • تیرا led ver

مرحله 1: Montar El Circuito

Montar El Circuito
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 cables que korresponden a 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

Para controlar las luces se hace uso del RFID، donde cada vez que pasemos la tarjeta las luces deben cambiar de color، dependinendo de los colores definidos en el sketch de Arduino.

مرحله 3: طراحی آردوینو

به منظور پیاده سازی برنامه های کاربردی ، پیکربندی برنامه های پیکربندی را انجام دهید.

#عبارتند از

#عبارتند از

#تعریف RST_PIN 5 // پین 9 برای بازنشانی RC522

#تعریف SS_PIN 10 // پین 10 برای 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؛

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.begin ()؛ // 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 ؛

حلقه خالی () {if (mfrc522. PICC_IsNewCardPresent ()) {

حلقه خالی () {if (mfrc522. PICC_IsNewCardPresent ()) {

// Enviamos serialemente su UID Serial.println ("Id targejta:")؛

برای (بایت 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 la lectura de la tarjeta tarjeta actual mfrc522. PICC_HaltA ()؛

}

}

}

// Función para comparar dos vectoresboolean compareArray (آرایه بایت 1 ، آرایه بایت 2 ) {

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)؛

بازگشت (درست) ؛

}

توصیه شده: