Innholdsfortegnelse:

PARQUEADERO: 5 trinn
PARQUEADERO: 5 trinn

Video: PARQUEADERO: 5 trinn

Video: PARQUEADERO: 5 trinn
Video: ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! 2024, November
Anonim
PARQUEADERO
PARQUEADERO

INNLEDNING

El proyecto consiste en 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 for RFID, al ser detectado como miembro del parqueadero se levantara la barrera y se le dará acceso de los vehículos.

Trinn 1: ELEMENTOS UTILIZADOS:

ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS

-Arduino uno

- protoboard

-1 LCD -skjerm med modul I2C

-1 servomotor

-RFID og tarjetas

-kabler macho-macho og macho-hembra

- 2 interruptores finales de carrera

- motstand 10 k

Trinn 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

En este paso se hicieron las conexiones de todos los componentes con el Arduino y el protoboard. Inicialmente se conectó el Arduino al protoboard, luego de esto se sehizo la conexión del servomotor al protoboard y se comprobó de que funcionara.

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

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

Trinn 3: Utførelse

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

#define s1 2 #define s2 4 Servo myservo1;

int Vs1; int Vs2;

int Total = 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 for 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 // Funksjon for sammenligning av vektorer med isEqualArray (byte * arrayA, byte * arrayB, int length) {for (int index = 0; index <length; index ++) {if (arrayA [index] ! = arrayB [índice]) devuelve falso; } devuelve verdadero; }

konfiguración 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); flag1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; myservo1.write (90); } /// consultar anti rebote // Detectar tarjeta if (mfrc522. PICC_IsNewCardPresent () && Space <= 5 && flag2 == 1) {// Seleccionamos una tarjeta if (mfrc522. PICC_ReadCardSerial ()) {// Compare ID con 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;} else {Serial.println ("Tarjeta invalida"); invalida; mensaje3 ();} // Finalizar la lectura actual mfrc522. PICC_HaltA (); }} retraso (250); hvis (Vs2 == 0) {retraso (200); flag2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; retraso (2000); myservo1.write (90);}

hvis (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("entra"); Espacio ++; Total--; est1 = 0; } hvis (Vs1 == 0 && Total> = 0 && Total <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio--; Totalt ++; est1 = 0; } Serial.print (totalt); 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 (); } ugyldig mensaje2 () {lcd.setCursor (0, 1); lcd.print ("DISPONIBLE:"); lcd.print (totalt); lcd.setCursor (0, 2); lcd.print ("OCUPADOS:"); lcd.print (Espacio); } ugyldig mensaje3 () {lcd.setCursor (0, 0); lcd.print ("TARJETA INVALIDA"); retraso (2000); lcd.clear (); } ugyldig mensaje4 () {lcd.setCursor (0, 0); lcd.print ("TARJETA VALIDA"); retraso (2000); lcd.clear (); }

Trinn 4: Montaje

Montaje
Montaje
Montaje
Montaje

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

Trinn 5: Resultado Final

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

Anbefalt: