Mündəricat:

PARQUEADERO: 5 addım
PARQUEADERO: 5 addım

Video: PARQUEADERO: 5 addım

Video: PARQUEADERO: 5 addım
Video: Bakı metrosunda gənclərin elədiyi zarafat 2024, Noyabr
Anonim
PARQUEADERO
PARQUEADERO

GİRİŞ

RFID -in ən yüksək standartlarına uyğun olaraq, bu sistemin bir hissəsi olaraq, sistemin yenidən qurulmasını təmin edir. los nəqliyyat vasitələri.

Addım 1: ELEMENTOS UTILIZADOS:

Elementos istifadə
Elementos istifadə
Elementos istifadə
Elementos istifadə

-Arduino uno

- protoboard

-I2C modullu LCD panel

-1 servomotor

-RFID və tarjetlər

-kabellər macho-macho y macho-hembra

- Carrera -nın finalında 2 müdaxilə

- müqavimət 10 k

Addım 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

Arduino və prototip lövhələri arasında ən çox istifadə olunan komponentlər. Arduino protokol lövhələri, xidmətlərin göstərilməsi və idarə edilməsi ilə əlaqədar olaraq, protokol lövhəsi açılır.

RFID və ya digər komponentlərin funksiyalarını düzəltmək üçün bütün məlumatları əldə edin.

10K müqavimətini orta hesabla başa çatdırmaq üçün bir nəticə əldə edə bilərsiniz.

Addım 3: Codigo

Bu, ən çox istifadə edilən komponentlər və komponentlər üçün ən çox ehtiyac duyduğunuz şeydir.

#incluir #incluir #incluir // DESCARGAR LIBRERÍA: https://github.com/ELECTROALL/Codigos-arduino/blob/master/LiquidCrystal_I2C.zip LiquidCrystal_I2C lcd (0x27, 20, 4); // #incluir // xidmətlər biblioteca de

#define s1 2 #define s2 4 Servo myservo1;

int Vs1; int Vs2;

int Cəmi = 5; int Espacio = 0;

int bayrağı1 = 0; int bayrağı2 = 1; int est1 = 0; int est2 = 0; int valida = valida; int əlil = əlil; const int RST_PIN = 9; // RC522 const int SS_PIN = 10 sıfırlama üçün 9 pin; // Pin 10 üçün SS (SDA) del RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // CreF instancia del MFRC522 byte validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Ejemplo de clave valida bayt validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // Ejemplo de clave valida // Functón üçün müqayisə etmək olar ki, isEqualArray (bayt * arrayA, bayt * arrayB, int uzunluğu) {for (int index = 0; index <length; index ++) {if (arrayA [index] ! = arrayB [índice]) devuelve falso; } devuelve verdadero; }

konfiqurasiya () {lcd.init (); LCD ekran fondu (); pinMode (s1, INPUT_PULLUP); pinMode (s2, INPUT_PULLUP); Serial.begin (9600); // İndiki serial SPI.begin (); // İndiki SPI mfrc522. PCD_Init (); // Iniciar MFRC522 myservo1.attach (3); myservo1.write (100);

mensaje1 (); } bucle vacío () {Vs1 = digitalRead (s1); Vs2 = digitalRead (s2); mensaje2 (); /// ponerle condicional if (Vs1 == 0) {delay (100); bayraq1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; myservo1.write (90); } /// məsləhətçi anti rebote // Targeta if (mfrc522. PICC_IsNewCardPresent () && Space <= 5 && flag2 == 1) {// Seleccionamos una tarjeta if (mfrc522. PICC_ReadCardSerial ()) {// Müqayisə edin claves válidas if ((isEqualArray (mfrc522.uid.uidByte, validKey1, 4)) || (isEqualArray (mfrc522.uid.uidByte, validKey2, 4))) {Serial.println ("Tarjeta valida"); valida; mensaje4 (); myservo1.write (-90); est1 = 1;} başqa {Serial.println ("Tarjeta əlil"); əlil; mensaje3 ();} // Faktiki olaraq mfrc522. PICC_HaltA (); }} retraso (250); if (Vs2 == 0) {retraso (200); bayraq2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; retraso (2000); myservo1.write (90);}

əgər (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("giriş"); Espacio ++; Ümumi--; est1 = 0; } if (Vs1 == 0 && Total> = 0 && Total <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio-; Cəmi ++; est1 = 0; } Serial.print (Cəmi); Serial.print (";"); Serial.println (espacio); }

mensaje1 vacío () {lcd.setCursor (0, 1); lcd.print ("BIENVENIDOS"); lcd. comienzo (A4, A5); lcd.setCursor (0, 1); lcd.print ("SISTEMA"); lcd.setCursor (0, 2); lcd.print ("DE PARQUEO"); retraso (2000); lcd.clear (); } boş mensaje2 () {lcd.setCursor (0, 1); lcd.print ("SÖZLƏNMƏZ:"); lcd çap (cəmi); lcd.setCursor (0, 2); lcd.print ("OCUPADOS:"); lcd çap (Espacio); } boş mensaje3 () {lcd.setCursor (0, 0); lcd.print ("TARJETA INVALIDA"); retraso (2000); lcd.clear (); } boş mensaje4 () {lcd.setCursor (0, 0); lcd.print ("TARJETA VALIDA"); retraso (2000); lcd.clear (); }

Addım 4: Montaje

Montaje
Montaje
Montaje
Montaje

İstifadəçilərin ən çox ehtiyac duyduqları vəzifələri yerinə yetirmək üçün bu proqramlar qurulacaqdır.

Addım 5: Nəticə Finalı

Nəticə çıxarıldığı təqdirdə, sistemin bütün funksiyalarını yerinə yetirmək üçün son nəticəni əldə edin.

Tövsiyə: