Sommario:

PARQUEADERO: 5 Passi
PARQUEADERO: 5 Passi

Video: PARQUEADERO: 5 Passi

Video: PARQUEADERO: 5 Passi
Video: КАК ЗАРАБОТАТЬ 10000000 В кар паркинг за 5 минут? Car parking multiplayer +( Мега конкурс ) 2024, Luglio
Anonim
PARQUEADERO
PARQUEADERO

INTRODUZIONE

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 come miembro del parqueadero se levantara la barrera y se le dará acceso de los vehículos.

Passaggio 1: ELEMENTOS UTILIZZATI:

ELEMENTI UTILIZZATI
ELEMENTI UTILIZZATI
ELEMENTI UTILIZZATI
ELEMENTI UTILIZZATI

-Arduino uno

- scheda prototipi

-1 pantalla LCD con modulo I2C

-1 servomotore

-RFID e tarjetas

-cavi macho-macho y macho-hembra

- 2 interruzioni finali di carrera

- resistenze 10 k

Passaggio 2: Connessioni

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

Questo è tutto ciò che riguarda le connessioni di tutti i componenti con l'Arduino e la scheda prototipi. Inizialmente 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.

Seguire questo collegamento tra pantaloni e RFID e anche compromettere questi componenti correttamente in modo corretto.

Per ultimo se conectaron los finali de carrera per medio de resistencias de 10K.

Passaggio 3: codice

Questo è tutto ciò che è necessario aggiungere al codice che può essere utilizzato per il funzionamento e tutti i componenti del pannello.

#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 Totale = 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 il reset del RC522 const int SS_PIN = 10; // Pin 10 per SS (SDA) del RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Crea istanza del MFRC522 byte validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Esempio di chiave valida byte 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 [indice]) devuelve falso; } devuelve verdadero; }

configurazione vuoto () {lcd.init (); LCD luce di fondo(); pinMode (s1, INPUT_PULLUP); pinMode (s2, INPUT_PULLUP); Inizio seriale (9600); // Iniziare seriale SPI.begin (); // Iniziare SPI mfrc522. PCD_Init (); // Iniziare MFRC522 myservo1.attach (3); myservo1.write (100);

mensaje1 (); } bucle vacío() {Vs1 = digitalRead (s1); Vs2 = digitalRead (s2); mensaje2 (); /// ponerle condizionale if (Vs1 == 0) {ritardo (100); bandiera1 = 1; // est1 = 1; // est2 = 1; // banda2 = 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 ();} // Finalizza la lezione effettivo mfrc522. PICC_HaltA (); }} retraso (250); if (Vs2 == 0) {retraso (200); bandiera2 = 1; // est1 = 1; // est2 = 1; // banda1 = 0; retraso (2000); mioservo1.write (90);}

if (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("entra"); Espacio ++; Totale--; est1 = 0; } if (Vs1 == 0 && Totale> = 0 && Totale <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio--; Totale ++; est1 = 0; } Serial.print (Totale); Serial.print (";"); Serial.println (espacio); }

mensaje1 vacío () {lcd.setCursor (0, 1); lcd.print ("BIENVENIDOS"); lcd. comico (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 ("Disponibile:"); lcd.print (totale); 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 (); }

Passaggio 4: montaggio

montaggio
montaggio
montaggio
montaggio

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.

Passaggio 5: risultato finale

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

Consigliato: