সুচিপত্র:

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

Controlador de luces empleado para el proyecto en conjunto denominado "Escenario de historias interactivas" del curso Video y televisión digital de la Universidad Autónoma de Occidente। 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. কনস্ট্রাকশন ডেল সার্কিটো এবং লাস কম্পোনেন্টস ইলেক্ট্রনিক্স নেসেসারিয়াস।
  2. Construcción del sistema de reconocimiento al igual que el sistema software para el control de las luces।

উপযোগী উপাদান:

  • Protoboard ver
  • গণনাকারী
  • Arduino UNO ver
  • সেন্সর RFID 522 ver
  • Bateria de 12V
  • Jumpers তারের ver
  • ট্রানজিস্টার TIP31 ver
  • Tira নেতৃত্বাধীন ver

ধাপ 1: মনটার এল সার্কিটো

মনতার এল সার্কিটো
মনতার এল সার্কিটো

কোমো সে অবজারভা এন লা গ্রাফিকা, এল মন্টাজে দেল সার্কিটো সে হেসে দে এস্তা মেনেরা টেনিয়েন্ডো এন কুয়েন্টা লাস পোলারিডেডস দে লা বাটারিয়া, লা টিরা নেতৃত্বাধীন কনস্টা ডি 4 কেবলস কিউ কাসেপেন এ লস কালোরস রোজো, ভার্দে, অজুল ওয়াই ব্ল্যাঙ্কো।

Cada uno de los colores se representan en la gráfica, el colour blanco corresponde a la tierra (GND) que se conecta al positivo de la fuente, en este caso de la batería de 12V।

ধাপ 2: কানেক্টর এল মেডুলো আরএফআইডি

কানেক্টর এল মেডুলো আরএফআইডি
কানেক্টর এল মেডুলো আরএফআইডি

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

ধাপ 3: Arduino স্কেচ

En el siguiente sketch podrás encontrar la configuración de software for realizar dicha practica।

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

#নির্ধারণ করুন RST_PIN 5 // পিন 9 প্যারা এল রিসেট ডেল RC522

#SS_PIN 10 নির্ধারণ করুন // এল এসএস (SDA) del RC522 পিন 10

MFRC522 mfrc522 (SS_PIN, RST_PIN); /// Creamos el objeto para el RC522

int ledrojo = 1; int ledverde = 2;

int ledazul = 3;

অকার্যকর সেটআপ () {Serial.begin (9600); // Iniciamos La comunicacion সিরিয়াল

পিনমোড (লিড্রোজো, আউটপুট); // এল এলইডি রোজো কমো উনা সালিদা

pinMode (ledverde, আউটপুট); // এল এলইডি ভার্দে কমো উনা সালিদা

পিনমোড (লেডাজুল, আউটপুট); // এল এলইডি আজুল কমো উনা সালিদা

SPI.begin (); // Iniciamos এল বাস 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;

অকার্যকর লুপ () {যদি (mfrc522. PICC_IsNewCardPresent ()) {

অকার্যকর লুপ () {যদি (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

যদি (compareArray (ActualUID, dia)) {contdia ++;

যদি (contdia == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 dia"); } অন্যথায় যদি (contdia == 2) {

contdia = 0;

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

analogWrite (ledazul, 0);

Serial.println ("Dato 2 dia");

}

}

যদি (compareArray (ActualUID, tarde)) {conttarde ++;

যদি (conttarde == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } অন্যথায় যদি (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

যদি (compareArray (ActualUID, noche)) {contnoche ++;

যদি (contnoche == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} অন্যথায় যদি (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);

প্রত্যাবর্তন (সত্য);

}

প্রস্তাবিত: