Práctica 9 - sensor de coche
En esta práctica he diseñado un sensor de coches con un sensor de ultrasonidos que según se valla acercando a un obstáculo empieza a pitar y se encienden unos leds.
long distancia; // definimos la distancia para cuando pitara y el tiempo, así como los leds, el zumbador y el ultrasonido.
long tiempo;
int pinTrig=9;
int pinEcho=8;
int ledV=2;
int ledA=3;
int ledR=4;
int zum=13;
void setup(){
Serial.begin(9600);
pinMode(pinTrig, OUTPUT); // declaramos el ultasonido como entrada y los leds como salidas.
pinMode(pinEcho, INPUT);
pinMode(ledV, OUTPUT);
pinMode(ledA, OUTPUT);
pinMode(ledR, OUTPUT);
pinMode(zum, OUTPUT);
}
void loop(){
digitalWrite(pinTrig,LOW); // decimos que un pin del ultrasonido este bajo debe esperar y el otro que está alto también debe esperar un tiempo.
delayMicroseconds(5);
digitalWrite(pinTrig, HIGH);
delayMicroseconds(5);
tiempo=pulseIn(pinEcho, HIGH);
distancia= int(0.017*tiempo);
Serial.println("Distancia "); // le decimos que nos lo debe imprimir en la pantalla con la palabra distancia y los centímetros de distancia que existe.
Serial.println(distancia);
Serial.println("cm");
delay(1000);
noTone(zum);
if (distancia>30) // declaramos que si la distancia es a 30cm se encienda el led verde y no pite
{
digitalWrite (ledV, HIGH);
digitalWrite (ledA, LOW);
digitalWrite (ledR, LOW);
noTone(zum);
}
else {
if (distancia<30&& distancia>10) // ahora si la distancia está entre 30 y 20 debe encender el led amarillo y sonar un poco.
{
digitalWrite (ledV, LOW);
tone (zum,300);
digitalWrite (ledA, HIGH);
}
else { // por últitmo si la distancia es menor que 10 debe encenderse el led rojo y pitar.
digitalWrite (ledV, LOW);
digitalWrite (ledA, LOW);
digitalWrite (ledR, HIGH);
tone (zum,2000);
}
}}
No hay comentarios:
Publicar un comentario