Სარჩევი:
- ნაბიჯი 1: მონაცემთა ცხრილი
- ნაბიჯი 2: DFPlayer მოდული
- ნაბიჯი 3: მინი გამაძლიერებელი PAM8403
- ნაბიჯი 4: შეკრება
- ნაბიჯი 5: ბიბლიოთეკები
- ნაბიჯი 6: საწყისი კოდი
ვიდეო: MP3 პლეერი არდუინოსთან ერთად: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ამ შეკრებაზე ჩვენ გამოვიყენეთ mp3 პლეერი Arduino Uno– ით, მინი PAM8403 ხმის გამაძლიერებელი ხმის რეგულირებით, mp3 მოდული DFPlayer Mini და წყვილი 3 ვატიანი დინამიკები.
ეს სქემა ემსახურება არა მხოლოდ მუსიკალურ დამკვრელს, არამედ სხვათა შორის პარკირების ბარიერული მოწყობილობის ან რობოტის ხმოვანი ფუნქციების დაშვებას. ეს შეკრება საშუალებას მოგცემთ ჩაწეროთ ხმა აპარატებში. ეს ხმა იქნება ბუნებრივი და არა სინთეზირებული. ადამიანების უმრავლესობისთვის ეს არის სასურველი მახასიათებლები სტანდარტულ ალტერნატივებთან შედარებით.
ამ შეკრებისთვის ჩვენ სპეციალურად ვიყენებთ Arduino Uno– ს, მაგრამ ასევე შეგიძლიათ დაუკავშირდეთ ESP8266 ან ESP32. ცხადია, კორექტირება საჭირო იქნება ქინძისთავებზე.
ნაბიჯი 1: მონაცემთა ცხრილი
ნაბიჯი 2: DFPlayer მოდული
DFPlayer მოდული იყენებს სერიულ კომუნიკაციას RX TX, VCC, GND. მას აქვს ორი დინამიკი და აუდიო შეყვანა.
ნაბიჯი 3: მინი გამაძლიერებელი PAM8403
ნაბიჯი 4: შეკრება
ნაბიჯი 5: ბიბლიოთეკები
დაამატეთ შემდეგი "DFRobotDFPlayerMini" ბიბლიოთეკა mp3 მოდულთან კომუნიკაციისთვის.
უბრალოდ შედით "ესკიზი >> ბიბლიოთეკების ჩათვლით >> ბიბლიოთეკების მართვა …"
ნაბიჯი 6: საწყისი კოდი
ჩვენ დავიწყებთ ბიბლიოთეკების და მუდმივების განსაზღვრით, რომელსაც გამოვიყენებთ ჩვენს კოდთან ერთად.
დაიწყეთ ერთი ობიექტის, სერიული პროგრამული უზრუნველყოფის შექმნით და მეორე, რომელიც არის myDFPlayer.
Buf ცვლადი, რომელიც არის ტიპის String, ემსახურება Arduino სერიალიდან მიღებული მონაცემების შესანახად, რაც იქნება MP3 მოდულის ბრძანებები. ცვლადი "პაუზა" გამოყენებული იქნება მუსიკის დაკვრის ან პაუზის მითითებისთვის (პაუზა = ჭეშმარიტი და მიუთითებს, რომ ის შეჩერებულია, წინააღმდეგ შემთხვევაში ის უკრავს).
#მოიცავს "SoftwareSerial.h"#მოიცავს "DFRobotDFPlayerMini.h" // შეიყვანეთ სერიული პროგრამული უზრუნველყოფა არა პინოს 10 და 11 პროგრამული უზრუნველყოფის სერიული mySoftwareSerial (10, 11); // RX, TX // დააწკაპუნეთ უპრობლემოდ კომუნიკაციის საშუალებით MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // ვრცელი პასუხის გაცემა armazenar os comandos enviados para controlar o player String buf; // variável responsável for armazenar o estado do player (0: tocando; 1: pausado) ლოგიკური პაუზა = ყალბი; // varável responsável for armazenar o estado da equalização // varia de 0 a 5 int equilizacao = 0; // (0 = ნორმალური, 1 = პოპი, 2 = როკი, 3 = ჯაზი, 4 = კლასიკური, 5 = ბასი) "// ვრცელი პასუხი არმაზენარში ან მუსიკის მთლიანი რაოდენობა არ წარმოგიდგენთ SD ბარათს. Int maxSongs = 0;
Აწყობა
ამ ეტაპზე, ჩვენ ვაყენებთ ანაბეჭდების ვარიანტებს, რათა მოგაწოდოთ მითითება, რომ ის აერთებს წრეს, მაგალითად, ცრუ პირობების შეფასებით.
void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println ("DFRobot DFPlayer Mini"); Serial.println ("მოდული DFPlayer… (3 ~ 5 სეგმენტი)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1. Cheque as conexoes do DFPlayer Mini"); Serial.println ("2. Insira um cartao SD"); ხოლო (ჭეშმარიტი); } Serial.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Definicoes iniciais myDFPlayer.setTimeOut (500); // ვადაგადაცილებული სერიალი 500ms myDFPlayer.volume (10); // ტომი 10 ვა 0 0 30 myDFPlayer. EQ (0); // Equalizacao ნორმალური // recupera o numero de Músicas encontradas არა SD. maxSongs = myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD); Serial.println (); Serial.print ("Numero de arquivos no cartao SD:"); Serial.println (maxSongs); // Mostra o menu de comandos menu_opcoes ();
პარამეტრების მენიუ
თქვენ აკონტროლებთ მთელ ამ შეკრებას სერიული მონიტორის საშუალებით. ასე რომ, ყოველ ჯერზე, სქემა იბეჭდება თქვენს მიერ არსებული პარამეტრების მენიუ, ბრძანებებით და მიმართულებებით.
void menu_opcoes () {Serial.println (); Serial.println ("Comandos:"); Serial.print ("[1-"); Serial.print (maxSongs); Serial.println ("] Para selecionar o arquivo MP3"); Serial.println ("[s] parar reproducao"); Serial.println ("[p] pausa/Continua a musica"); Serial.println ("[e] seleciona equalizacao"); Serial.println ("[+ ან -] aumenta ou diminui o volume"); Serial.println (); }
მარყუჟი
void loop () {// Aguarda a entrada de dados pela serial while (Serial.available ()> 0) {// recupera os dados de entrada buf = Serial.readStringUntil ('\ n'); // რეპროდუქცია (icendice da música) if ((buf.toInt ()> = 1) && (buf.toInt () <= max სიმღერები)) {Serial.print ("Reproduzindo musica:"); Serial.println (buf.toInt ()); myDFPlayer.play (buf.toInt ()); // მუსიკის დაკვრა მენიუ_ ოპოზიცია (); } // Pausa/Continua a musica if (buf == "p") {if (pausa) {Serial.println ("Continua musica…"); myDFPlayer.start (); } else {Serial.println ("Musica pausada …"); myDFPlayer.pause (); } პაუსა =! პაუსა; menu_opcoes (); } // Parada if (buf == "s") {myDFPlayer.stop (); Serial.println ("Musica parada!"); menu_opcoes (); } // Seleciona equalizacao if (buf == "e") {equalizacao ++; თუ (თანაბარი = = 6) {თანაბარი = 0; } myDFPlayer. EQ (თანაბარი); Serial.print ("Equalizacao:"); სერიული. ბეჭდვა (თანაბარი); Serial.println ("(0 = ნორმალური, 1 = პოპი, 2 = როკი, 3 = ჯაზი, 4 = კლასიკური, 5 = ბასი)"); menu_opcoes (); } // Aumenta ტომი if (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("მოცულობა atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // დიმინუის მოცულობა if (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("მოცულობა atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // while} // მარყუჟი
გირჩევთ:
როგორ გამოვიყენოთ RFID-RC522 მოდული არდუინოსთან ერთად: 5 ნაბიჯი
როგორ გამოვიყენოთ RFID-RC522 მოდული Arduino– სთან ერთად: ამ ინსტრუქციებში მე განვიხილავ RFID მოდულის ფუნდამენტურ პრინციპს, მის ტეგებსა და ჩიპებთან ერთად. მე ასევე მოვიყვან იმ პროექტის მოკლე მაგალითს, რომელიც მე გავაკეთე ამ RFID მოდულის გამოყენებით RGB LED– ით. ჩვეულებისამებრ ჩემს ინსინებთან
ციფრული ლუდო კამათელი არდუინოსთან ერთად 7 სეგმენტის ჩვენების პროექტი: 3 ნაბიჯი
ციფრული ლუდო კამათელი Arduino 7 სეგმენტის ჩვენების პროექტით: ამ პროექტში 7 სეგმენტის ჩვენება გამოიყენება 1 – დან 6 – მდე რიცხვის შემთხვევით გამოსაჩენად, როდესაც დააჭირეთ ღილაკს. ეს არის ერთ -ერთი ყველაზე მაგარი პროექტი, რომლის განხორციელებაც ყველას სიამოვნებს. იმისათვის რომ ისწავლოთ როგორ იმუშაოთ 7 სეგმენტის ჩვენებით დააწკაპუნეთ აქ: -7 სექცია
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT21 ტენიანობისა და ტემპერატურის სენსორი არდუინოსთან ერთად და გამოვაჩინოთ მნიშვნელობები OLED ეკრანზე. უყურეთ ვიდეოს
სიხშირის მრიცხველი არდუინოსთან ერთად: 8 ნაბიჯი (სურათებით)
სიხშირის მრიცხველი არდუინოსთან ერთად: ეს არის მარტივი და იაფი არდუინოზე დაფუძნებული სიხშირის მრიცხველი 4 დოლარზე ნაკლები, ძალიან სასარგებლო იყო მცირე ზომის სქემების გაზომვა
საუბარი არდუინოზე. - MP3– ის დაკვრა არდუინოსთან ერთად ყოველგვარი მოდულის გარეშე - MP3 ფაილის Arduino– დან დაკვრა PCM– ის გამოყენებით: 6 ნაბიჯი
საუბარი არდუინოზე. | MP3– ის დაკვრა არდუინოსთან ერთად ნებისმიერი მოდულის გარეშე | Arduino– დან Mp3 ფაილის დაკვრა PCM– ის გამოყენებით: ამ ინსტრუქციებში ჩვენ ვისწავლით თუ როგორ ვითამაშოთ arduino– ით mp3 ფაილი აუდიო მოდულის გამოყენების გარეშე, აქ ჩვენ გამოვიყენებთ PCM ბიბლიოთეკას Arduino– სთვის, რომელიც უკრავს 16 ბიტიან PCM– ს 8kHZ სიხშირით, ასე რომ, ამის გაკეთება