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