Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Debido a la epidemia, pasé más tiempo en casa de lo habitual en los últimos seis meses. Es inevitable que una persona se aburra en casa, así que hice un reproductor de audio con ESP32 para pasar el tiempo. ESP32 se puede utilizar como un sistema independiente para ejecutar aplicaciones, simplemente conecte el cable, encienda el dispositivo y programe. Con la descarga de diferentes programas, el reproductor puede realizar la función de reproducción de música de la tarjeta SD, la función de radio por Internet y la función de despertador musical.
Ahora quiero mostrarte mis resultados y decirte cómo hacerlo.
Suministros
Hardware:
- MakePython ESP32 (WROVER, puede obtenerlo desde este enlace:
- MakePython Audio (puede obtenerlo desde este enlace:
- Tarjeta micro SD
- cable USB
- Audio / auriculares con conector de audio de 3,5 mm
Software:
- IDE de Arduino
- Descarga música (.mp3 o.wav) a la tarjeta SD.
Paso 1: Conexión
Conecte dos placas de acuerdo con los pines. El VCC está conectado a 3v3
Paso 2: entorno de programación
Soporte ESP32
Siga las instrucciones de instalación para agregar compatibilidad con ESP32 si aún no lo está haciendo:
github.com/espressif/arduino-esp32
Instalar biblioteca
- Adafruit SSD1306 y bibliotecas dependientes.
- ESP32-audioI2S.
Puede obtener el archivo zip desde Github:
github.com/Makerfabs/Project_MakePython_Audio_Music
Descomprime este archivo. Abra su IDE de Arduino y vaya a Sketch> Incluir biblioteca> Administrar bibliotecas> Agregar biblioteca. ZIP.
Luego abra la carpeta: "\ Project_MakePython_Audio_Music / old-src / esp32_mp3 / ESP32-audioI2S". Y verá un mensaje de que la biblioteca se instaló correctamente.
Paso 3: Acerca del código
Reproducción de audio
- Abra el archivo "/Project_MakePython_Audio_Music/music_player.ino". Puede obtener el código de Github:
-
Aviso: MicroPython Audio se puede descargar sin desconectar. Al cargar el programa, gire el interruptor junto a la interfaz de audio de 3,5 mm a la toma de audio para descargarlo correctamente.
- Modifique o agregue texto en la pantalla.
void lcd_text (texto de cadena)
Cambiar el volumen inicial:
audio.setPinout (I2S_BCLK, I2S_LRC, I2S_DOUT);
audio.setVolume (14); // 0… 21
Cambiar de canción:
si (digitalRead (Pin_next) == 0)
{Serial.println ("Pin_next"); if (índice_archivo 0) índice_archivo--; else file_index = file_num - 1; open_new_song (lista_archivo [índice_archivo]); print_song_time (); button_time = millis (); }
Sube el código
Radio web
- Puede obtener el código en el enlace:
- La radio web debe conectarse a Internet, debe cambiar la información de WIFI.
const char * ssid = "Makerfabs";
const char * contraseña = "20160704";
Agregue, elimine o modifique la dirección de radio en el siguiente código:
Estaciones de cadena = {
"0n-80s.radionetz.de:8000/0n-70s.mp3", "mediaserv30.live-streams.nl:8000/stream", "www.surfmusic.de/m3u/100-5-das-hitradio, 4529.m3u "," stream.1a-webradio.de/deutsch/mp3-128/vtuner-1a "," mp3.ffh.de/radioffh/hqlivestream.aac ", // 128k aac" www.antenne.de/webradio /antenne.m3u "," listen.rusongs.ru/ru-mp3-128 "," edge.audio.3qsdn.com/senderkw-mp3 "," macslons-irish-pub-radio.com/media.asx "};
Conéctese a la estación de radio web:
void open_new_radio (estación de cadena)
{audio.connecttohost (estación);
Alarma
- Puede obtener el código desde aquí:
- modificar la hora de la alarma en el siguiente código:
const char * ntpServer = "120.25.108.11";
const long gmtOffset_sec = 8 * 60 * 60; // China + 8 const int daylightOffset_sec = 0; String clock_time = "17:39:00"; String clock_time2 = "17:42:00";
Iniciar y obtener la hora, y "gmtOffset" se utiliza para establecer la zona horaria
// init y obtén el tiempo
configTime (gmtOffset_sec, daylightOffset_sec, ntpServer); Serial.println (F ("Alread get npt time."));
Modifica la música del despertador:
bucle vacío ()
{printLocalTime (); audio.loop (); if (millis () - button_time> 600) {if (alarm_flag == 0) {if (showtime ()! = 0) {open_new_song ("clock.wav"); alarma_bandera = 1; display.setCursor (0, 24); display.println ("¡¡¡¡ALARMA !!!!!"); display.display (); retraso (1000); button_time = millis (); }}
Paso 4: Caso
El caso se puede obtener en:
www.makerfabs.com/esp32-audio-fixture-kit.html
Diseño 3D
diseña la carcasa como quieras. Si no desea diseñarlo temporalmente, puede obtener el archivo de diseño desde aquí:
github.com/Makerfabs/Project_MakePython_Audio_Music
Impresión 3d
Transfiera sus archivos de impresión a la impresora usando una tarjeta SD. La impresión 3D puede completar la producción de la carcasa rápidamente.
Montaje
Ensamblando la caja y las dos placas, puede obtener un nuevo reproductor de audio.
Paso 5: Operación
- Encienda el ESP32 a través de Micro USB y la pantalla LCD muestra la información básica de la canción.
- El interruptor inferior izquierdo puede cambiar de canción o canal de radio y presionar hacia adentro para pausar la reproducción.
- El interruptor de la izquierda puede aumentar o disminuir el volumen, presione hacia adentro para silenciar o detener la alarma.