Სარჩევი:
- მარაგები
- ნაბიჯი 1: რა არის DF Mini Player MP3 მოდული
- ნაბიჯი 2:
- ნაბიჯი 3: DFMini პლეერის კონტროლი Arduino– ით
- ნაბიჯი 4:
ვიდეო: როგორ გამოვიყენოთ DFMini Player MP3 მოდული Arduino– ით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
რამდენიმე პროექტი მოითხოვს ხმის რეპროდუქციას, რათა დაამატოთ რაიმე სახის ფუნქციონირება. ამ პროექტებს შორის ჩვენ ხაზს ვუსვამთ: მხედველობის დაქვეითების, MP3 მუსიკალური პლეერების ხელმისაწვდომობას და რობოტების მიერ ხმოვანი ბგერების შესრულებას, მაგალითად.
ყველა ამ სისტემაში ჩვენ გვჭირდება MP3 ხმის რეპროდუქციის მოწყობილობა არდუინოსთან დასაკავშირებლად. ამრიგად, ამ სტატიაში ჩვენ ვისწავლით შემდეგ პუნქტებს: DFMini Player MP3– ის ძირითადი ოპერაციული წრე; მეხსიერების ბარათზე ხმოვანი ფაილების ორგანიზება და კონფიგურაცია; მუსიკალური კონტროლი Arduino– ით.
მარაგები
PCBWay საბაჟო PCB;
DFPlayer მინი MP3 მოდული - UTSOURCE;
10kR რეზისტორი - UTSOURCE;
გადართვის ღილაკი - UTSOURCE;
პურის დაფა - UTSOURCE;
Arduino UNO - UTSOURCE;
სათაურის პინი - UTSOURCE;
ნაბიჯი 1: რა არის DF Mini Player MP3 მოდული
DFMini Player მოდული არის პატარა მუსიკალური დამკვრელი, დაბალი ღირებულება და დაბალი სიმძლავრე, რომლის მიზანია მეხსიერების ბარათზე შენახული ბგერების რეპროდუცირება.
ამის საფუძველზე, მოდულის კონტროლი შესაძლებელია დამოუკიდებელი რეჟიმის საშუალებით, ანუ ამ რეჟიმში იქნება მხოლოდ DFMini მოდული, კვების ელემენტი, სპიკერი, ღილაკები მისი გასაკონტროლებლად და SD ბარათი სიმღერებთან ერთად. მისი კონტროლის კიდევ ერთი გზაა არდუინოს ან სხვა საკონტროლო მოწყობილობის გამოყენება.
მაგალითად, Arduino გაგზავნის ბრძანებებს სერიული კომუნიკაციის საშუალებით DFMini Player მოდულთან. DFMini Player მოდული ნაჩვენებია ფიგურაში 1.
მისი გასაკონტროლებლად, მნიშვნელოვანია გამოიყენოთ ძირითადი დამოუკიდებელი წრე. ეს წრე ნაჩვენებია ფიგურა 2 -ში.
ზემოთ მოცემულ წრეში ნაჩვენები ორი ღილაკი გამოიყენება მუსიკალური ბილიკების შესაცვლელად და ხმის მოცულობის გასაკონტროლებლად. ღილაკი IO1- თან დაკავშირებული გამოიყენება წინა ტრასაზე გადასასვლელად და მოცულობის შესამცირებლად. სწრაფი შეხებით სისტემა უბრუნდება წინა სიმღერას, თუმცა, თუ ღილაკს 1 წამზე მეტხანს დააჭერთ, სისტემა შეამცირებს სიმღერის ხმას.
PIN IO2- თან დაკავშირებული ღილაკი გამოიყენება მომდევნო ტრეკზე გადასასვლელად და მოცულობის გასაზრდელად. სწრაფი შეხებით სისტემა გადადის შემდეგ სიმღერაზე, თუმცა, თუ ღილაკს 1 წამზე მეტხანს დააჭერთ, სისტემა გაზრდის სიმღერის ხმას.
ნაბიჯი 2:
ამ დამოუკიდებელ მეთოდში სიმღერები უნდა იყოს შენახული მეხსიერების ბარათზე, როგორც ეს ნაჩვენებია სურათ 3 -ში.
ამ გზით, ყოველ ჯერზე ღილაკების დაჭერისას, სისტემა დაუკრავს თითოეულ სიმღერას აღმავალი ან დაღმავალი თანმიმდევრობით. თუმცა, არდუინოს ან სხვა საკონტროლო მოწყობილობის გამოყენებისას, ჩვენ უნდა შევცვალოთ SD ბარათზე მუსიკალური ფაილების ორგანიზების ხერხი.
ახლა მე აგიხსნით როგორ გავაკონტროლო DFMini Player არდუინოს გამოყენებით სერიული კომუნიკაციის საშუალებით.
ნაბიჯი 3: DFMini პლეერის კონტროლი Arduino– ით
ამ ეტაპზე, მოცულობის კონტროლი, დიაპაზონის კონტროლი, გათანაბრების ბრძანებები და სხვა მახასიათებლები გაიგზავნება არდუინოს მიერ.
Arduino– მ სერიალის საშუალებით უნდა დაუკავშირდეს DFMini Player– ს და გააგზავნოს საკონტროლო ბრძანებები.
საკონტროლო სქემის ელექტრონული სქემა ნაჩვენებია ფიგურაში 4.
პირველ რიგში, ჩვენ უნდა შევიკრიბოთ სქემა, რომელიც ნაჩვენებია ქვემოთ მოცემულ ფიგურაში. ამ წრის შეკრების შემდეგ, თქვენ უნდა დაამატოთ სიმღერები თქვენს მეხსიერების ბარათზე. ამ ნაბიჯში, სიმღერებს უნდა დაერქვას, მაგალითად, 01, 02, 03.
თქვენ არ შეგიძლიათ დატოვოთ სიმღერები მათი სახელებით, რადგან იქნება პრობლემა, როდესაც Arduino აგზავნის ბრძანებას კონკრეტული ტრეკის შესასრულებლად. ამიტომ, თქვენ უნდა დააკონფიგურიროთ როგორც ნაჩვენებია ქვემოთ.
ნაბიჯი 4:
ფაილების დასახელების შემდეგ ჩაწერეთ შემდეგი კოდი თქვენს Arduino– ზე.
// ელოდება მონაცემთა შეყვანას serial while (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '9')) {Serial.print ("მუსიკის რეპროდუქცია"); Serial.println (ბრძანება); ბრძანება = ბრძანება - 48; myDFPlayer.play (ბრძანება); menu_opcoes (); } // რეპროდუქცია // შეჩერება if (command == 's') {myDFPlayer.stop (); Serial.println ("მუსიკა შეწყდა!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("გაგრძელება …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("მუსიკა შეჩერებულია!"); myDFPlayer.pause (); } menu_opcoes (); }
// ზრდის მოცულობას
if (ბრძანება == '+') {myDFPlayer.volumeUp (); Serial.print ("მიმდინარე ტომი:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("შემდეგი:"); Serial.print ("მიმდინარე სიმღერა:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // ამცირებს მოცულობას if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("მიმდინარე ტომი:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("============================================ ================================================== ======================================= "))); Serial.println (F ("ბრძანებები:")); Serial.println (F ("[1-3] MP3 ფაილის ასარჩევად")); Serial.println (F ("[s] რეპროდუქციის შეჩერება")); Serial.println (F ("
ზემოთ წარმოდგენილი კოდი საკმაოდ მარტივია და დაგეხმარებათ აირჩიოთ სიმღერა მისი ნომრით, შეაჩეროთ, შეაჩეროთ, გააკონტროლოთ ხმა და გაიაროთ სიმღერები.
მუსიკალური კონტროლი მოიცავს მონაცემების გაგზავნას Arduino IDE სერიიდან ჩვენს არდუინოს დაფაზე. თავდაპირველად, სისტემა ახდენს კონფიგურაციას კონფიგურაციაში და ამოწმებს, არის თუ არა SD ბარათი მოდულში ჩასმული.
თუ ის არ არის ჩასმული, სისტემა წარმოადგენს შეტყობინებას მომხმარებლის გაფრთხილების შესახებ.
გარდა ამისა, სისტემა აჩვენებს შეტყობინებებს სისტემის კონფიგურაციის პარამეტრებით.
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 (F ("DFRobot DFPlayer Mini")); Serial.println (F ("DFPlayer მოდულის ინიციალიზაცია … დაელოდე!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("არ არის ინიციალიზებული:")); Serial.println (F ("1. შეამოწმეთ DFPlayer მინი კავშირები")); Serial.println (F ("2. ჩადეთ SD ბარათი")); ხოლო (ჭეშმარიტი); } Serial.println (); Serial.println (F ("DFPlayer მინი მოდული ინიციალიზირებულია!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // ვადაგადაცილებული სერიალი 500ms myDFPlayer.volume (5); // ტომი 5 myDFPlayer. EQ (0); // Equalizacao ნორმალური menu_opcoes (); }
თუ მეხსიერების ბარათი არის ჩასმული, კოდის ნაკადი შევა მარყუჟის ფუნქციაში.
void loop () {// ელოდება მონაცემთა შეყვანას სერიული საშუალებით (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '3')) {Serial.print ("მუსიკის რეპროდუქცია"); Serial.println (ბრძანება); ბრძანება = ბრძანება - 48; myDFPlayer.play (ბრძანება); menu_opcoes (); } // რეპროდუქცია // შეჩერება if (command == 's') {myDFPlayer.stop (); Serial.println ("მუსიკა შეწყდა!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("გაგრძელება …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("მუსიკა შეჩერებულია!"); myDFPlayer.pause (); } menu_opcoes (); }
// ზრდის მოცულობას
if (ბრძანება == '+') {myDFPlayer.volumeUp (); Serial.print ("მიმდინარე ტომი:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("შემდეგი:"); Serial.print ("მიმდინარე სიმღერა:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // ამცირებს მოცულობას if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("მიმდინარე ტომი:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}
მომხმარებელს შეუძლია გააგზავნოს შემდეგი საკონტროლო სიმბოლოები:
ნომრები 1 -დან 3 -მდე: შეარჩიეთ დასაკრავი სიმღერა;
- ასო s: შეაჩერე სიმღერა; წერილი p: შეაჩერე სიმღერა;
- გაგზავნეთ + ნიშანი: გაზარდეთ სიმღერის მოცულობა;
- - სიგნალის გაგზავნა: შეამცირეთ სიმღერის მოცულობა;
- სიგნალის გაგზავნა <: აირჩიეთ წინა სიმღერა;
- სიგნალის გაგზავნა>: აირჩიეთ შემდეგი სიმღერა;
ამ სიგნალებიდან, ასოებიდან და რიცხვებიდან არდუინო მიიღებს მათ სერიალის საშუალებით და გააკონტროლებს დაკვრის მუსიკას.
თითოეული პირობა წარმოდგენილია ქვემოთ და შინაგანად, თავისი შესაბამისი ბრძანებებით.
if ((command> = '1') && (command <= '3')) {Serial.print ("მუსიკის რეპროდუქცია"); Serial.println (ბრძანება); ბრძანება = ბრძანება - 48; myDFPlayer.play (ბრძანება); menu_opcoes (); } // რეპროდუქცია // შეჩერება if (command == 's') {myDFPlayer.stop (); Serial.println ("მუსიკა შეწყდა!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("გაგრძელება …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("მუსიკა შეჩერებულია!"); myDFPlayer.pause (); } menu_opcoes (); }
// ზრდის მოცულობას
if (ბრძანება == '+') {myDFPlayer.volumeUp (); Serial.print ("მიმდინარე ტომი:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("შემდეგი:"); Serial.print ("მიმდინარე სიმღერა:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // ამცირებს მოცულობას if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("მიმდინარე ტომი:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}
ასე რომ, თუ თქვენ გამოიყენებდით წარმოდგენილ ყველა ნაბიჯს, თქვენ შეძელით სწავლა:
- DFMini Player– ის ძირითადი ოპერაციული წრე MP3;
- მეხსიერების ბარათზე ხმოვანი ფაილების ორგანიზება და კონფიგურაცია;
- მუსიკალური კონტროლი Arduino– ით. ამ კოდიდან თქვენ შეძლებთ სხვა პროექტების შემუშავებას, რომლებიც საჭიროებენ ხმის სისტემურ ფუნქციონირებას.
მადლობები
დასასრულს, ჩვენ მადლობას გიხდით თქვენი კითხვისთვის და PCBWAY. COM- ის მხარდაჭერისათვის Silício Lab– ის მხარდაჭერისათვის ამ სტატიის თქვენთვის.
Silícios Lab მადლობას უხდის UTSOURCE– ს შესთავაზოს ელექტრონული კომპონენტები ამ პროექტის ასაგებად.
გირჩევთ:
როგორ გამოვიყენოთ RFID-RC522 მოდული არდუინოსთან ერთად: 5 ნაბიჯი
როგორ გამოვიყენოთ RFID-RC522 მოდული Arduino– სთან ერთად: ამ ინსტრუქციებში მე განვიხილავ RFID მოდულის ფუნდამენტურ პრინციპს, მის ტეგებსა და ჩიპებთან ერთად. მე ასევე მოვიყვან იმ პროექტის მოკლე მაგალითს, რომელიც მე გავაკეთე ამ RFID მოდულის გამოყენებით RGB LED– ით. ჩვეულებისამებრ ჩემს ინსინებთან
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): 5 ნაბიჯი
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): DS3231 არის იაფი, უკიდურესად ზუსტი I2C რეალურ დროში (RTC) ინტეგრირებული ტემპერატურის კომპენსირებული ბროლის ოსცილატორით (TCXO) და ბროლით. მოწყობილობა აერთიანებს ბატარეის შეყვანას და ინარჩუნებს ზუსტ დროს, როდესაც ძირითადი ენერგია
როგორ გამოვიყენოთ PIR სენსორი და Buzzer მოდული - Visuino გაკვეთილი: 6 ნაბიჯი
როგორ გამოვიყენოთ PIR სენსორი და Buzzer მოდული - Visuino სახელმძღვანელო: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ PIR სენსორი და ზუზუნის მოდული ხმის გამოსცემისთვის ყოველ ჯერზე, როდესაც PIR სენსორი ამოიცნობს მოძრაობას. უყურეთ სადემონსტრაციო ვიდეოს
როგორ გამოვიყენოთ Mac ტერმინალი და როგორ გამოვიყენოთ ძირითადი ფუნქციები: 4 ნაბიჯი
როგორ გამოვიყენოთ Mac ტერმინალი და როგორ გამოვიყენოთ ძირითადი ფუნქციები: ჩვენ გაჩვენებთ თუ როგორ გახსნათ MAC ტერმინალი. ჩვენ ასევე გაჩვენებთ ტერმინალის რამდენიმე მახასიათებელს, როგორიცაა ifconfig, დირექტორიების შეცვლა, ფაილების წვდომა და arp. Ifconfig საშუალებას მოგცემთ შეამოწმოთ თქვენი IP მისამართი და თქვენი MAC რეკლამა
როგორ გამოვიყენოთ TCRT5000 IR სენსორის მოდული Arduino UNO– ით: 7 ნაბიჯი (სურათებით)
როგორ გამოვიყენოთ TCRT5000 IR სენსორული მოდული Arduino UNO– სთან ერთად: ამ გაკვეთილში ჩვენ ვაპირებთ გასწავლოთ რამდენიმე საფუძველი TCRT5000 IR სენსორული მოდულის გამოყენების შესახებ. ეს ძირითადი გიჩვენებთ სერიულ მონიტორზე ანალოგურ და ციფრულ მნიშვნელობებს