Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RESUMEN
1. JUSTIFICACIÓN
2. OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECIFÍCOS
4. PARTE EXPERIMENTAL
MATERIALES:
Arduino nano.
Protoboard donde conectaremos los componentes
Cables para hacer las conexiones
3 resistencias de 220 Ω
1 LED verde
1 LED amarillo
1 LED rojo
1 sensor ultrasónico Arduino (HC-SR04)
1 buzzer
Se trata de un circuito muy sencillo. Por un lado, vamos a tener toda la parte
de alertas, acústica y visual, y por otra parte el sensor de ultrasonidos. En el
siguiente esquema te muestro el conexionado.
Variables y constantes
// Constantes
const float sonido = 34300.0; // Velocidad del sonido en cm/s
const float umbral1 = 30.0;
const float umbral2 = 20.0;
const float umbral3 = 10.0;
Definimos los pines para los LEDs, para el sensor de ultrasonidos y para el
buzzer Arduino. Siempre debemos fijarnos en el esquema eléctrico mostrado
anteriormente. Luego declaramos 4 constantes. La primera es la velocidad
del sonido convirtiendo de metros por segundo a centímetros por segundo.
Esto lo hacemos multiplicando por 100. Las siguientes constantes son los
umbrales de decisión que hemos marcado antes.
Función setup
Por último, vamos a empezar desde un estado conocido, todos los LEDs
apagados. He creado una función para realizar esta tarea.
void setup() {
// Iniciamos el monitor serie
Serial.begin(9600);
Función Loop
La función loop() contiene el código que se repetirá una y otra vez. Aquí es
donde vamos a ir poniendo todo nuestro algoritmo, el que hemos detallado
anteriormente. He dividido esta función en varias funciones para hacer el
código más legible.
void loop() {
// Preparamos el sensor de ultrasonidos
iniciarTrigger();
// Obtenemos la distancia
float distancia = calcularDistancia();
Una vez que está preparado el sensor, ya podemos utilizarlo para calcular la
distancia. Eso lo hacemos con la función calcularDistancia(). Es una función
particular ya que nos va a devolver un valor. Eso se hace poniendo al final (o
donde quieras) la palabra reservada return seguido del valor que quieres
devolver. Todo el código que haya por debajo del return no se ejecuta así que
precaución. En este caso yo devuelvo la distancia calculada dentro de la
función que es una variable del tipo float.
return distancia;
}
Lanzar alertas
Antes de hacer nada es conveniente apagar todos los LEDs. Esto lo hacemos
llamando a la función que hemos generado anteriormente.
La función comprueba que tipo de alerta hay que lanzar. Si está dentro del
rango umbral 1 y umbral 2, enciende el LED verde y reproduce un sonido de
2.000 Hz durante 200 milisegundos. Si está dentro del rango umbral 2 y
umbral 3, enciende el LED amarillo y reproduce un sonido de 2.500 Hz
durante 200 milisegundos y si está por debajo de umbral 3, enciende el LED
rojo y reproduce un sonido de 3.000 Hz durante 200 milisegundos.
// Función que comprueba si hay que lanzar alguna alerta visual o sonora
void alertas(float distancia)
{
if (distancia < umbral1 && distancia >= umbral2)
{
// Encendemos el LED verde
digitalWrite(LEDVERDE, HIGH);
tone(BUZZER, 2000, 200);
}
else if (distancia < umbral2 && distancia > umbral3)
{
// Encendemos el LED amarillo
digitalWrite(LEDAMARILLO, HIGH);
tone(BUZZER, 2500, 200);
}
else if (distancia <= umbral3)
CONCLUSIÓN
6. FUENTES DE INFORMACIÓN
WIKIPEDIA
WEB ARDUINO
LIBROS ARDUINO