Оглавление:

ПАРКАДЕРО: 5 ступеней
ПАРКАДЕРО: 5 ступеней

Видео: ПАРКАДЕРО: 5 ступеней

Видео: ПАРКАДЕРО: 5 ступеней
Видео: El Fantasma - En El Camino (En Concierto desde Ontario, Ca) [Recap] 2024, Июль
Anonim
PARQUEADERO
PARQUEADERO

ВВЕДЕНИЕ

El proyecto consiste en simular un modelo de barrera de parqueadero en el cual se controla el acceptso 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á acceptso de los vehículos.

Шаг 1: ELEMENTOS UTILIZADOS:

ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS
ELEMENTOS UTILIZADOS

-Arduino uno

- макетная плата

-1 ЖК-дисплей pantalla с модулем I2C

-1 серводвигатель

-RFID y tarjetas

-кабели мачо-мачо и мачо-хембра

- 2 финальных прерывания карреры

- резистентность 10 тыс.

Шаг 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

En este paso se hicieron las conexiones de todos los components con el Arduino y el protoboard. Начните с подключения к Arduino на прототипной плате, подключите ее к сервомотору и на прототипной плате и используйте ее для выполнения функций.

Следите за тем, чтобы эти компоненты были соединены с 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 todos los components 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;

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 invalidida = инвалид; const int RST_PIN = 9; // Вывод 9 для сброса RC522 const int SS_PIN = 10; // Контакт 10 для SS (SDA) RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Создание экземпляра байта MFRC522 validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Ejemplo de clave valida byte validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // Проверка правильности кода // Функции для сравнения векторов bool isEqualArray (byte * arrayA, byte * arrayB, int length) {for (int index = 0; index <length; index ++) {if (arrayA [index] ! = arrayB [índice]) devuelve falso; } девуэльве вердадеро; }

configuración vacía () {lcd.init (); ЖК-экран luz de fondo (); pinMode (s1, INPUT_PULLUP); pinMode (s2, INPUT_PULLUP); Serial.begin (9600); // Начальный серийный номер SPI.begin (); // Начальный SPI mfrc522. PCD_Init (); // Исходный код MFRC522 myservo1.attach (3); myservo1.write (100);

mensaje1 (); } bucle vacío () {Vs1 = digitalRead (s1); Vs2 = digitalRead (s2); mensaje2 (); /// понерле условно if (Vs1 == 0) {delay (100); flag1 = 1; // est1 = 1; // est2 = 1; // бандера2 = 0; myservo1.write (90); } /// консультируйтесь против перезагрузки // Определите цель if (mfrc522. PICC_IsNewCardPresent () && Space <= 5 && flag2 == 1) {// Выберите цель if (mfrc522. PICC_ReadCardSerial () las) {// Сравнить ID con Клавес 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 инвалида"); инвалида; mensaje3 ();} // Завершить текущую лекцию mfrc522. PICC_HaltA (); }} ретрасо (250); если (Vs2 == 0) {ретрасо (200); flag2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; ретрасо (2000); myservo1.write (90);}

if (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 ("вента"); Espacio--; Итого ++; est1 = 0; } Serial.print (Всего); Serial.print (";"); Serial.println (особенно); }

mensaje1 vacío () {lcd.setCursor (0, 1); lcd.print («БИЕНВЕНИДОС»); ЖК комиенцо (A4, A5); lcd.setCursor (0, 1); lcd.print («СИСТЕМА»); lcd.setCursor (0, 2); lcd.print ("DE PARQUEO"); ретрасо (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 ("ТАРЬЕТА ИНВАЛИДА"); ретрасо (2000); lcd.clear (); } void mensaje4 () {lcd.setCursor (0, 0); lcd.print ("ТАРЬЕТА ВАЛИДА"); ретрасо (2000); lcd.clear (); }

Шаг 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 Procede a realizar el montaje de la estructura.

Шаг 5: финальный результат

Если видео результат финального проекта, он должен наблюдать за функциями текущей системы парка.

Рекомендуемые: