Inhoudsopgave:

Arduino Retro Style MP3-speler! 8 stappen (met afbeeldingen) Ajarnpa
Arduino Retro Style MP3-speler! 8 stappen (met afbeeldingen) Ajarnpa

Video: Arduino Retro Style MP3-speler! 8 stappen (met afbeeldingen) Ajarnpa

Video: Arduino Retro Style MP3-speler! 8 stappen (met afbeeldingen) Ajarnpa
Video: Zemnian Nights | Critical Role: THE MIGHTY NEIN | Episode 11 2024, November
Anonim
Image
Image

Mp3-speler klinkt misschien behoorlijk verouderd. Smartphones kunnen veel beter dan dit! Met al die apps en streamingdiensten hoef je zelfs geen muziek of nummer te downloaden.

Maar toen ik de DFplayer-module tegenkwam, maakte het me echt enthousiast met een heleboel functies. Van volumeregeling, een 3W-versterker, equalizer, mogelijkheid om advertenties af te spelen tussen de mp3-bestanden en nog veel meer. Ik wilde al deze functies verkennen en ze goed gebruiken in één apparaat. Dus deze MP3-speler was een perfecte keuze.

Het eindproduct was best interessant om te gebruiken met de volgende kenmerken:

  • EQ-aanpassing
  • Volumeregeling
  • MP3-bestanden pauzeren/afspelen
  • Volgende vorige
  • 2 schermnavigatie
  • oplaadbare batterij

Benodigdheden

Hier is de lijst met onderdelen die ik in dit project heb gebruikt (affiliate links):

  • Arduino pro mini
  • DFPlayer
  • 1,3 inch OLED
  • Drukknoppen
  • Audio kabel
  • TP4056
  • Lipo-batterij
  • Schuifschakelaar
  • PCB

Stap 1: Het OLED-scherm instellen

DFPlayer instellen
DFPlayer instellen

1,3-inch OLED en 0,96-inch OLED zien er misschien hetzelfde uit, maar ze delen niet hetzelfde beeldschermstuurprogramma. Dus als u een bibliotheek zoals Adafruit SSD1306 probeert te gebruiken, werkt het beeldscherm niet omdat het 1,3 inch OLED-scherm Sh1106 heeft beeldscherm stuurprogramma.

We gaan dus de U8g2-bibliotheek gebruiken. U kunt deze bibliotheek downloaden voor uw Arduino IDE met deze link of ga naar uw bibliotheekbeheerder en installeer de nieuwste versie van U8g2.

Deze bibliotheek heeft veel flexibiliteit in vergelijking met andere bibliotheken, u kunt bijvoorbeeld dezelfde code uitvoeren voor een verscheidenheid aan schermen met zeer minimale codeverandering en, belangrijker nog, u een breed scala aan lettertypen en open pictogrammen bieden om in uw project te gebruiken.

Het 1,3-inch display heeft 4-pins VCC, GND, SDA en SCL. Aangezien het display een I2C-communicatie ondersteunt, sluit u de VCC en GND aan op +5V en GND van de Arduino pro mini en sluit u de SDA en SCL aan op A4 en A5 van de Arduino pro mini.

U kunt de weergave testen door de demo-schets uit te voeren die bij de u8g2-bibliotheek wordt geleverd of u kunt mijn schets in het Soundpod.rar-bestand compileren en uitvoeren of de Github-link gebruiken.

Stap 2: DFPlayer instellen

DFplayer is een kleine en goedkope MP3-module met een vereenvoudigde uitgang die zonder versterker direct op een luidspreker kan worden aangesloten.

Functies

  • 24-bits DAC
  • Ondersteunt FAT16, FAT32 bestandssysteem
  • Tot 32 GB SD-kaartondersteuning
  • Ingebouwde versterker van 3 watt
  • ondersteunt 100 mappen, elke map kan tot 1000 nummers ondersteunen
  • 5 niveaus van EQ-aanpassing en 30 niveaus van volumeaanpassing

Stroomkring

Deze module kan standalone worden gebruikt met een aangesloten batterij, luidspreker en drukknoppen of kan worden gebruikt met een Arduino of een andere microcontroller. Het maakt gebruik van UART/seriële communicatie voor het verzenden en ontvangen van opdrachten naar microcontrollers. We kunnen dus de seriële lees-/schrijffunctie van de Arduino gebruiken om deze module te besturen.

Sluit 4 drukknoppen aan op pin 2, 3, 4 van de Arduino voor het regelen van het volume/start/stop en sluit vervolgens de pin Rx en Tx pin van de DFplayer aan op Arduino pin 10 en 11. Sluit tot slot de luidspreker aan op spk+, spk- van de DFplayer, en sluit de +5v voeding aan op VCC en GND op GND van de DFplayer.

Je kunt je module testen met de code die in de map 'DFPlayer' staat. Deze instructable zou je helpen om gemakkelijker aan de slag te gaan met Arduino en DFPlayer.

Stap 3: De componenten voorbereiden

De componenten voorbereiden
De componenten voorbereiden
De componenten voorbereiden
De componenten voorbereiden
De componenten voorbereiden
De componenten voorbereiden
De componenten voorbereiden
De componenten voorbereiden

Je zou hebben gezien dat de uiteindelijke constructie er rommelig uitziet en je zou denken dat het veel beter zou zijn om een PCB af te drukken. Ik ben het er helemaal mee eens! Maar dit is relatief leuker en persoonlijk zijn ze ook best cool om naar te kijken. Hoe dan ook, ik zal een link plaatsen waar je het bestaande circuit kunt gebruiken en een PCB kunt bouwen.

Omdat er te veel componenten zijn om te gebruiken, zou een 2-zijdige PCB perfect passen. Snijd vervolgens de 2-zijdige PCB op een zodanige manier dat deze horizontaal 14 gaten heeft en verticaal 21. Plaats vervolgens de drukknoppen die ons zullen helpen bij het navigeren, pauzeren en afspelen van het nummer. Bij het plaatsen van andere componenten moet je heel voorzichtig zijn waar je ze plaatst en hoeveel pinnen elk onderdeel heeft. Vanuit mijn ervaring om dit twee keer te bouwen, bewaar alleen de pinnen die worden gebruikt en knip de rest ervan af. Het zou later meer problemen oplossen. U kunt naar dit schakelschema verwijzen en de onnodige pinnen doorknippen.

Stap 4: De componenten plaatsen

De componenten plaatsen
De componenten plaatsen
De componenten plaatsen
De componenten plaatsen
De componenten plaatsen
De componenten plaatsen

Plaats de digitale pinnen van de Arduino dicht bij de knoppen en de analoge pinnen wijzen naar de bovenkant van het bord, zodat het gemakkelijk is om verbinding te maken met het OLED-scherm. Doe dan hetzelfde proces voor de DFplayer, plaats de module zo dat de SD-kaartsleuf naar binnen wijst, en verwijder ook de zwarte separator van de header-pinnen, zodat de DFplayer samen met de Arduino goed op het bord past.

Ik wilde DFplayer op volle capaciteit draaien, dus ik voegde een kleine boost-converter toe om de 3,7 volt van de lithiumbatterij om te zetten naar 5V. Maar uiteindelijk kon deze module niet genoeg stroom leveren om de DFPlayer te laten draaien. En ik voelde dat het veel beter deed met de 3,7-volt batterij alleen. Dus uiteindelijk heb ik de boost-converter weggegooid (de groene PCB-module naast de Arduino pro mini).

Tot slot, om het af te maken aan de achterkant van de PCB, installeert u de schuifschakelaar en de 3,5 mm audio-aansluiting.

Stap 5: Alles aan elkaar solderen

Alles aan elkaar solderen
Alles aan elkaar solderen
Alles aan elkaar solderen
Alles aan elkaar solderen
Alles aan elkaar solderen
Alles aan elkaar solderen
Alles aan elkaar solderen
Alles aan elkaar solderen

Volg het schakelschema en soldeer de componenten dicht bij elkaar, waar je gemakkelijk twee verbindingen kunt samenvoegen en probeer het gebruik van draden te vermijden. Gebruik in plaats daarvan een blanke enkeladerige draad om de verbindingen te maken en zorg ervoor dat u ook geen van de componenten aan de onderkant aanraakt. En ik heb 2 enkelstrengs draden geplaatst die uit het bord steken, dit zal later worden gebruikt om de TP4056 te solderen.

Stap 6: Meer solderen

Meer Solderen!
Meer Solderen!
Meer Solderen!
Meer Solderen!
Meer Solderen!
Meer Solderen!

Plaats de TP4056-module, die we gaan gebruiken om onze MP3-speler op te laden met micro-USB. Ik heb dubbelzijdig plakband gebruikt om de lithium-polymeerbatterij naast de oplaadmodule te plaatsen. Dit is een 300Mah module die perfect in de print past. Als u een grotere bouwt, kunt u de batterij eenvoudig uitbreiden zonder enige wijziging aan het huidige circuit.

Soldeer ten slotte het OLED-scherm om het af te maken. Als je het schakelschema zou kunnen volgen en de componenten in dezelfde volgorde zou kunnen plaatsen, zal het een stuk gemakkelijker zijn om mee te werken.

Stap 7: De code uploaden en de laatste hand leggen

De code uploaden en de laatste hand leggen
De code uploaden en de laatste hand leggen
De code uploaden en de laatste hand leggen
De code uploaden en de laatste hand leggen
De code uploaden en de laatste hand leggen
De code uploaden en de laatste hand leggen

Daarna heb ik de finishing touch gegeven, door er een gladde afgeronde hoek aan te geven en ik heb een gaatje in de bovenhoek geboord zodat ik deze als sleutelhanger kan gebruiken!

Nu kunnen we kijken naar het programmeergedeelte!

Instructies voor de installatie van de vereiste bibliotheken en hoe ze te gebruiken worden gegeven in het Readme-bestand op mijn git-repository van dit project. Volg gewoon de instructies en gebruik een FDTI-module om te programmeren in het soundpod.rar-bestand naar Arduino pro mini. We gebruiken een FDTI-module omdat Arduino pro mini geen USB ondersteunt om het te programmeren.

Ten slotte heb ik de lichten van de Arduino pro mini en DFplayer verwijderd om wat batterij en afleiding te besparen die het veroorzaakte tijdens het spelen van het nummer.

Stap 8: Afgewerkt project

Afgewerkt project!
Afgewerkt project!
Afgewerkt project!
Afgewerkt project!

Als je het circuit inschakelt na het uploaden van de code, kun je zien dat Arduino opstart en het OLED-scherm werkt. Kopieer enkele muziekbestanden naar SD voordat u erin springt en alle functies van deze MP3-module ziet. Hiervoor moet je een bepaalde naamgevingsconventie volgen, waarbij je mappen 01, 02,..etc moeten heten en je bestanden in elke map de naam 001, 002, 003..etc moeten hebben.

Dus om alles eenvoudig te maken, heb ik een python-script in de GitHub-repo samen met de code voor dit project. Voer gewoon het script uit in de opdrachtprompt en u zou een GUI-interface moeten krijgen waar u bestanden naar uw SD-kaart kunt overbrengen zonder gedoe voor uw DFPlayer.

Hier kunt u zoveel mappen maken als u wilt, en u kunt zoveel bestanden toevoegen als u nodig heeft in de bestandenlijst. U kunt ook ongewenste mappen en bestanden verwijderen (het programma is ontworpen om eruit te zien als software van het afgelopen decennium, dus het komt overeen met onze mp3-build). Plaats de SD-kaart en zet de soundpod aan (zo noemde ik mijn MP3-speler XD).

Je kunt de werking van deze soundpod zien in de video die hierboven is gepost!

Aanbevolen: