Isi kandungan:

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

PENGENALAN

El proyecto terdiri daripada simular un modelo de barrera de parqueadero en el cual se controla el acceso a un garaje con un sistema de reconocimiento por medio de tarjetas para RFID, al ser Detectado como miembro del parqueadero se levantara la barrera y se le dará acceso de los kenderaan.

Langkah 1: ELEMENTOS UTILIZADOS:

ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS

-Arduino uno

- papan kenyataan

-1 pantalla LCD con modulo I2C

-1 servomotor

-RFID y tarjetas

-kabel macho-macho y macho-hembra

- 2 mengganggu finales de carrera

- resistencias 10 k

Langkah 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

Bahagian depan papan nama. Initialmente se conectó el Arduino al protoboard, luego de esto se se hizo la conexión del servomotor al protoboard y se comprobó de que funcionara.

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

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

Langkah 3: Código

En este paso se anexa el código que se utilizó para darle funcionamiento a todos los komponenes 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); // #incluir // incluye la biblioteca de servos

#define s1 2 #define s2 4 Servo myservo1;

int Vs1; int Vs2;

int Jumlah = 5; int Espacio = 0;

int flag1 = 0; int flag2 = 1; int est1 = 0; int est2 = 0; int valida = valida; int invalida = invalida; 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); // Crear instancia del MFRC522 byte validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Ejemplo de clave valida byte validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // Ejemplo de clave valida // Función para perbandingan dos vectores bool isEqualArray (byte * arrayA, byte * arrayB, int length) {untuk (int index = 0; index <length; index ++) {if (arrayA [index] ! = arrayB [índice]) menyimpang falso; } devuelve verdadero; }

configuración vacía () {lcd.init (); LCD luz de fondo (); pinMode (s1, INPUT_PULLUP); pinMode (s2, INPUT_PULLUP); Serial.begin (9600); // Iniciar bersiri 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) {kelewatan (100); bendera1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; myservo1.write (90); } /// anti rebote perunding // Detectar tarjeta if (mfrc522. PICC_IsNewCardPresent () && Space <= 5 && flag2 == 1) {// Seleccionamos una tarjeta if (mfrc522. PICC_ReadCardSerial ()) {// Bandingkan ID las 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;} lain {Serial.println ("Tarjeta invalida"); invalida; mensaje3 ();} // Finalizar la lectura sebenar mfrc522. PICC_HaltA (); }} retraso (250); jika (Vs2 == 0) {retraso (200); bendera2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; retraso (2000); myservo1.write (90);}

jika (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("entra"); Espacio ++; Jumlah--; est1 = 0; } jika (Vs1 == 0 && Jumlah> = 0 && Jumlah <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio--; Jumlah ++; est1 = 0; } Serial.print (Jumlah); Cetakan bersiri (";"); 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 (); } batal mensaje2 () {lcd.setCursor (0, 1); lcd.print ("TIDAK DAPAT:"); lcd.print (jumlah); lcd.setCursor (0, 2); lcd.print ("OCUPADOS:"); lcd.print (Espacio); } batal mensaje3 () {lcd.setCursor (0, 0); lcd.print ("TARJETA INVALIDA"); retraso (2000); lcd.clear (); } batal mensaje4 () {lcd.setCursor (0, 0); lcd.print ("TARJETA VALIDA"); retraso (2000); lcd.clear (); }

Langkah 4: Montaje

Montaje
Montaje
Montaje
Montaje

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

Langkah 5: Final Resultado

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

Disyorkan: