martes, 2 de febrero de 2021

BARRERA DE UN PARKING

//en este apartado definimos todos los puertos y conexiones 

#include<Servo.h>

Servo myservo;

int pausa=500;

int botona=9;

int botonn=10;

int verde=8;

int amarillo=7;

int rojo=6;


void setup() { //definimos cada uno de los objetos como entradas o salidas

 myservo.attach (2); 

 Serial.begin(9600); 

  pinMode (botona, INPUT);

  pinMode (botonn, INPUT);

  pinMode (verde, OUTPUT);

  pinMode (amarillo, OUTPUT);

  pinMode (rojo, OUTPUT);

}

void loop() { // definimos que el led rojo se encienda y el resto se apaguen y que la posición de la barrera sea 0 

 digitalWrite(rojo,HIGH);

 digitalWrite(amarillo,LOW);

 digitalWrite(verde,LOW);

 myservo.write(0);

 int estadoabre=digitalRead(botona);

 int estadocierra=digitalRead(botonn);

if((estadoabre==HIGH)||(estadocierra==HIGH)) { // declaramos que si cualquiera de los botones está pulsado, el led rojo se apaga, el led verde se enciende y la posición de la barrera suba hasta los 90 grados poco a poco

  digitalWrite(rojo,LOW);

  digitalWrite(verde,HIGH);

 for(int pos=0;pos<=90;pos++) {

  myservo.write(pos);

  }

  delay(pausa);

  for (int j=0;j<=7;j++) { // declaramos que el led verde parpadee 7 veces

   digitalWrite(verde,HIGH);

   delay(50);

   digitalWrite(verde,LOW);

   delay(50);

     } 

   for(int pos=90;pos>=0;pos-=10) { // declaramos que la posición de la barrera baje hasta la posición inicial 0 poco a poco y que a la vez el led amarillo parpadee

   myservo.write(pos);

   digitalWrite(amarillo,HIGH);

   delay(50);

   digitalWrite(amarillo,LOW);

   delay(50);

    

  } 

   

 }}

No hay comentarios:

Publicar un comentario