Table des matières:

PARQUEADERO: 5 Étapes
PARQUEADERO: 5 Étapes

Vidéo: PARQUEADERO: 5 Étapes

Vidéo: PARQUEADERO: 5 Étapes
Vidéo: An easy way to park your car, how do you all park your cars? 2024, Novembre
Anonim
PARQUEADERO
PARQUEADERO

INTRODUCTION

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

Étape 1: ELEMENTOS UTILIZADOS:

ÉLÉMENTS UTILISÉS
ÉLÉMENTS UTILISÉS
ÉLÉMENTS UTILISÉS
ÉLÉMENTS UTILISÉS

-Arduino uno

- protoboard

-1 écran LCD avec module I2C

-1 servomoteur

-RFID et tarjetas

-câbles macho-macho y macho-hembra

- 2 interruptions finales de carrera

- résistances 10 k

Étape 2: Connexions

Connexions
Connexions
Connexions
Connexions
Connexions
Connexions

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 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 e igualmente se compose de que estos componentes funcionan correctamente.

Pour l'ultimo se conectaron los finales de carrera por medio de resistencias de 10K.

Étape 3: Código

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); // #incluir // incluye la biblioteca de servos

#définir s1 2 #définir s2 4 Servo myservo1;

int Vs1; int Vs2;

entier = 5; int Espacio = 0;

int indicateur1 = 0; int indicateur2 = 1; int est1 = 0; int est2 = 0; int valida = valida; int invalide = invalide; const entier RST_PIN = 9; // Pin 9 para el reset del RC522 const int SS_PIN = 10; // Pin 10 par el SS (SDA) del RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Crée l'instance du MFRC522 octet validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Exemple de validation d'octet validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // Ejemplo de clave valida // Función para comparar dos vectores bool isEqualArray (byte * arrayA, byte * arrayB, int length) {for (int index = 0; index <length; index ++) {if (arrayA [index] ! = arrayB [índice]) devuelve falso; } devuelve verdadero; }

configuration vide () {lcd.init (); LCD luz de fondo(); pinMode (s1, INPUT_PULLUP); pinMode (s2, INPUT_PULLUP); Serial.begin (9600); // Iniciar série SPI.begin (); // Initier SPI mfrc522. PCD_Init (); // Iniciar MFRC522 myservo1.attach (3); monservo1.write (100);

mensaje1 (); } bucle vacío () {Vs1 = digitalRead (s1); Vs2 = lecture numérique (s2); mensaje2 (); /// ponerle condicional if (Vs1 == 0) {delay (100); drapeau1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; monservo1.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 valides if ((isEqualArray (mfrc522.uid.uidByte, validKey1, 4)) || (isEqualArray (mfrc522.uid.uidByte, validKey2, 4))) {Serial.println ("Tarjeta valida"); valider; mensaje4 (); monservo1.write (-90); est1 = 1;} else {Serial.println ("Tarjeta invalida"); invalide; mensaje3 ();} // Finalizar la lectura actuelle mfrc522. PICC_HaltA (); }} rétro (250); si (Vs2 == 0) {retraso (200); indicateur2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; rétro (2000); monservo1.write (90);}

si (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("entra"); Espace ++; Le total--; est1 = 0; } si (Vs1 == 0 && Total> = 0 && Total <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio--; Totale ++; 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"); rétro (2000); lcd.clear (); } void mensaje2 () {lcd.setCursor (0, 1); lcd.print ("DISPONIBLE:"); lcd.print (total); lcd.setCursor (0, 2); lcd.print ("OCUPADOS:"); lcd.print (Espacio); } void mensaje3 () {lcd.setCursor (0, 0); lcd.print ("TARJETA INVALIDE"); rétro (2000); lcd.clear (); } void mensaje4 () {lcd.setCursor (0, 0); lcd.print ("TARJETA VALIDA"); rétro (2000); lcd.clear (); }

Étape 4: Montaje

Montaje
Montaje
Montaje
Montaje

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 estructura.

Étape 5: Résultat final

Voir une vidéo du résultat final du projet, donde se puede observer el funcionamiento de todo el sistema del parqueadero.

Conseillé: