Campamento de Programación - Parte 6: Generar Sonido desde el Altavoz del ODROID-GO

Vamos a aprender cómo usar la salida DAC como un generador de tonos. La librería odroid_go.h y su instancia GO tienen una instancia Speaker para usar el altavoz con facilidad. Por lo tanto, puedes jugar un poco con GO.Speaker. Algunas de las funciones de GO.Speaker son:

  • setVolume(): para ajustar el nivel de volumen. El parámetro dado puede ser de 0 a 11 (silencio).
  • playMusic(): para reproducir música que está escrita en números enteros de 8 bits. El parámetro dado es una frecuencia de muestreo correcta para reproducir música.
  • beep(): para reproducir un simple pitido.
  • tone(): para reproducir un simple pitido con los parámetros de frecuencia y duración en milisegundos. Puedes omitir el argumento de duración.

Vamos a escribir el código que reproduce un sonido cuando se presiona un botón. Usaremos los botones A, B e Inicio y haremos que estos botones reproduzcan un sonido que sea diferente entre sí. Para obtener información sobre cómo se utilizan los botones, consulta el ejemplo de los Botones. También vamos a mostrar en la pantalla LCD qué botón se ha presionado.

Para conocer cómo usar la pantalla LCD, consulta el ejemplo de Hello World. Podemos escribir el código fuente tal y como se muestra a continuación. Inicia la placa llamando a la función GO.begin () y coloca el código dentro de la función loop () que se activa cuando se presiona el botón wasPressed().

#include

void setup() {
// put your setup code here, to run once:
GO.begin();

GO.lcd.printf("ODROID-GO speaker test:\r\n");
GO.Speaker.setVolume(8);
GO.Speaker.playMusic(m5stack_startup_music, 25000);
}

void loop() {
// put your main code here, to run repeatedly:

if(GO.BtnA.wasPressed()) {
GO.lcd.printf("wasPressed: A \r\n");
GO.Speaker.beep();
}

if(GO.BtnB.wasPressed()) {
GO.lcd.printf("wasPressed: B \r\n");
GO.Speaker.tone(3000, 200);
}

if(GO.BtnStart.wasPressed()) {
GO.lcd.printf("wasPressed: Start \r\n");
GO.Speaker.playMusic(m5stack_startup_music, 25000);
}

GO.update();
}
Presiona CTRL-U para compilar y cargar el esquema, y presiona el boton A, B o Inicio para reproducir un sonido.

Ejemplo completo

El ejemplo completo lo tienes disponible haciendo clic en el menú Files → Examples → ODROID-GO → Speaker para importar y presiona CTRL-U para compilar/cargar, como se muestra en la Figura 1.

Figure 1 - Accessing the completed example
Figura 1 - Accediendo al ejemplo completo

Para comentarios, preguntas y sugerencias, visita el artículo original en https://wiki.odroid.com/odroid_go/arduino/06_speaker.

Be the first to comment

Leave a Reply