Daftar Isi:

PARQUEADERO: 5 Langkah
PARQUEADERO: 5 Langkah

Video: PARQUEADERO: 5 Langkah

Video: PARQUEADERO: 5 Langkah
Video: HYUNDAI IONIQ 5 2022 - demonstração de assistência SMART PARKING remota (legal TECNOLOGIA) 2024, November
Anonim
PARQUEADERO
PARQUEADERO

PENDAHULUAN

El proyecto konsisten dan modelo de barrera de parqueadero en el cual se controla el acceso a un garaje con un sistema de reconocimiento por medio de tarjetas untuk RFID, al ser mendeteksi como miembro del parqueadero se levantara la barrera y se le dará acceso de kehilangan kendaraan.

Langkah 1: ELEMENTOS UTILIZADOS:

PENGGUNAAN ELEMEN
PENGGUNAAN ELEMEN
PENGGUNAAN ELEMEN
PENGGUNAAN ELEMEN

-arduino uno

- papan prototipe

-1 pantalla LCD dengan modulo I2C

-1 motor servo

-RFID dan tarjetas

-kabel macho-macho dan macho-hembra

- 2 interupsi finales de carrera

- resistensi 10 k

Langkah 2: Conexiones

conexione
conexione
conexione
conexione
conexione
conexione

En este paso se hicieron las conexiones de todos los komponen con el Arduino dan protoboard. Inisial untuk menghubungkan protoboard Arduino al, luego de esto se hizo la conexión del servomotor al protoboard dan comprobó de que funcionara.

Seguido de esto se conectó la pantalla y el RFID e igualmente se comprobó de que estos componentes funcionan correctamente.

Oleh ltimo se conectaron los finales de carrera por medio de resistencias de 10K.

Langkah 3: Codigo

En este paso se anexa el código que se utilizó para darle funcionamiento a todos los componentes del parqueadero.

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

#define s1 2 #define s2 4 Servo myservo1;

int Vs1; int Vs2;

int Jumlah = 5; int Espacio = 0;

int bendera1 = 0; int bendera2 = 1; int est1 = 0; int est2 = 0; int valida = valida; int invalida = tidak valid; const int RST_PIN = 9; // Pin 9 para el reset del RC522 const int SS_PIN = 10; // Pin 10 para el SS (SDA) del RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Hapus instancia del MFRC522 byte validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Contoh de clave valida byte validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // Contoh de clave valida // Fungsi untuk membandingkan file vektor bool isEqualArray (byte * arrayA, byte * arrayB, int panjang) {for (int indeks = 0; indeks <panjang; indeks ++) {jika (arrayA [indeks] ! = arrayB [índice]) devuelve falso; } devuelve verdadero; }

konfigurasi vacía () {lcd.init (); LCD luz de fondo(); pinMode (s1, INPUT_PULLUP); pinMode (s2, INPUT_PULLUP); Serial.begin (9600); // Iniciar serial SPI.begin(); // Iniciar 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); bendera1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; myservo1.write (90); } /// Consultar anti rebote // Mendeteksi tarjeta if (mfrc522. PICC_IsNewCardPresent () && Spasi <= 5 && flag2 == 1) {// Seleccionamos una tarjeta if (mfrc522. PICC_ReadCardSerial ()) {// Bandingkan ID dengan las claves válidas if ((isEqualArray (mfrc522.uid.uidByte, validKey1, 4)) || (isEqualArray (mfrc522.uid.uidByte, validKey2, 4))) {Serial.println ("Tarjeta valida"); sah; mensaje4(); myservo1.write (-90); est1 = 1;} else {Serial.println("Tarjeta invalida"); tidak valid; mensaje3();} // Finalizar la lectura actual mfrc522. PICC_HaltA(); }} mundur (250); if (Vs2 == 0) {retraso (200); bendera2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; retraso (2000); myservo1.write (90);}

if (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print("masuk"); Espacio++; Total--; est1 = 0; } if (Vs1 == 0 && Total> = 0 && Total <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print("venta"); Espacio--; Jumlah ++; est1 = 0; } Serial.print (Total); 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(); } void mensaje2 () {lcd.setCursor (0, 1); lcd.print("BISA DIHAPUS:"); lcd.print (total); lcd.setCursor (0, 2); lcd.print("OCUPADOS:"); lcd.print (Espacio); } void mensaje3 () {lcd.setCursor (0, 0); lcd.print("TARJETA INVALIDA"); retraso (2000); lcd.clear(); } void mensaje4 () {lcd.setCursor (0, 0); lcd.print("TARJETA VALIDA"); retraso (2000); lcd.clear(); }

Langkah 4: Montaje

Montaj
Montaj
Montaj
Montaj

Luego de hacer todas las conexiones y de comprobar que el código realizara las funciones requeridas para cada condición del parqueadero, se procede a realizar el montaje de la esstructura.

Langkah 5: Hasil Akhir

Lihat anexa un video del resultado final del proyecto, donde se puede observar el funcionamiento de todo el sistema del parqueadero.

Direkomendasikan: