27-04-2014, 03:44 PM
Buenas a tod@s:
El miercoles me llegó por fin el pack de resistencias que compré y el sensor ultrasónico.
Primero empezé a trastear con el sensor ultrasónico para familiarizarme con él, y empezar a encender leds en función de la distancia del obstaculo o que me imprimiese por pantalla la distancia estimada donde se encontraba el obstáculo.
Esta mañana, he combinado el servo con el HC-SR04.
Y me ha salido esto primero:
(Vídeo, clicar encima de la imagen para visionar el vídeo)
Hacia que el servo se moviese de 0 a 180º de forma continua y cuando detectase un obstaculo a menos de 10 cm se posicionase a 90º, pero después volvía a su rutina habitual, pero si el objecto en cuestión aún permenecía a menos de 10 cm volvía a detenerse a 90º.
Para mejorarlo, lo que hice, ha sido cambiar el código para que se detuviese a los 90º de forma indefinida hasta que el obstaculo en cuestión se alejase a más de 10 cm del sensor.
(Vídeo, para visualizarlo clicar encima de la imagen)
Espero que os guste el proyecto. Es sencillo el proyecto, pero es para empezar a familiarizarme con los diferentes componentes y la combinación de ellos y para así, poco a poco, ir complicando el tema y poder abarcar un proyecto más ambicioso.
Aquí os dejo el código:
El miercoles me llegó por fin el pack de resistencias que compré y el sensor ultrasónico.
Primero empezé a trastear con el sensor ultrasónico para familiarizarme con él, y empezar a encender leds en función de la distancia del obstaculo o que me imprimiese por pantalla la distancia estimada donde se encontraba el obstáculo.
Esta mañana, he combinado el servo con el HC-SR04.
Y me ha salido esto primero:
(Vídeo, clicar encima de la imagen para visionar el vídeo)
Hacia que el servo se moviese de 0 a 180º de forma continua y cuando detectase un obstaculo a menos de 10 cm se posicionase a 90º, pero después volvía a su rutina habitual, pero si el objecto en cuestión aún permenecía a menos de 10 cm volvía a detenerse a 90º.
Para mejorarlo, lo que hice, ha sido cambiar el código para que se detuviese a los 90º de forma indefinida hasta que el obstaculo en cuestión se alejase a más de 10 cm del sensor.
(Vídeo, para visualizarlo clicar encima de la imagen)
Espero que os guste el proyecto. Es sencillo el proyecto, pero es para empezar a familiarizarme con los diferentes componentes y la combinación de ellos y para así, poco a poco, ir complicando el tema y poder abarcar un proyecto más ambicioso.
Aquí os dejo el código:
Código:
#include <Servo.h> //Incluimos la libreria Servo
#include <Ultrasonic.h> //Incluimos la libreria Ultrasonico
Servo servo1; //Declaramos nuestro servo
Ultrasonic ultraso (6, 7); //Declaramos los pines del ultrasonico
int distancia; //Declaramos una constante
int pausa; //Declaramos una cosntante
void setup (){
servo1.attach(8); //Declaramos el pin de nuestro servo
Serial.begin(9600);
}
void loop()
{
distancia = ultraso.Ranging(CM); //Medimos la distancia del Ultrasonico
if (distancia < 10){ //Si la distancia es menor a 10 cm el servo se situa a 90º
pausa = ultraso.Ranging(CM) *10;
servo1.write (90);
delay(1000);
}
else if (distancia >10){ //Si la distancia es mayor a 10 cm el servo se situa donde le indica la siguiente orden del programa
servo1.write (0); //Ponemos el servo a 0º
delay(1000);
}
distancia = ultraso.Ranging(CM);
if( distancia < 10){ //Si la distancia es menor a 10 cm
pausa = ultraso.Ranging(CM) *10; //Decimos que el servo se ponga a 90º
servo1.write (90);
delay(1000);
}
else if (distancia >10){
servo1.write(180);
delay(1000);
}
Serial.print(" Distancia estimada: "); //Comandos para ver en pantalla la distancia al cual está el obstaculo
Serial.print(distancia);
Serial.println(" cm");
}