Mundarija:

Luches RGB Con RFID Y Arduino: 3 qadam
Luches RGB Con RFID Y Arduino: 3 qadam

Video: Luches RGB Con RFID Y Arduino: 3 qadam

Video: Luches RGB Con RFID Y Arduino: 3 qadam
Video: How to make a LED digital counter using 7- Segment Display 2024, Iyul
Anonim
Luches RGB Con RFID Y Arduino
Luches RGB Con RFID Y Arduino

"Tarixlarning o'zaro aloqasi" mavzusida bir vaqtning o'zida nazorat qilish uchun Evropa universitetlarining raqamli televideniesi yordam beradi. Boshqaruv nazoratini amalga oshirishda siz hech qanday muammoga duch kelmasligingiz kerak, deb o'ylaysiz.

Kompyuterning farqi shundaki, u:

  1. Construcción del circuito y las komponentes electrónicas necesarias.
  2. Boshqaruv tizimida dasturiy ta'minotni qayta tuzish va nazorat qilish mumkin.

Foydalanish materiallari:

  • Protoboard versiyasi
  • Kompyuter
  • Arduino UNO versiyasi
  • Sensor RFID 522 ver
  • Batareya quvvati 12V
  • Jumpers simlari
  • Transistor TIP31 versiyasi
  • Tira led ver

1 -qadam: Montar El -Circuito

Montar El -Circuito
Montar El -Circuito

Alohida kuzatuvlar, shuningdek, 4 ta simli kabellar va kabellar bilan bog'lanish uchun, shuningdek, kontaktlarning zanglashiga olib kelishi mumkin.

Colo uno de los colores se en grafika, el rang blanco a la tierra (GND) que conecta al positivo de la fuente, en este caso de la batería de 12V.

2 -qadam: El -Moduloning RFID ulanishi

El -Moduloning RFID konstruktori
El -Moduloning RFID konstruktori

Bu RFID -ni nazorat qilish, rang -baranglik, rang -baranglik, Arduino eskizlari kabi tasvirlarni aniqlashga imkon beradi.

3 -qadam: Arduino eskizini yarating

Dasturiy ta'minotni konfiguratsiya qilish uchun dasturiy ta'minotni sketch -buyruqlar bilan to'ldiring.

#qo'shing

#qo'shing

#RST_PIN 5 -ni belgilang // RC522 -ni tiklash uchun 9 -pin

#define SS_PIN 10 // RC522 uchun SS (SDA) 10 -sonli pin

MFRC522 mfrc522 (SS_PIN, RST_PIN); /// RC522 uchun asosiy vositalar

int ledrojo = 1; int ledverde = 2;

int ledazul = 3;

void setup () {Serial.begin (9600); // Iniciamos La comunicacion seriali

pinMode (ledrojo, OUTPUT); // "El LED Rojo como una salida"

pinMode (ledverde, OUTPUT); // El -LED Verde bir xil ko'rinishga ega

pinMode (ledazul, OUTPUT); // Al LED Azul como una salida

SPI.begin (); // Avtobus SPI -ni ishga tushirish mfrc522. PCD_Init (); // MFRC522 ma'lumotlari

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

}

bayt ActualUID [4]; // olmacenará el código del Tag leídobyte dia [4] = {0xD3, 0xAD, 0x3B, 0x5B};

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

bayt 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 ()) {

// UID Serial.println ("Tarjimada:") buyrug'i bilan ishlash;

uchun (bayt i = 0; i <mfrc522.uid.size; i ++) {

Serial.print (mfrc522.uid.uidByte <0x10? "0": "");

Serial.print (mfrc522.uid.uidByte , HEX);

HaqiqiyUID = mfrc522.uid.uidByte ;

}

Serial.println (""); // taqqoslaganda, UID -ni aniqlash mumkin emas

if (comparArray (ActualUID, diia)) {contdia ++;

agar (davomi == 1) {

analogWrite (ledrojo, 75);

analogWrite (ledverde, 75);

analogWrite (ledazul, 255);

Serial.println ("Dato 1 diia"); } agar boshqa (davomi == 2) {

davomiy = 0;

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

analogWrite (ledazul, 0);

Serial.println ("Dato 2 diia");

}

}

if (comparArray (ActualUID, tarde)) {conttarde ++;

agar (davomi == 1) {

analogWrite (ledrojo, 255);

analogWrite (ledverde, 75);

analogWrite (ledazul, 93);

Serial.println ("Dato 1 tarde"); } agar boshqa (conttarde == 2) {

conttarde = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

if (comparArray (ActualUID, noche)) {contnoche ++;

agar (davomi == 1) {

analogWrite (ledrojo, 87);

analogWrite (ledverde, 87);

analogWrite (ledazul, 87);

Serial.println ("Dato 1 noche");

} if if if (contnoche == 2) {

contnoche = 0;

analogWrite (ledrojo, 0);

analogWrite (ledverde, 0);

analogWrite (ledazul, 0);

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

}

// Terminamos ma'ruza va tarjeta tarjeta haqiqiy mfrc522. PICC_HaltA ();

}

}

}

// Funksiyalar uchun taqqoslash vektorlariboolean solishtirishArray (bayt qator1 , bayt qator2 ) {

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

qaytish (haqiqiy);

}

Tavsiya: