- 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 15
Actividad 15

Implementando el control del zumbador y LEDs con métodos
En el ejercicio anterior creamos una función para controlar el zumbador y los LEDs cuando se realiza una pulsación. Ahora usaremos el método de una clase, como la que hemos estado utilizando de nuestra librería de Escornabot. Reemplaza la función notifica_pulsador por el método notifica_pulsador.
Solución
/*
Ejemplo [MetodoNotificaPulsador.ino] para comprobar el funcionamiento de
funciones 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);
// ***************************CODIGO PRINCIPAL*****************************
// 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.");
Escornabot.notifica_pulsador (1, 500, 500);
}
// 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.");
Escornabot.notifica_pulsador (2, 1000, 500);
}
// 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.");
Escornabot.notifica_pulsador (3, 2000, 500);
}
// 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.");
Escornabot.notifica_pulsador (4, 3000, 500);
}
// 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.");
Escornabot.notifica_pulsador (1, 500, 500);
Escornabot.notifica_pulsador (2, 1000, 500);
Escornabot.notifica_pulsador (3, 2000, 500);
Escornabot.notifica_pulsador (4, 3000, 500);
}
}
| Vistas | |
|---|---|
| 25 | Número de vistas |
| 25 | 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.