תוכן עניינים:
וִידֵאוֹ: PARQUEADERO: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
מבוא
El proyecto consiste en simular un modelo de barrera de parqueadero en el cual se controla el acceso 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á acceso de los vehículos.
שלב 1: ELEMENTOS UTILIZADOS:
-ארדואינו אונו
- protoboard
-1 pantalla LCD con modulo I2C
-1 servomotor
-RFID y tarjetas
-כבלים מאצ'ו-מאצ'ו ומצ'ו-המברה
- 2 מפסיקי finales de carrera
- התנגדות 10 k
שלב 2: קונקסיונים
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.
Seguido de esto se conectó la pantalla y el RFID e igualmente se comprobó de que estos componentes funcionan correctamente.
For ú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 and todos los componentes 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;
int סה כ = 5; int Espacio = 0;
int flag1 = 0; int flag2 = 1; int est1 = 0; int est2 = 0; int valida = ואלידה; int invalida = invalida; const int RST_PIN = 9; // פין 9 עבור איפוס del RC522 const int SS_PIN = 10; // סיכה 10 עבור SS (SDA) del RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Crear instancia del MFRC522 byte validKey1 [4] = {0x50, 0xA8, 0x9B, 0x1D}; // Ejemplo de clave valida byte validKey2 [4] = {0xB3, 0xD5, 0xD0, 0x1E}; // Ejemplo de clave valida // פונקציה עבור השוואה בין וקטורים bool isEqualArray (בייט * מערך A, בייט * מערך B, אינט אורך) {for (int index = 0; index <length; index ++) {if (arrayA [index] ! = arrayB [índice]) להמציא falso; } להמציא verdadero; }
configació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 (); // לא חוקי MFRC522 myservo1.attach (3); myservo1.write (100);
mensaje1 (); } bucle vacío () {Vs1 = digitalRead (s1); Vs2 = digitalRead (s2); mensaje2 (); /// ponerle מותנה אם (Vs1 == 0) {עיכוב (100); flag1 = 1; // est1 = 1; // est2 = 1; // bandera2 = 0; myservo1.write (90); } /// יועץ anti rebote // Detectar tarjeta if (mfrc522. PICC_IsNewCardPresent () && Space <= 5 && flag2 == 1) {// Seleccionamos una tarjeta if (mfrc522. PICC_ReadCardSerial ()) {// השווה מזהה 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"); invalida; mensaje3 ();} // Finalizar la lectura בפועל mfrc522. PICC_HaltA (); }} retraso (250); אם (Vs2 == 0) {retraso (200); flag2 = 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 ("entra"); אספסיו ++; סה"כ--; est1 = 0; } אם (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"); 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 ("פסול:"); 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, se procede a realizar el montaje de la estructura.
שלב 5: גמר התוצאה
צפה בווידאו של התוצאה הסופית של הפרוייקט.
מוּמלָץ:
כיצד לבצע אנטנת BiQuade כפולה 4G LTE שלבים פשוטים: 3 שלבים
כיצד להפוך אנטנת 4G LTE BiQuade כפולה לשלבים קלים: לרוב לא עמדתי בפני, אין לי עוצמת אות טובה לעבודות היום-יומיות שלי. לכן. אני מחפש ומנסה סוגים שונים של אנטנות אבל לא עובד. לאחר בזבוז זמן מצאתי אנטנה שאני מקווה לייצר ולבדוק, כי זה עקרון הבנייה לא
עיצוב משחק בקפיצה ב -5 שלבים: 5 שלבים
עיצוב משחק בקפיצה ב -5 שלבים: פליק הוא דרך פשוטה מאוד ליצור משחק, במיוחד משהו כמו פאזל, רומן חזותי או משחק הרפתקאות
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: 3 שלבים
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: במדריך זה אנו הולכים לבצע זיהוי פנים ב- Raspberry Pi 4 עם Shunya O/S באמצעות ספריית Shunyaface. Shunyaface היא ספריית זיהוי/זיהוי פנים. הפרויקט שואף להשיג את מהירות הזיהוי והזיהוי המהירה ביותר עם
מהדורת ליל כל הקדושים של Arduino - מסך קופץ זומבים (שלבים עם תמונות): 6 שלבים
מהדורת ליל כל הקדושים של Arduino - מסך פופ -אאוט של זומבים (צעדים עם תמונות): רוצה להפחיד את החברים שלך ולעשות רעש צורח בהלווין? או סתם רוצה לעשות מתיחה טובה? המסך הקופץ הזה של זומבים יכול לעשות זאת! במדריך זה אלמד אותך כיצד ליצור זומבים קופצים בקלות באמצעות Arduino. ה- HC-SR0
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: 3 שלבים
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: במדריך זה אראה לך את השלבים החיוניים להתקנת תוסף וורדפרס לאתר שלך. בעיקרון אתה יכול להתקין תוספים בשתי דרכים שונות. השיטה הראשונה היא באמצעות ftp או דרך cpanel. אבל אני לא אפרט את זה כיוון שזה באמת משלים