En esta entrada vamos a realizar medidas de forma cualitativa (con los colores de los leds) mediante el sensor de ultrasonidos ya utilizado en la entrada anterior. El conjunto tomará, de forma sencilla, una medida de la distancia a la cual está el objeto, encendiendo el LED rojo si dicho objeto está a menos de 20 centímetros, ámbar si está entre 20 y 40 centímetros, y verde si está a más de 40 centímetros.
Material
Sensor ultrasonidos HC-SR04
Placa Arduino UNO
LED rojo, verde y ámbar (se pueden usar los colores que tengáis, yo he usado los más familiares). 3x resistencias 220 ohmnios
Cables
Cable USB
Protoboard
Esquema
Programa
int ledrojo=6;
int lednaranja=7;
int ledverde=8;
long distancia;
long tiempo;
int led;
void setup(){
Serial.begin(9600);
pinMode(11, OUTPUT);
pinMode(12, INPUT);
pinMode(ledrojo, OUTPUT);
pinMode(lednaranja, OUTPUT);
pinMode(ledverde, OUTPUT);
}
void loop(){
digitalWrite(11 ,LOW);
delayMicroseconds(10);
digitalWrite(11, HIGH);
delayMicroseconds(10);
tiempo=pulseIn(12, HIGH);
distancia= int(0.017*tiempo);
if (distancia>40){
led=1;
digitalWrite(lednaranja,LOW);
digitalWrite(ledrojo,LOW);
}
if (distancia<=40&&distancia>20){
led=2;
digitalWrite(ledverde,LOW);
digitalWrite(ledrojo,LOW);
}
if (distancia<=20){
led=3;
digitalWrite(ledverde,LOW);
digitalWrite(lednaranja,LOW);
}
switch(led){
case 1:
digitalWrite(ledverde,HIGH);
break;
case 2:
digitalWrite(lednaranja,HIGH);
break;
case 3:
digitalWrite(ledrojo,HIGH);
break;
}
delay(50);
}
Vídeo
0 comentarios:
Publicar un comentario