فهرست مطالب:

پارکادرو: 5 قدم
پارکادرو: 5 قدم

تصویری: پارکادرو: 5 قدم

تصویری: پارکادرو: 5 قدم
تصویری: سوسک های سرگین پارک ادو ، بسیار زیرک و تلاش گر هستند 2024, نوامبر
Anonim
پارکوئادرو
پارکوئادرو

مقدمه

El proyecto conste 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 deteado como miembro del parqueadero se levantara la barrera y se le dará acceso de los vehículos

مرحله 1: ELEMENTOS UTILIZADOS:

ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS

-آردوینو اونو

- صفحه اصلی

-1 pantalla LCD con modulo I2C

-1 سرووموتور

-RFID و tarjetas

-کابلهای macho-macho و macho-hembra

- 2 interruptores finales de carrera

- مقاومت 10 کیلوگرم

مرحله 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 correctmente.

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

مرحله 3: Código

از این رو می توانید از راهکارهای مفید استفاده کنید و از این طریق می توانید از پاركادرو استفاده كنید.

#incluir #incluir #incluir // DESCARGAR LIBRERÍA: https://github.com/ELECTROALL/Codigos-arduino/blob/master/LiquidCrystal_I2C.zip LiquidCrystal_I2C ال سی دی (0x27 ، 20 ، 4) ؛ // #incluir // incluye la biblioteca de servos

#define s1 2 #define s2 4 Servo myservo1؛

int Vs1 ؛ int Vs2 ؛

int مجموع = 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؛ // پین 9 برای تنظیم مجدد del RC522 const int SS_PIN = 10؛ // پین 10 برای 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 length) {for (int index = 0؛ index <length؛ index ++) {if (arrayA [index] ! = arrayB [índice]) 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 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) {تأخیر (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 ()) {// 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 ()؛ }} رتروسو (250)؛ if (Vs2 == 0) {repeso (200) ؛ flag2 = 1؛ // est1 = 1؛ // est2 = 1؛ // bandera1 = 0؛ retso (2000) ؛ myservo1.write (90)؛}

if (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1؛ lcd.setCursor (0 ، 3) ؛ lcd.print ("entra") ؛ اسپاسیو ++ ؛ جمع--؛ est1 = 0؛ } if (Vs1 == 0 && Total> = 0 && Total <5 && est1 == 1) {// est2 = 1؛ lcd.setCursor (0 ، 3) ؛ lcd.print ("venta") ؛ اسپاسیو-- ؛ مجموع ++ ؛ est1 = 0؛ } Serial.print (مجموع)؛ Serial.print ("؛")؛ Serial.println (espacio)؛ }

mensaje1 vacío () {lcd.setCursor (0 ، 1) ؛ lcd.print ("BIENVENIDOS") ؛ ال سی دی comienzo (A4 ، A5) ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("SISTEMA") ؛ lcd.setCursor (0 ، 2) ؛ lcd.print ("DE PARQUEO") ؛ retso (2000) ؛ lcd.clear ()؛ } void mensaje2 () {lcd.setCursor (0، 1)؛ lcd.print ("DISPONIBLE:")؛ lcd.print (کل) ؛ lcd.setCursor (0 ، 2) ؛ lcd.print ("OCUPADOS:")؛ lcd.print (Espacio) ؛ } void mensaje3 () {lcd.setCursor (0، 0)؛ lcd.print ("TARJETA INVALIDA") ؛ retso (2000) ؛ lcd.clear ()؛ } void mensaje4 () {lcd.setCursor (0، 0)؛ lcd.print ("TARJETA VALIDA") ؛ retso (2000) ؛ lcd.clear ()؛ }

مرحله 4: Montaje

مونتاژ
مونتاژ
مونتاژ
مونتاژ

Luego de hacer todas las conexiones y de comprobar que el código realizara las funciones Requireidas para cada condición del parqueadero، se proceduree a realizar el montaje de la estructura.

مرحله 5: نتیجه نهایی

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

توصیه شده: