Dnes si popíšeme zapojení zvukového MP3 modulu možnéh využít ke staničnímu hlášení, ozvučení scény kolejiště a nebo třeba jako jednoduchý přehrávač MP3.
Použité komponenty:
Použité komponenty:
1 x Arduino Pro Mini (Nano) - Aliexpress (cca 35 CZK klon)
1 x DFPlayer MP3 (Mp3-TF-16P) - AliExpress (cca 30 CZK verze mp3-tf-16p)
10 x spínač dle vaší volby
11 x odpor 10 k pro spínač a RX
1 x microSD paměťová karta - formát FAT32
1 x repro 3 W 4 ohmy
1 x DFPlayer MP3 (Mp3-TF-16P) - AliExpress (cca 30 CZK verze mp3-tf-16p)
10 x spínač dle vaší volby
11 x odpor 10 k pro spínač a RX
1 x microSD paměťová karta - formát FAT32
1 x repro 3 W 4 ohmy
Program:
Program verze 1.1
Stav klidu - nic nehraje
Stav sepnutí - sepnutí T1 sepne mp3 z SD karty a nechá daný zvuk celý přehrát (shodné pro další T1 až T10)
Upozornění - pokud se přehrává zvuk a zmačknete stejné, či jiné talčítko T1 až T10 spustí se nový zvuk a původní přehrávaný se přeruší.
microSD karta - do kořenového adresáře nahrajte zvuk s názvem:
1.mp3 - spouští tlačítko T1
2.mp3 - spouští tlačítko T2
atd.....
...
... až
10.mp3 - spouští tlačítko T10
Funkce viz. video:
Program:
#include <Servo.h>
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(2, 3); // RX, TX - data mezi MPR a Arduino
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
const int button0 = 4; //nastavení funkčních tlačítek
const int button1 = 5;
const int button2 = 6;
const int button3 = 7;
const int button4 = 8;
const int button5 = 9;
const int button6 = 10;
const int button7 = 11;
const int button8 = 12;
const int button9 = 13;
int buttonState = 0;
int pos = 0;
int value = 0;
void setup() {
pinMode(button1, INPUT);
mySoftwareSerial.begin(9600);
Serial.begin(9600);
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while(true);
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(25); //Nastavení hlasitosti minimální 0 až maximální 30
}
void loop() {
buttonState = digitalRead(button0); //tlačítko 0 sepne 1.mp3 atd u dalších
if (buttonState == HIGH) {
myDFPlayer.play(1); //Play the 1.mp3
delay(10);
} else {
}
buttonState = digitalRead(button1);
if (buttonState == HIGH) {
myDFPlayer.play(2); //Play the 2.mp3
delay(10);
} else {
}
buttonState = digitalRead(button2);
if (buttonState == HIGH) {
myDFPlayer.play(3); //Play the 3.mp3
delay(10);
} else {
}
buttonState = digitalRead(button3);
if (buttonState == HIGH) {
myDFPlayer.play(4); //Play the 4.mp3
delay(10);
} else {
}
buttonState = digitalRead(button4);
if (buttonState == HIGH) {
myDFPlayer.play(5); //Play the 5.mp3
delay(10);
} else {
}
buttonState = digitalRead(button5);
if (buttonState == HIGH) {
myDFPlayer.play(6); //Play the 6.mp3
delay(10);
} else {
}
buttonState = digitalRead(button6);
if (buttonState == HIGH) {
myDFPlayer.play(7); //Play the 7.mp3
delay(10);
} else {
}
buttonState = digitalRead(button7);
if (buttonState == HIGH) {
myDFPlayer.play(8); //Play the 8.mp3
delay(10);
} else {
}
buttonState = digitalRead(button8);
if (buttonState == HIGH) {
myDFPlayer.play(9); //Play the 9.mp3
delay(10);
} else {
}
buttonState = digitalRead(button9);
if (buttonState == HIGH) {
myDFPlayer.play(10); //Play the 10.mp3
delay(10);
} else {
}
}