Inhoudsopgave:
- Stap 1: Gegevensblad
- Stap 2: DFPlayer-module
- Stap 3: Miniversterker PAM8403
- Stap 4: Montage
- Stap 5: Bibliotheken
- Stap 6: Broncode
Video: MP3-speler met Arduino: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
In deze montage gebruikten we een mp3-speler met Arduino Uno, een mini PAM8403 geluidsversterker met volumeregeling, een mp3-module DFPlayer Mini en een paar luidsprekers van 3 Watt.
Dit schema dient niet alleen voor de muziekspeler, maar ook om spraakfuncties mogelijk te maken voor onder meer een parkeerbarrière of een robot. Deze assemblage zal de plaatsing van een opgenomen stem in de apparaten mogelijk maken. Deze stem zal natuurlijk zijn en niet gesynthetiseerd. Voor de meeste mensen zijn dit functies die de voorkeur hebben in vergelijking met de standaardalternatieven.
Voor deze montage gebruiken we specifiek de Arduino Uno, maar je kunt ook verbinding maken met ESP8266 of ESP32. Uiteraard zal er een aanpassing aan de pinnen nodig zijn.
Stap 1: Gegevensblad
Stap 2: DFPlayer-module
De DFPlayer-module gebruikt de seriële communicatie RX TX, VCC, GND. Het heeft uitgang naar twee luidsprekers en audio-ingang.
Stap 3: Miniversterker PAM8403
Stap 4: Montage
Stap 5: Bibliotheken
Voeg de volgende bibliotheek "DFRobotDFPlayerMini" toe voor communicatie met de mp3-module.
Ga gewoon naar "Schets >> Bibliotheken opnemen >> Bibliotheken beheren …"
Stap 6: Broncode
We beginnen met het definiëren van de bibliotheken en constanten die we met onze code zullen gebruiken.
Begin met het maken van een object, de seriële software en een ander, namelijk myDFPlayer.
De buf-variabele, die van het type String is, zal dienen om de gegevens op te slaan die afkomstig zijn van de Arduino Serial, die de opdrachten voor de MP3-module zullen zijn. De variabele "pause" wordt gebruikt om aan te geven of de muziek wordt afgespeeld of gepauzeerd (pause = true, en geeft aan dat deze is gepauzeerd, anders wordt deze afgespeeld).
#include "SoftwareSerial.h"#include "DFRobotDFPlayerMini.h" //Inicia a serial por software nos pinos 10 e 11 SoftwareSerial mySoftwareSerial(10, 11); // RX, TX //Objeto responsavel pela comunicação com of módulo MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; //variável responsavel door armazenar en comandos enviados para controlar o player String buf; //variável responsável por armazenar o estado do player (0: tocando; 1: pausado) boolean pausa = false; //variável responsável por armazenar o estado da equalização //varia de 0 a 5 int equalizacao = 0; // (0 = Normaal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Klassiek, 5 = Bas)" //variável responsável por armazenar o total de músicas presenteert geen SD-kaart. int maxSongs = 0;
Opstelling
In deze stap plaatsen we opties voor afdrukken om u een indicatie te geven dat het circuit wordt gemonteerd, bijvoorbeeld met evaluaties van valse omstandigheden.
void setup () {// Comunicacao seriële com o modulo mySoftwareSerial.begin (9600); //Inicializa a serial do Arduino Serial.begin(115200); //Verificatie van de modulo esta respondendo e se o //cartao SD foi encontrado Serial.println(); Serial.println ("DFRobot DFPlayer Mini"); Serial.println("Inicializando modulo DFPlayer… (3~5 segmenten)"); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println("Nao inicializado:"); Serial.println("1. Cheque zoals conexoes doen DFPlayer Mini"); Serial.println("2. Insira um cartao SD"); terwijl (waar); } Serieel.println(); Serial.println("Modulo DFPlayer Mini begint!"); //Definieert mijnDFPlayer.setTimeOut(500); //Time-out serieel 500ms myDFPlayer.volume (10); //Volume 10 vai de 0 a 30 myDFPlayer. EQ (0); //Equalizacao normal //recupera o numero de Músicas encontradas no SD. maxSongs = mijnDFPlayer.readFileCounts(DFPLAYER_DEVICE_SD); Serieel.println(); Serial.print("Numero de arquivos geen cartao SD: "); Serial.println(maxSongs); //Mostra o menu de commando's menu_opcoes();
Optiemenu
Je bestuurt deze hele assembly via de seriële monitor. Dus elke keer drukt het schema het optiemenu af dat je hebt, met opdrachten, aanwijzingen.
void menu_opcoes(){ Serial.println(); Serial.println("Comandos:"); Serieel.print(" [1-"); Serial.print (maxSongs); Serial.println("] Geselecteerde of arquivo MP3"); Serial.println(" [s] parare reproductie"); Serial.println(" [p] pauze/continua a musica"); Serial.println(" [e] seleciona equalizacao"); Serial.println(" [+ of -] vergroot of verkleint volume"); Serieel.println(); }
Lus
void loop () { // Aguarda een entrada de dados pela serial while (Serial.available () > 0) { // recupera os dados de entrada buf = Serial.readStringUntil ('\n'); //Reproducao (indice da música) if ((buf.toInt() >= 1) && (buf.toInt() <= maxSongs)) { Serial.print("Reproduzindo musica: "); Serial.println(buf.toInt()); mijnDFPlayer.play(buf.toInt()); // speel op muziek menu_opcoes(); } //Pausa/Continua a musica if (buf == "p") { if (pausa) { Serial.println("Continua musica…"); mijnDFPlayer.start(); } else { Serial.println("Musica pausada…"); mijnDFPlayer.pauze(); } pauze = !pauze; menu_opcoes(); } //Parada if (buf == "s") { myDFPlayer.stop(); Serial.println ("Muziekparada!"); menu_opcoes(); } //Seleciona equalizacao if (buf == "e") { equalizacao++; if (equalizacao == 6) { equalizacao = 0; } mijnDFPlayer. EQ(equalizacao); Serial.print("Equalizacao: "); Serial.print(equalizacao); Serial.println(" (0 = Normaal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Klassiek, 5 = Bas)"); menu_opcoes(); } // Aumenta volume if (buf == "+") { myDFPlayer.volumeUp(); Serial.print("Volume atual:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } // Diminui volume if (buf == "-") { myDFPlayer.volumeDown(); Serial.print("Volume atual:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } //herhalingslus
Aanbevolen:
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
PCB-ontwerp met eenvoudige en gemakkelijke stappen: 30 stappen (met afbeeldingen)
PCB-ontwerp met eenvoudige en gemakkelijke stappen: HELLO VRIENDEN Het is een zeer nuttige en gemakkelijke tutorial voor diegenen die PCB-ontwerp willen leren, laten we beginnen