Práctica 8 - Barrera coches
En esta practica he diseñado una barrera para coches con un semáforo que se te informa si está bajando, se puede pasar o no se puede pasar.
#include <Servo.h>
Servo servo;
int posicion=0; // declaramos todos los pines y las posiciones para el servo
int pausa=500;
int ledV=8;
int ledA=9;
int ledR=10;
int boton1=12;
int boton2=13;
void setup() {
servo.attach(2);
pinMode (ledV,OUTPUT); // declaramos los leds como salidas y los pines como entradas
pinMode (ledA,OUTPUT);
pinMode (ledR,OUTPUT);
pinMode (boton1,INPUT);
pinMode (boton2,INPUT);
}
void loop() {
digitalWrite (ledR, HIGH); // le decimos que se enciende el led rojo cuando la posición sea 0
digitalWrite (ledV, LOW);
servo.write(posicion=0);
if ((digitalRead (boton1)==HIGH) || (digitalRead (boton2)==HIGH)) //aclaramos que cuando el boton 1 o 2 se pulse, debe de hacer lo siguiente:
{
digitalWrite (ledR,LOW); // se enciende el led verde
digitalWrite (ledV,HIGH);
for (int i=0;i<=90;i+=5) // cuando se valla moviendo la barrera tiene que parpadear el led amarillo
{
servo.write(i);
delay(100);
}
digitalWrite (ledV, LOW);
delay(100);
digitalWrite (ledV, HIGH);
delay(100);
digitalWrite (ledV, LOW);
delay(100);
digitalWrite (ledV, HIGH);
delay(100);
digitalWrite (ledV, LOW);
delay(100);
for (int i=90;i>=0;i-=5)
{
servo.write(i);
delay(100);
digitalWrite (ledA, LOW);
delay(100);
digitalWrite (ledA, HIGH);
delay(100);
digitalWrite (ledA, LOW);
}
}}
No hay comentarios:
Publicar un comentario