int echo=6;
long time=0;
long dist=0;
void setup(){
Serial.begin (9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
}
void loop(){
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH);
delay(10);
digitalWrite(trigger, LOW);
time = pulseIn(echo, HIGH);
dist = (time/2) / 29.1;
if ( dist >= 500 || dist <= 0){
Serial.println("No measurement");
}
else{
Serial.print(dist);
Serial.println(" cm");
}
delay(1000);
}
INDICACIÓN DE LA DISTANCIA MEDIANTE 4 DIODOS LED Y UN SENSOR HC-SR04.
#define trigPin 7
float maximumRange = 20;
float minimumRange = 0;
long duration, distance, contador;
float aux;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
Serial.println(distance);
if (distance > maximumRange){
Serial.println("OUT_OF_RANGE");
for (int i = 9; i <= 12;i++){
digitalWrite(i,HIGH);
}
delay(150);
for (int i = 9; i <= 12;i++){
digitalWrite(i,LOW);
}
delay(150);
}
else {
aux = (1.0/maximumRange)*4.0*distance;
contador = aux;
contador = contador + 9;
for (int i = 9; i <= contador; i++)
digitalWrite(i,HIGH);
for (int i = 12; i > contador; i--)
digitalWrite(i,LOW);
}
delay(50);
}
INDICACIÓN DE LA DISTANCIA MEDIANTE UNA AGUJA ACOPLADA A UN SERVOMOTOR Y UN SENSOR HC-SR04.
#define echoPin 6
#define trigPin 7
float maximumRange = 20;
float minimumRange = 0;
long duration, distance;
int dec=0;
Servo servo1;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo1.attach(3);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
Serial.println(distance);
if (distance > maximumRange ){
Serial.println("maxRange");
}
else {
dec= distance*5;
servo1.write(dec);
delay(30);
}
}
No hay comentarios:
Publicar un comentario