M5Stack Principiante: Plus 2 Aprovechando las funciones de sonido y visualización
Introducción
Con el rápido avance de el Internet de las Cosas (IoT) y la proliferación de dispositivos portátiles, hay una creciente demanda por parte de los desarrolladores de placas de desarrollo que sean compactas, eficientes y ricas en características. El M5StickC Plus2, un miembro notable de la serie M5Stack, se distingue por su diseño compacto, integración multifuncional e interfaz amigable para el usuario, lo que lo convierte en una opción ejemplar para una amplia variedad de proyectos. Este artículo tiene como objetivo elucidarse sobre las características clave del M5StickC Plus2 y proporcionar orientación sobre cómo aprovechar sus funcionalidades integradas de altavoz y pantalla para ejecutar la reproducción de sonido y la visualización de texto dentro de un proyecto de muestra.
¿Qué es M5StickC Plus2?
-
Diseño compacto: Mide solo 54 mm × 54 mm, es fácil de transportar e integrar en varios proyectos.
-
Pantalla incorporada: una pantalla TFT a color de 1,14 pulgadas que admite múltiples fuentes y visualizaciones gráficas.
-
Sensores Multifuncionales: Incluye acelerómetro, giroscopio, sensores de temperatura y humedad, entre otros, adecuados para diversos escenarios de aplicación.
-
Altavoz incorporado: Admite reproducción de audio, ideal para retroalimentación de sonido y funciones de alarma.
-
Interfaces enriquecidas: admite GPIO, I2C, UART y otras interfaces de comunicación, lo que facilita la expansión periférica.
-
Alimentado por batería: la batería integrada admite un funcionamiento a largo plazo, adecuada para aplicaciones móviles.
Configurar el entorno de desarrollo
-
Arduino IDE: se utiliza para escribir y cargar código en el M5StickC Plus2. Descárguelo desde el sitio web oficial de Arduino.
-
Biblioteca M5StickC Plus2: instale la biblioteca M5Stack en Arduino IDE para utilizar las funcionalidades proporcionadas.
Instalación de la biblioteca M5StickC Plus2
-
Abra el IDE de Arduino.
-
Vaya a
Herramientas
>Tablero
>Administrador de tableros
. -
Busque
M5StickC Plus2
e instale la última versión de la biblioteca.
Proyecto de muestra: visualización de texto y reproducción de sonidos
#incluye "M5StickCPlus2.h" configuración vacía() { // Retrieves device configuration. configuración automática = M5.config(); // Initializes the M5StickC Plus2. StickCP2.begin(cfg); // Rotates the display StickCP2.Display.setRotation(1); // sets text color to green StickCP2.Display.setTextColor(VERDE); // centers the text StickCP2.Display.setTextDatum(middle_center); // uses the "Orbitron_Light_24" font StickCP2.Display.setTextFont(&fonts::Orbitron_Light_24); StickCP2.Display.setTextSize(1); // Displays the message "Power LED" at the screen’s center. StickCP2.Display.drawString("Prueba de zumbador", StickCP2.Display.width() / 2, StickCP2.Display.height() / 2); } bucle vacío() { // Play a 10,000 Hz tone for 100 milliseconds StickCP2.Speaker.tone(10000, 100); // Delay for 1 second retraso(1000); // Play a 4,000 Hz tone for 20 milliseconds StickCP2.Speaker.tone(4000, 20); // Delay for 1 second delay(1000); }
Explicación del código
-
Incluyendo la Biblioteca
#incluye "M5StickCPlus2.h"
-
configuración()
Función
configuración vacía() { // Retrieves device configuration. configuración automática = M5.config(); // Initializes the M5StickC Plus2. StickCP2.begin(cfg); // Rotates the display StickCP2.Display.setRotation(1); // sets text color to green StickCP2.Display.setTextColor(VERDE); // centers the text StickCP2.Display.setTextDatum(middle_center); // uses the "Orbitron_Light_24" font StickCP2.Display.setTextFont(&fonts::Orbitron_Light_24); StickCP2.Display.setTextSize(1); // Displays the message "Power LED" at the screen’s center. StickCP2.Display.drawString("Prueba de zumbador", StickCP2.Display.width() / 2, StickCP2.Display.height() / 2); }
-
Rotación:
setRotation(1)
gira la pantalla 90 grados para que coincida con la orientación física del dispositivo. -
Color del texto:
setTextColor(GREEN)
establece el color del texto en verde. -
Alineación del texto:
setTextDatum(middle_center)
centra la alineación del texto. -
Fuente y tamaño: utiliza la fuente
Orbitron_Light_24
y establece el tamaño del texto en 1. -
Mostrar texto: muestra "Prueba de zumbador" en el centro de la pantalla.
-
Actualizar visualización: llama a
display()
para actualizar la visualización con el contenido dibujado.
3. bucle()
Función
StickCP2.Speaker.tone(10000, 100);
-
10000
: Este parámetro suele representar la frecuencia del tono en Hercios (Hz ). Una frecuencia de 10.000 Hz es un sonido agudo, cerca del límite superior de la audición humana. -
100
: este parámetro normalmente representa la duración del tono en milisegundos (ms). Entonces, el tono se reproducirá durante 100 milisegundos (0,1 segundos).
-
Reproduce un tono de alta frecuencia de 10.000 Hz durante 100 milisegundos.
-
Retrasos de 1 segundo.
-
Reproduce un tono de frecuencia más baja de 4000 Hz durante 20 milisegundos.
-
Retrasos de otro 1 segundo.
bucle vacío() { // Play a 10,000 Hz tone for 100 milliseconds StickCP2.Speaker.tone(10000, 100); // Delay for 1 second retraso(1000); // Play a 4,000 Hz tone for 20 milliseconds StickCP2.Speaker.tone(4000, 20); // Delay for 1 second delay(1000); }
Ampliación del Proyecto y Aplicaciones
-
Sistemas de alarma y retroalimentación de sonido
-
Alertas de notificación: reproduce sonidos para notificar a los usuarios sobre eventos específicos.
-
Sistemas de alarma: emite tonos de alta frecuencia para alertar a los usuarios de condiciones anormales.
-
Juegos interactivos: crea efectos de sonido de juegos sencillos utilizando diferentes frecuencias y duraciones.
-
Visualización e interacción de información
-
Visualización de datos en tiempo real: muestra datos del sensor en tiempo real, como temperatura y humedad.
-
Interfaces de usuario: cree menús y botones simples para la interacción del usuario a través de la pantalla.
-
Animaciones y gráficos: muestre gráficos dinámicos o animaciones para mejorar el atractivo visual de los proyectos.
-
Dispositivos portátiles
-
Monitoreo de salud: combine sensores para monitorear datos de salud, como frecuencia cardíaca y pasos, y muestre la información.
-
Pulseras inteligentes: Implementa recordatorios de información e interacciones sencillas mediante la pantalla y el altavoz.
-
Rastreadoresde actividad física: registra y muestra datos de ejercicio en tiempo real a través de la pantalla.
Consideraciones y sugerencias de optimización
-
Confirmar nombres de objetos
M5
como objeto principal. Si la biblioteca realmente usa StickCP2
, consulte la documentación oficial para confirmar su uso. Si es necesario, reemplace StickCP2
con M5
como se muestra en el código de muestra.-
M5Unificado: https://github.com/m5stack/M5Unified
-
M5StickCPlus2: https://github.com/m5stack/M5StickCPlus2
-
Rendimiento del orador
-
Rango de frecuencia: asegúrese de que las frecuencias que desea reproducir estén dentro del rango admitido por el altavoz. Las frecuencias extremadamente altas o bajas pueden causar distorsión del sonido o pueden no ser audibles.
-
Control de volumen: si la biblioteca admite el control de volumen, ajuste el volumen según sea necesario para evitar que los sonidos sean demasiado altos o demasiado bajos.
-
Actualización de pantalla
mostrar()
función para actualizar la pantalla. De lo contrario, es posible que el contenido dibujado no aparezca en la pantalla.-
Manejo de errores
-
Gestión de energía
Referencias
Proyecto M5StickC Plus2
Altavoz Bluetooth M5StickC – OpenELAB
Proyecto de mini máquina tragamonedas con M5StickC Plus2
Artículos recomendados
¿Cómo enciendo y apago mi M5StickC PLUS2?
¿Cuál es la diferencia entre M5StickC PLUS y PLUS2?
Construya un sistema de detección de velocidad para bicicletas
Principiante de M5Stack: grabación de M5Burner
Principiante de M5Stack: Guía del usuario del botón PLUS2
Principiante de M5Stack: capacidades de infrarrojos PLUS2
Proyecto para principiantes de M5Stack: implementar una función de control remoto