Un sistema de aparcamiento automático Arduino que es demasiado fácil y divertido de fabricar. Cuando llega un automóvil, muestra el número de ranuras vacías (si está disponible) y luego abre la puerta. Si no hay ninguna ranura vacía, la puerta no se abre. ¡Lo asombroso es que todo el proyecto puede ENCENDERSE utilizando un POWER BANK!

Mira el video para ver el tutorial completo.

Necesitaras:

  • Arduino UNO
  • Sensor de proximidad infrarrojo
  • Resistencia de 330R
  • Algunos LED s’
  • Servomotor 
  • Protoboard 400p
  • Cables para conexión

Hacer la pantalla LED

Para hacer esta pantalla LED , utilicé una placa de bredboard y luego solde los LED y la resistencia 330r.

 Hacer el estacionamiento

Para hacer esto, utilicé una caja de cartón y luego la corté para hacer una buena pendiente. Luego agregó un trozo de cartón al servomotor y lo pegó en caliente. Se agregó un sensor en la entrada y otro en cada RANURA. Luego pegue en caliente dos palillos con la pantalla que hemos hecho y péguelo a la caja. Y, por supuesto, como usaremos el cable usb de arduino para alimentar todo el proyecto, corte un área de la caja para acceder a ese puerto.

NOTA: Los sensores de proximidad usan 5v para operar, por lo que puede conectarlos a la fuente de arduino de 5v.

¡Pero qué! ¿Por qué ha conectado el servo a VIN? Déjame explicarte. Los bancos de energía generalmente suministran corriente de 5v 1Amp que se ingresa a arduino a través del cable usb, ahora hay un regulador de voltaje en arduino que le da .5Amp a la placa. Al conectarnos a VIN, en realidad estamos accediendo a la energía del banco de energía sin una placa de pruebas. Esto funciona y seguro

El Código

#include // agregando Servo library
Puerta de servo; // puedes abrir o cerrar la puerta con un servomotor
int slot1 = 5; // Conecte el sensor IR en pin5 digital para sLOT 1
int slot2 = 4; // pin sLot2 en digital 4
int gateSensor = 3; // Sensor IR en la puerta del pin 3 de arduino
int slot1_l = 13;
int slot2_l = 12;
int gate_grn = 11;
int gate_red = 10;

configuración nula () 
{
 gate.attach (7); // conectando el servo de la puerta en el pin 5
 pinMode (slot1, INPUT); // configuración de pines de ranura y sensor IR de puerta como entrada para arduino
 pinMode (slot2, INPUT);
 pinMode (gateSensor, INPUT);
 pinMode (slot1_l, OUTPUT);
 pinMode (slot2_l, OUTPUT);
 pinMode (gate_grn, OUTPUT);
 pinMode (gate_red, OUTPUT);
 Serial.begin (9600); // inicializando el monitor en serie

}

bucle vacío () 
{
     // llega el auto y el sensor baja

    if (! (digitalRead (gateSensor)) && digitalRead (slot1) && digitalRead (slot2)) // slot1 y slot2 vacío
     {
      Serial.println ("Bienvenido, Disponible: sLOT1, sLOT2"); // imprimir slot1 y slo2 disponibles
      digitalWrite (slot1_l, HIGH);
      digitalWrite (slot2_l, HIGH);
      retraso (1000);
      digitalWrite (gate_grn, HIGH);

       gate.write (75); // la puerta se abrirá después de 1 segundo

     }

     if (! (digitalRead (gateSensor)) &&! (digitalRead (slot1)) && digitalRead (slot2)) // car on slot1, slot2 gratis
      {
          Serial.println ("Bienvenido, Disponible: sLOT2"); // slo2 disponible
          digitalWrite (slot1_l, LOW);
          digitalWrite (slot2_l, HIGH);
          retraso (1000);
          digitalWrite (gate_grn, HIGH);
         gate.write (75); // la puerta se abrirá después de 1 segundo
      }
      
       if (! (digitalRead (gateSensor)) && digitalRead (slot1) &&! (digitalRead (slot2))) // car on slot2, slot1 gratis
       {
         Serial.println ("Bienvenido, Disponible: sLOT1"); // slo1 disponible
          digitalWrite (slot1_l, HIGH);
          digitalWrite (slot2_l, LOW);
          retraso (1000);
         digitalWrite (gate_grn, HIGH);
         gate.write (75); 
          retraso (100); // la puerta se abrirá después de 1 segundo
       }
      

        if (! (digitalRead (gateSensor)) &&! (digitalRead (slot1)) &&! (digitalRead (slot2)))
         {
           Serial.println ("Bienvenido, estacionamiento lleno"); // No hay espacio disponible
            digitalWrite (slot1_l, LOW);
            digitalWrite (slot2_l, LOW);
            retraso (1000);
            digitalWrite (gate_red, HIGH);
            retraso (100);
            digitalWrite (gate_red, LOW);
            retraso (100);
            digitalWrite (gate_red, HIGH);
            retraso (100);
            digitalWrite (gate_red, LOW);
            
            
         }
            
  if (digitalRead (gateSensor))
        {Serial.println ("Bienvenido"); // slo2 disponible
          gate.write (5); // puerta cerrada
         digitalWrite (slot1_l, LOW);
         digitalWrite (slot2_l, LOW);
         digitalWrite (gate_red, LOW);
         digitalWrite (gate_grn, HIGH);
         retraso (100);
         digitalWrite (gate_grn, LOW);
         retraso (100);
         
        
        }
  
}
https://www.instructables.com/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *