- Portada
- Descripción del curso
- Fundamentos de Arduino y electrónica
- Fundamentos de programación Arduino
-
Electrónica del Escornabot I
-
Introducción
-
Lista de materiales
-
Pulsadores de secuencia I
-
Pulsadores Secuencia II
-
Pulsadores Secuencia III
-
LEDs de indicación de secuencia
-
Actividad 9
-
Actividad 10
-
Actividad 11
-
Zumbador I
-
Zumbador II
-
Zumbador III
-
Actividad 12
-
Actividad 13
-
Funciones
-
Actividad 14
-
Clases
-
Actividad 15
-
Arrays en Arduino
-
Actividad 16
-
- Montaje del robot
- Electrónica del Escornabot II
Actividad 13
Actividad 13

Probando el Zumbador en nuestro robot
En esta actividad se pretende añadir el zumbador al código principal de nuestro robot. De esta forma, cuando se presione S1 el robot deberá emitir un tono a 500 Hz, cuando se pulse S2 a 1000 Hz, cuando se pulse S3 a 2000Hz, cuando se pulse S4 a 3000Hz cada uno con una duración de 100ms, y el LED correspondiente permanecerá encendido durante 500ms.
Solución
/*
Ejemplo [PulsadoresConLEDsYZumbador] para comprobar el funcionamiento de
los pulsadores, los LEDs y el Zumbador en el Escornabot
*/
// Incluimos la libreria con funciones y variables para Escornabot
#include "Escornabot.h"
/*
Inicializamos la clase en la variable de nombre Escornabot.
Como en este ejemplo no vamos a utilizar los motores, podemos
pasar el argumento para el constructor de la clase Escornabot
con cualquier valor.
*/
Escornabot Escornabot(10);
// Rutina de Setup
void setup() {
// En el setup no es necesario hacer nada más que inicializar la
// comunicación Serial
Serial.begin(9600);
}
void loop() {
int lectura_pulsador = analogRead(Escornabot.entrada_pulsadores);
// Comprobamos la lectura dentro del rango del boton S1
if (
(Escornabot.S1_valor_minimo < lectura_pulsador) &&
(lectura_pulsador < Escornabot.S1_valor_maximo)
) {
Serial.println("Se ha pulsado el boton S1.");
digitalWrite(Escornabot.LED_1, HIGH);
tone(Escornabot.zumbador, 500);
delay(500);
digitalWrite(Escornabot.LED_1, LOW);
noTone(Escornabot.zumbador);
}
// Comprobamos la lectura dentro del rango del boton S2
else if (
(Escornabot.S2_valor_minimo < lectura_pulsador) &&
(lectura_pulsador < Escornabot.S2_valor_maximo)
) {
Serial.println("Se ha pulsado el boton S2.");
digitalWrite(Escornabot.LED_2, HIGH);
tone(Escornabot.zumbador, 1000);
delay(500);
digitalWrite(Escornabot.LED_2, LOW);
noTone(Escornabot.zumbador);
}
// Comprobamos la lectura dentro del rango del boton S3
else if (
(Escornabot.S3_valor_minimo < lectura_pulsador) &&
(lectura_pulsador < Escornabot.S3_valor_maximo)
) {
Serial.println("Se ha pulsado el boton S3.");
digitalWrite(Escornabot.LED_3, HIGH);
tone(Escornabot.zumbador, 2000);
delay(500);
digitalWrite(Escornabot.LED_3, LOW);
noTone(Escornabot.zumbador);
}
// Comprobamos la lectura dentro del rango del boton S4
else if (
(Escornabot.S4_valor_minimo < lectura_pulsador) &&
(lectura_pulsador < Escornabot.S4_valor_maximo)
) {
Serial.println("Se ha pulsado el boton S4.");
digitalWrite(Escornabot.LED_4, HIGH);
tone(Escornabot.zumbador, 3000);
delay(500);
digitalWrite(Escornabot.LED_4, LOW);
noTone(Escornabot.zumbador);
}
// Comprobamos la lectura dentro del rango del boton S5
if (
(Escornabot.S5_valor_minimo < lectura_pulsador) &&
(lectura_pulsador < Escornabot.S5_valor_maximo)
) {
Serial.println("Se ha pulsado el boton S5.");
digitalWrite(Escornabot.LED_1, HIGH);
delay(500);
digitalWrite(Escornabot.LED_1, LOW);
digitalWrite(Escornabot.LED_2, HIGH);
delay(500);
digitalWrite(Escornabot.LED_2, LOW);
digitalWrite(Escornabot.LED_3, HIGH);
delay(500);
digitalWrite(Escornabot.LED_3, LOW);
digitalWrite(Escornabot.LED_4, HIGH);
delay(500);
digitalWrite(Escornabot.LED_4, LOW);
}
}
| Vistas | |
|---|---|
| 27 | Número de vistas |
| 27 | Vistas de miembros |
| 0 | Vistas públicas |
| Acciones | |
|---|---|
| 0 | Gustos |
| 0 | No me gusta |
| 0 | Comentarios |
Compartir por correo
Por favor iniciar sesión para compartir esto webpage por correo.