สารบัญ:

PARQUEADERO: 5 ขั้นตอน
PARQUEADERO: 5 ขั้นตอน

วีดีโอ: PARQUEADERO: 5 ขั้นตอน

วีดีโอ: PARQUEADERO: 5 ขั้นตอน
วีดีโอ: Car Parking System Using Arduino Nano 2024, กรกฎาคม
Anonim
ปาร์กเกอเดโร
ปาร์กเกอเดโร

บทนำ

มาตรฐานประกอบด้วยแบบจำลองเดียวกันสำหรับบาร์เรราเดอปาร์เกอเดอโรและควบคุมด้วย el acceso ยกเลิกการใช้งานระบบจากเครือข่ายสาธารณะโดยผ่านระบบ RFID ผ่านระบบอาร์เอฟไอดี ลอส vehículos

ขั้นตอนที่ 1: ELEMENTOS UTILIZADOS:

ยูทิลิตี้องค์ประกอบ
ยูทิลิตี้องค์ประกอบ
ยูทิลิตี้องค์ประกอบ
ยูทิลิตี้องค์ประกอบ

-Arduino uno

- โปรโตบอร์ด

-1 หน้าจอ LCD พร้อมโมดูล I2C

-1 เซอร์โวมอเตอร์

-RFID y tarjetas

- สายเคเบิล มาโช-มาโช และ มาโช-เฮมบรา

- 2 ผู้ขัดขวางรอบชิงชนะเลิศ de carrera

- ความต้านทาน 10 k

ขั้นตอนที่ 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

En este paso se hicieron las conexiones de todos los componentes con el Arduino และโปรโตบอร์ด เริ่มต้นโดยการใช้ 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 แก้ไข.

Por último se conectaron los finales de carrera por medio de resistencias de 10K. เพิ่มเติม

ขั้นตอนที่ 3: Código

En este paso se anexa el código que se utilizó para darle funcionamiento และสิ่งที่ต้องทำในองค์ประกอบ 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 เซอร์โว myservo1;

int Vs1; int Vs2;

รวมทั้งหมด = 5; int Espacio = 0;

int flag1 = 0; int flag2 = 1; int est1 = 0; int est2 = 0; int valida = valida; int ไม่ถูกต้อง = ไม่ถูกต้อง; const int RST_PIN = 9; // พิน 9 สำหรับรีเซ็ตเดล RC522 const int SS_PIN = 10; // พิน 10 พาราเอลเอสเอส (SDA) เดล RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Crear instancia del MFRC522 ไบต์ validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // ตัวอย่าง de clave valida ไบต์ validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // ตัวอย่าง 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 แวร์ดาเดโร; }

การกำหนดค่า vacía () {lcd.init (); LCD luz de fondo(); โหมดพิน (s1, INPUT_PULLUP); โหมดพิน (s2, INPUT_PULLUP); Serial.begin (9600); // Iniciar อนุกรม SPI.begin (); // เริ่มต้น SPI mfrc522. PCD_Init (); // เริ่มต้น MFRC522 myservo1.attach (3); myservo1.write (100);

mensaje1 (); } bucle vacío () {Vs1 = digitalRead (s1); Vs2 = digitalRead (s2); mensaje2 (); /// condicional ถ้า (Vs1 == 0) {ล่าช้า (100); ธง1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; myservo1.write (90); } /// ที่ปรึกษาต่อต้านการรีโบท // 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"); ตรวจสอบ; mensaje4 (); myservo1.write (-90); est1 = 1;} อื่น {Serial.println ("Tarjeta invalida"); โมฆะ; mensaje3 ();} // Finalizar la lectura จริง mfrc522. PICC_HaltA (); }} retraso (250); ถ้า (Vs2 == 0) {retraso (200); แฟล็ก2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; เรทราโซ (2000); myservo1.write (90);}

ถ้า (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("เอนทรา"); เอสปาซิโอ ++; รวม--; 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"); จอแอลซีดี โคเมียนโซ (A4, A5); lcd.setCursor (0, 1); lcd.print ("SISTEMA"); lcd.setCursor (0, 2); lcd.print ("DE PARQUEO"); เรทราโซ (2000); lcd.clear (); } โมฆะ mensaje2 () {lcd.setCursor (0, 1); lcd.print ("จำหน่ายได้:"); lcd.print (รวม); lcd.setCursor (0, 2); lcd.print ("OCUPADOS:"); lcd.print (Espacio); } เป็นโมฆะ mensaje3 () {lcd.setCursor (0, 0); lcd.print ("ทาร์เจตาอินวาลิดา"); เรทราโซ (2000); lcd.clear (); } โมฆะ mensaje4 () {lcd.setCursor (0, 0); lcd.print ("ทาร์เจตา วาลิดา"); เรทราโซ (2000); lcd.clear (); }

ขั้นตอนที่ 4: Montaje

มอนทาเจ
มอนทาเจ
มอนทาเจ
มอนทาเจ

ผู้ใช้ที่ต้องการความช่วยเหลือจาก las conexiones และ comprobar que el código realizara las funciones requeridas para cada condición del parqueadero, se procede 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

แนะนำ: