Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Door de epidemie heb ik de afgelopen zes maanden meer tijd thuis doorgebracht dan normaal. Het is onvermijdelijk dat iemand zich thuis zou vervelen, dus heb ik een audiospeler gemaakt met ESP32 om de tijd te doden. ESP32 kan worden gebruikt als een onafhankelijk systeem om applicaties uit te voeren, sluit gewoon de kabel aan, voed het apparaat en programmeer het. Met het downloaden van verschillende programma's kan de speler een SD-kaart afspelen van muziekfunctie, internetradiofunctie en muziekwekkerfunctie realiseren.
Nu wil ik mijn resultaten laten zien en je vertellen hoe je het moet doen.
Benodigdheden
Hardware:
- MakePython ESP32 (WROVER, je kunt het krijgen via deze link:
- MakePython Audio (je kunt het krijgen via deze link:
- Micro SD kaart
- USB-kabel
- Audio/hoofdtelefoon met 3,5 mm audio-aansluiting
Software:
- Arduino IDE
- Download muziek (.mp3 of.wav) naar de SD-kaart.
Stap 1: Aansluiting
Verbind twee borden volgens de pinnen. De VCC is verbonden met 3v3
Stap 2: Programmeeromgeving
ESP32-ondersteuning:
Volg de installatie-instructies om ESP32-ondersteuning toe te voegen als u dit nog niet doet:
github.com/espressif/arduino-esp32
Bibliotheek installeren
- Adafruit SSD1306 en afhankelijke bibliotheken.
- ESP32-audioI2S.
U kunt het zip-bestand van de Github ophalen:
github.com/Makerfabs/Project_MakePython_Audio_Music
Pak dit bestand uit. Open uw Arduino IDE en navigeer naar Sketch> Bibliotheek opnemen> Bibliotheken beheren>. ZIP-bibliotheek toevoegen.
Open vervolgens de map: "\Project_MakePython_Audio_Music\old-src\esp32_mp3\ESP32-audioI2S". En u ziet een prompt dat de bibliotheek met succes is geïnstalleerd.
Stap 3: Over code
Audio afspelen
- Open het bestand "/Project_MakePython_Audio_Music/music_player.ino". Je kunt de code van Github krijgen:
-
Opmerking: MicroPython Audio kan worden gedownload zonder de stekker uit het stopcontact te halen. Draai bij het uploaden van het programma de schakelaar naast de 3,5 mm audio-interface naar de audio-aansluiting om succesvol te downloaden.
- Wijzig of voeg tekst toe in het display.
void lcd_text (tekenreekstekst)
Wijzig het beginvolume:
audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
audio.setVolume(14); // 0…21
Nummers wisselen:
if (digitalRead (Pin_next) == 0)
{ Serial.println("Pin_next"); if (file_index 0) file_index--; anders file_index = file_num - 1; open_new_song (bestandslijst [bestandsindex]); print_song_time(); button_time = millis(); }
Upload de code
Webradio
- U kunt de code krijgen via de link:
- Webradio moet verbinding maken met internet, u moet de wifi-informatie wijzigen.
const char *ssid = "Makerfabs";
const char *wachtwoord = "20160704";
Voeg het radioadres toe, verwijder of wijzig het in de volgende code:
Stringstations = {
"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"};
Maak verbinding met het webradiostation:
void open_new_radio(String-station)
{ audio.connecttohost(station);
Alarm
- U kunt de code hier ophalen:
- wijzig de alarmtijd in de volgende code:
const char *ntpServer = "120.25.108.11";
const lang gmtOffset_sec = 8 * 60 * 60; //China+8 const int daglichtOffset_sec = 0; String clock_time = "17:39:00"; String clock_time2 = "17:42:00";
Init en krijg de tijd, en de "gmtOffset" wordt gebruikt om de tijdzone in te stellen
// init en krijg de tijd
configTime (gmtOffset_sec, daglichtOffset_sec, ntpServer); Serial.println(F("Alread get npt time."));
Wijzig de wekkermuziek:
lege lus()
{ printLocalTime(); audio.loop(); if (millis() - button_time > 600) { if (alarm_flag == 0) { if (showtime() != 0) { open_new_song("clock.wav"); alarm_vlag = 1; display.setCursor(0, 24); display.println("ALARM!!!!!"); weergave.weergave(); vertraging (1000); button_time = millis(); } }
Stap 4: Geval
De zaak is te verkrijgen bij:
www.makerfabs.com/esp32-audio-fixture-kit.html
3D-ontwerp
ontwerp de behuizing zoals u wilt. Als u het niet tijdelijk wilt ontwerpen, kunt u het ontwerpbestand hier ophalen:
github.com/Makerfabs/Project_MakePython_Audio_Music
3d printen
Breng uw afdrukbestanden over naar de printer met behulp van een SD-kaart. 3D-printen kan de productie van de behuizing snel voltooien.
samenkomst
Als je de behuizing en de twee borden in elkaar zet, kun je een nieuwe audiospeler krijgen.
Stap 5: Bediening
- Voed de ESP32 via Micro USB en het LCD-scherm geeft de basisinformatie van het nummer weer.
- De schakelaar linksonder kan van nummer of radiokanaal wisselen en naar binnen drukken om het afspelen te pauzeren.
- De schakelaar aan de linkerkant kan het volume verhogen of verlagen, naar binnen drukken om het alarm te dempen of te stoppen.