Páginas

martes, 2 de febrero de 2021

Práctica 8 - Barrera coches

 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