Sadržaj:
- Korak 1: ELEMENTOS UTILIZADOS:
- Korak 2: Conexiones
- Korak 3: Código
- Korak 4: Montaje
- Korak 5: Rezultat konačan
Video: PARQUEADERO: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
UVOD
El proyecto consiste en simular un modelo de barrera de parqueadero en el cual se controla el acceso a un garaje con un system de reconocimiento por medio de tarjetas za RFID, al ser detectado como miembro del parqueadero se levantara la barrera y se le dará acceso de los vehículos.
Korak 1: ELEMENTOS UTILIZADOS:
-Arduino uno
- protoboard
-1 LCD zaslon s modulom I2C
-1 servo motor
-RFID y tarjetas
-kablovi macho-macho y macho-hembra
- 2 interruptores finales de carrera
- otpornosti 10 k
Korak 2: Conexiones
En este paso se hicieron las conexiones de todos los componentsn con con Arduino y el protoboard. Inicialmente se povezuje s Arduino al protoboardom, ali se ne želi spojiti s servomotorom na protoboard i kompromitirati kao funkcionalnu ploču.
Seguido de esto se povezuje la pantalla y el RFID i igualmente se kompromituje s que estos komponentama funkcionan correctamente.
Por último se conectaron los finales de carrera por medio de resistencias de 10K.
Korak 3: Código
En este paso se anexa el código que se utilizó para darle funcionamiento a todos los componentsntes 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 Ukupno = 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; // Pin 9 para el reset RC522 const int SS_PIN = 10; // Pin 10 para el SS (SDA) del RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Kreiraj instanciju del MFRC522 bajta validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Ejemplo de clave validate 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; }
konfiguracija vacía () {lcd.init (); LCD luz de fondo (); pinMode (s1, INPUT_PULLUP); pinMode (s2, INPUT_PULLUP); Serial.begin (9600); // Početni serijski SPI.begin (); // Početni SPI mfrc522. PCD_Init (); // Početni MFRC522 myservo1.attach (3); myservo1.write (100);
mensaje1 (); } bucle vacío () {Vs1 = digitalRead (s1); Vs2 = digitalno čitanje (s2); mensaje2 (); /// ponerle uvjetno if (Vs1 == 0) {delay (100); zastavica1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; myservo1.write (90); } /// konzultant anti rebote // Detectar tarjeta if (mfrc522. PICC_IsNewCardPresent () && Space <= 5 && flag2 == 1) {// Seleccionamos una tarjeta if (mfrc522. PICC_ReadCardSerial ()) {// Usporedi 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 (); }} retraso (250); ako (Vs2 == 0) {retraso (200); zastavica2 = 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 ++; Ukupno--; est1 = 0; } if (Vs1 == 0 && Ukupno> = 0 && Ukupno <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio--; Ukupno ++; est1 = 0; } Serial.print (ukupno); Serial.print (";"); Serijski.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 ("DISPONIBLE:"); lcd.tisak (ukupno); lcd.setCursor (0, 2); lcd.print ("OCUPADOS:"); lcd.tisak (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 (); }
Korak 4: 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.
Korak 5: Rezultat konačan
Pogledajte anexa un video del resultado final del proyecto, donde se puede observar el funcionamiento de todo el system del parqueadero.
Preporučeni:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način stvaranja igre, osobito nečega poput zagonetke, vizualnog romana ili avanturističke igre
Broj koraka: 17 koraka
الكشف عن عن أنواع المحاليل: محمدآل سعودالكشف عن المحاليل رابط الفديو
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom Instructableu ćemo izvršiti detekciju lica na Raspberry Pi 4 sa Shunya O/S pomoću knjižnice Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja s
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovno početi vježbati. Koju opremu trebam pripremiti?
Aduino UNO Broj koraka: 5 koraka
Aduino UNO 를 이용한 도망 치는 &&&& && l g g g g g g g g g g g g g g g 4 g 4 4 4 4 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 일자 일자 일자: 2017.01.06. ~ 2017.01.11.- 역할 분담 SW 엔지니어: 김 예은, 임동영 HW 엔지니어: 김지훈 디자이너: 이재민 레코더: 홍 다예 ------------------------ --------------------------------------------------