Turinys:

PARQUEADERO: 5 žingsniai
PARQUEADERO: 5 žingsniai

Video: PARQUEADERO: 5 žingsniai

Video: PARQUEADERO: 5 žingsniai
Video: Как правильно читать схемы авто 2024, Liepa
Anonim
PARQUEADERO
PARQUEADERO

ĮVADAS

El Proyecto consiste en simular un modelo de barrera de parqueadero en el cual se control for acceso a un garaje con un system de reconocimiento por media media de tarjetas para RFID, al ser detectado como miembro del parqueadero se levantara la barrera y se le dará acceso de los transportoículos.

1 žingsnis: ELEMENTOS UTILIZADOS:

ELEMOS UTILIZADOS
ELEMOS UTILIZADOS
ELEMOS UTILIZADOS
ELEMOS UTILIZADOS

-Arduino uno

- protoboardas

-1 skystųjų kristalų ekranas su I2C

-1 variklis

-RFID ir tarjetas

-kabeliai macho-macho ir macho-hembra

- 2 pertraukos finales de carrera

- atsparumas 10 k

2 žingsnis: „Conexiones“

Koneksionai
Koneksionai
Koneksionai
Koneksionai
Koneksionai
Koneksionai

En este paso se hicieron las conexiones de todos los komponentes 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 ir igualmente se comprobó de que estos komponentes funcionan correctamente.

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

3 žingsnis: Código

En este paso se anexa el código que se utilizó para darle funcionamiento to todos los komponentes del parqueadero.

#incluir #incluir #incluir // DESCARGAR BIBLIOTEKA: 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 Iš viso = 5; int Espacio = 0;

int vėliava1 = 0; int vėliava2 = 1; int est1 = 0; int est2 = 0; int valid = valid; int invalidida = invalida; const int RST_PIN = 9; // 9 smeigtukas iš RC522 const int SS_PIN = 10; // 10 kaištis prie SS (SDA) iš RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Sukurti instanciją iš MFRC522 baito validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Ejemplo de clave valid byte validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // Ejemplo de clave valid // Función para comparar dos vectores bool isEqualArray (baitas * masyvasA, baitas * masyvasB, int ilgis) {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 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 sąlyginis if (Vs1 == 0) {delay (100); vėliava1 = 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 ()) {// Palyginti ID con las claves válidas if ((isEqualArray (mfrc522.uid.uidByte, validKey1, 4)) || (isEqualArray (mfrc522.uid.uidByte, validKey2, 4))) {Serial.println ("Tarjeta valid"); patvirtinti; mensaje4 (); myservo1.write (-90); est1 = 1;} else {Serial.println ("Tarjeta invalidida"); invalida; mensaje3 ();} // Finalizar la lectura faktinis mfrc522. PICC_HaltA (); }} retraso (250); jei (Vs2 == 0) {retraso (200); vėliava2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; retraso (2000); myservo1.write (90);}

if (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("entra"); „Espacio“++; Iš viso--; est1 = 0; } if (Vs1 == 0 && Iš viso> = 0 && Iš viso <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio--; Iš viso ++; est1 = 0; } Serijinis atspaudas (iš viso); Serial.print (";"); Serial.println (espacio); }

mensaje1 vacío () {lcd.setCursor (0, 1); lcd.print ("BIENVENIDOS"); LCD. 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 ("NEPRIKLAUSOMA:"); lcd.print (iš viso); 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 žingsnis: Montaje

Montaje
Montaje
Montaje
Montaje

Skaitykite daugiau apie hacer todas las conexiones y de comprobar que el código realizara las funciones requeridas para cada condició del parqueadero, se procede a realizar el montaje de la estructura.

5 žingsnis: galutinis rezultatas

Žiūrėkite animaciją ir vaizdo įrašą galutiniame projekte, o tada stebėkite, kaip veikia funkcinė sistema.

Rekomenduojamas: