Cov txheej txheem:

PARQUEADERO: 5 Kauj ruam
PARQUEADERO: 5 Kauj ruam

Video: PARQUEADERO: 5 Kauj ruam

Video: PARQUEADERO: 5 Kauj ruam
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №37 2024, Hlis ntuj nqeg
Anonim
PARQUEADERO
PARQUEADERO

QHOV TSEEB

El proyecto suav nrog ib qho piv txwv tsis yog tus qauv 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 xij.

Kauj Ruam 1: KEV TSWJ XEEB:

KEV TSHAWB FAWB
KEV TSHAWB FAWB
KEV TSHAWB FAWB
KEV TSHAWB FAWB

-Arduino ib

- protoboard ua

-1 pantalla LCD nrog tus qauv I2C

-1 servo tsav

-RFID thiab daim ntawv lo

-cables macho-macho thiab macho-hembra

- 2 tus cuam tshuam qhov kawg ntawm carrera

- resistencias 10 k

Kauj ruam 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 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 comprobó de que estos componentes funcionan correctamente.

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

Kauj ruam 3: Qhib

En este paso se anexa el código que se utilizó para darle funcionamiento a todos los tivthaiv 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;

ua vs1;. ua vs2;.

tag nrho = 5; int Espacio = 0;

int flag1 = 0; int flag2 = 1; int yog = 1; int yog 2 = 0; int valida = koj; int invalida = tsis tau; 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 comparar dos vectores bool isEqualArray (byte * arrayA, byte * arrayB, int ntev) {rau (int index = 0; index <length; index ++) {if (arrayA [index] ! = arrayB [icendice]) devuelve 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 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 yog (Vs1 == 0) {ncua (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 ()) {// Sib piv ID nrog las claves válidas yog ((isEqualArray (mfrc522.uid.uidByte, validKey1, 4)) || || (isEqualArray (mfrc522.uid.uidByte, validKey2, 4)))) {Serial.println ("Tarjeta valida"); valida; mensaje4 (); myservo1.write (-90); est1 = 1;} lwm {Serial.println ("Tarjeta invalida"); tsis muaj nuj nqis; mensaje3 ();} // Finalizar la lectura qhov tseeb mfrc522. PICC_HaltA (); } retraso (250); yog (Vs2 == 0) {retraso (200); flag2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; retraso (2000); myservo1.write (90);}

yog (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("nkag rau"); Espacio ++; Tag nrho-; yog 1 = 0; } yog (Vs1 == 0 && Total> = 0 && Total <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio-; Tag nrho ++; yog 1 = 0; } Serial.print (Tag Nrho); Serial.print (";"); Serial.println (espacio); }

mensaje1 vacío () {lcd.setCursor (0, 1); lcd.print ("BIENVENIDOS"); lcd ua. 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 ("DISPONIBLE:"); lcd.print (tag nrho); 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 (); }

Kauj ruam 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 proceduree a realizar el montaje de la estructura.

Kauj ruam 5: Resultado Final

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

Pom zoo: