Kazalo:
- 1. korak: ELEMENTOS UTILIZADOS:
- 2. korak: Conexiones
- 3. korak: Código
- 4. korak: Montaje
- 5. korak: Končni rezultat
Video: PARQUEADERO: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
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.
1. korak: ELEMENTOS UTILIZADOS:
-Arduino uno
- protoboard
-1 LCD zaslon po modulu I2C
-1 servomotor
-RFID y tarjetas
-kabli macho-macho y macho-hembra
- 2 interruptores finale de carrera
- resistencias 10 k
2. korak: Conexiones
En este paso se hicieron las conexiones de todos los komponent con el Arduino y el protoboard. Inicialmente se povezujejo z Arduino al protoboard, luego de esto se hizo la conexión del servomotor al protoboard y kompromó de que funcionara.
Seguido de esto se povezuje la pantalla z RFID in igualmente se kompromitira s que estos komponentami, ki so funkcionalno popravne.
Por último se conectaron los finales de carrera por medio de resistencias de 10K.
3. korak: Código
En este paso se anexa el código que se utilizó para darle funcionamiento a todos los componentntes 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 Skupaj = 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 za ponastavitev del RC522 const int SS_PIN = 10; // Pin 10 para el SS (SDA) del RC522 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Ustvari instanco 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); // Začetni serijski SPI.begin (); // Začetni SPI mfrc522. PCD_Init (); // Začetni MFRC522 myservo1.attach (3); myservo1.write (100);
mensaje1 (); } bucle vacío () {Vs1 = digitalno branje (s1); Vs2 = digitalno branje (s2); mensaje2 (); /// ponerle pogojno if (Vs1 == 0) {delay (100); zastavica1 = 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 ()) {// Primerjaj 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); če (Vs2 == 0) {retraso (200); zastavica2 = 1; // est1 = 1; // est2 = 1; // bandera1 = 0; retraso (2000); myservo1.write (90);}
če (Vs2 == 0 && Espacio = 0 && est1 == 1) {// est1 = 1; lcd.setCursor (0, 3); lcd.print ("entra"); Espacio ++; Skupaj--; est1 = 0; } če (Vs1 == 0 && Skupaj> = 0 && Skupaj <5 && est1 == 1) {// est2 = 1; lcd.setCursor (0, 3); lcd.print ("venta"); Espacio-; Skupaj ++; est1 = 0; } Serial.print (skupaj); 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 ("DISPONIBLE:"); lcd.print (skupaj); lcd.setCursor (0, 2); lcd.print ("OCUPADOS:"); lcd.tisk (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. korak: 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 postopde a realizar el montaje de la estructura.
5. korak: Končni rezultat
Oglejte si videoposnetek, ki prikazuje rezultat final proyecto, donde se puede observar el funcionamiento de todo el system del parqueadero.
Priporočena:
Števec korakov - mikro: Bit: 12 korakov (s slikami)
Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): 8 korakov
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): ultrazvočni pretvorniki zvoka L298N Dc ženski adapter z napajalnim vtičem za enosmerni tok Arduino UNOBreadboard Kako to deluje: Najprej naložite kodo v Arduino Uno (to je mikrokrmilnik, opremljen z digitalnim in analogna vrata za pretvorbo kode (C ++)
Vijak - Nočna ura za brezžično polnjenje DIY (6 korakov): 6 korakov (s slikami)
Bolt - Nočna ura za brezžično polnjenje DIY (6 korakov): Induktivno polnjenje (znano tudi kot brezžično polnjenje ali brezžično polnjenje) je vrsta brezžičnega prenosa energije. Za zagotavljanje električne energije prenosnim napravam uporablja elektromagnetno indukcijo. Najpogostejša aplikacija je brezžično polnjenje Qi
Merilnik korakov 1. del: Enobarvni zaslon 128x32 in Arduino: 5 korakov
Pedometer 1. del: Enobarvni zaslon 128x32 in Arduino: To je osnovna vadnica, ki uči, kako uporabljati zaslon OLED s svojim Arduinom. Uporabljam zaslon velikosti 128x32, lahko pa uporabite tudi drugačen zaslon z ločljivostjo in po potrebi spremenite ločljivost/koordinate. V tem delu vam bom pokazal, kako
Preklopna obremenitvena banka z manjšo velikostjo korakov: 5 korakov
Preklopna banka odpornikov obremenitve z manjšo velikostjo korakov: Banke uporovnih obremenitev so potrebne za preskušanje energetskih proizvodov, za karakterizacijo sončnih kolektorjev, v preskusnih laboratorijih in v industriji. Reostati zagotavljajo stalno spreminjanje odpornosti na obremenitev. Ker pa se vrednost upora zmanjša, moč