جدول المحتويات:

باركواديرو: 5 خطوات
باركواديرو: 5 خطوات

فيديو: باركواديرو: 5 خطوات

فيديو: باركواديرو: 5 خطوات
فيديو: Консультант от бога Tg: cadrolikk 2024, شهر نوفمبر
Anonim
باركيوديرو
باركيوديرو

مقدمة

El proyecto CON simular un modelo de barrera de parqueadero en el cual se controla el acceso a un garaje con un sistema de restocimiento por medio de tarjetas para RFID، al ser detectado como miembro del parqueadero se levantara la barrera y se le dará acceso de لوس فيكولوس.

الخطوة 1: ELEMENTOS UTILIZADOS:

إليمينتوس أوتيليزادوس
إليمينتوس أوتيليزادوس
إليمينتوس أوتيليزادوس
إليمينتوس أوتيليزادوس

-أردوينو أونو

- بروتوبورد

-1 بانتالا LCD مع نمط I2C

-1 محرك مؤازر

-RFID y Tarjetas

-الكابلات مفتول العضلات و مفتول العضلات

- 2 مقاطعات نهائيات كاريرا

- مقاومات 10 ك

الخطوة 2: 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.

التأكد من صحة البيانات والتعامل مع نظام RFID والمكونات الوظيفية.

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 a todos los componentes del parqueadero.

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

# تعريف s1 2 # تعريف s2 4 مضاعفات myservo1 ؛

كثافة العمليات مقابل 1 ؛ كثافة العمليات مقابل 2 ؛

إجمالي عدد صحيح = 5 ؛ int Espacio = 0 ؛

العلم 1 = 0 ؛ العلم 2 = 1 ؛ int est1 = 0 ؛ int est2 = 0 ؛ int valida = فاليدا ؛ int invalida = غير صالحة ؛ 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 بايت صالح Key1 [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) {delay (100) ؛ العلم 1 = 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 ()) {// Compare 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 ؛} else {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 ؛ retraso (2000) ؛ myservo1.write (90) ؛}

إذا (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1؛ lcd.setCursor (0 ، 3) ؛ lcd.print ("إنترا") ؛ Espacio ++ ؛ المجموع--؛ est1 = 0 ؛ } if (Vs1 == 0 && Total> = 0 && Total <5 && est1 == 1) {// est2 = 1؛ lcd.setCursor (0 ، 3) ؛ lcd.print ("venta") ؛ Espacio-- ؛ المجموع ++ ؛ est1 = 0 ؛ } Serial.print (Total) ؛ Serial.print ("؛") ؛ Serial.println (espacio) ؛ }

mensaje1 vacío () {lcd.setCursor (0، 1)؛ lcd.print ("BIENVENIDOS") ؛ شاشات الكريستال السائل. كومينزو (A4 ، A5) ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("سيستيما") ؛ lcd.setCursor (0 ، 2) ؛ lcd.print ("DE PARQUEO") ؛ retraso (2000) ؛ lcd.clear () ؛ } void mensaje2 () {lcd.setCursor (0، 1)؛ lcd.print ("غير مسموح بها:") ؛ lcd.print (إجمالي) ؛ 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 () ؛ }

الخطوة 4: مونتاج

مونتاج
مونتاج
مونتاج
مونتاج

Luego de hacer todas las conexiones y de comprobar que el código realizara las funciones Requeridas para cada condición del parqueadero ، بحد ذاته ، إجراء تحقيق للمونتاج.

الخطوة 5: النتيجة النهائية

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

موصى به: