Სარჩევი:

როგორ გამოვიყენოთ DFMini Player MP3 მოდული Arduino– ით: 4 ნაბიჯი
როგორ გამოვიყენოთ DFMini Player MP3 მოდული Arduino– ით: 4 ნაბიჯი

ვიდეო: როგორ გამოვიყენოთ DFMini Player MP3 მოდული Arduino– ით: 4 ნაბიჯი

ვიდეო: როგორ გამოვიყენოთ DFMini Player MP3 მოდული Arduino– ით: 4 ნაბიჯი
ვიდეო: რას ნიშნავს და როგორ გამოვიყენოთ ზმნა to look? 2024, ივლისი
Anonim
როგორ გამოვიყენოთ DFMini Player MP3 მოდული არდუინოსთან ერთად
როგორ გამოვიყენოთ DFMini Player MP3 მოდული არდუინოსთან ერთად

რამდენიმე პროექტი მოითხოვს ხმის რეპროდუქციას, რათა დაამატოთ რაიმე სახის ფუნქციონირება. ამ პროექტებს შორის ჩვენ ხაზს ვუსვამთ: მხედველობის დაქვეითების, MP3 მუსიკალური პლეერების ხელმისაწვდომობას და რობოტების მიერ ხმოვანი ბგერების შესრულებას, მაგალითად.

ყველა ამ სისტემაში ჩვენ გვჭირდება MP3 ხმის რეპროდუქციის მოწყობილობა არდუინოსთან დასაკავშირებლად. ამრიგად, ამ სტატიაში ჩვენ ვისწავლით შემდეგ პუნქტებს: DFMini Player MP3– ის ძირითადი ოპერაციული წრე; მეხსიერების ბარათზე ხმოვანი ფაილების ორგანიზება და კონფიგურაცია; მუსიკალური კონტროლი Arduino– ით.

მარაგები

PCBWay საბაჟო PCB;

DFPlayer მინი MP3 მოდული - UTSOURCE;

10kR რეზისტორი - UTSOURCE;

გადართვის ღილაკი - UTSOURCE;

პურის დაფა - UTSOURCE;

Arduino UNO - UTSOURCE;

სათაურის პინი - UTSOURCE;

ნაბიჯი 1: რა არის DF Mini Player MP3 მოდული

რა არის DF Mini Player MP3 მოდული
რა არის DF Mini Player MP3 მოდული
რა არის DF მინი პლეერი MP3 მოდული
რა არის DF მინი პლეერი 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– ით

DFMini პლეერის კონტროლი Arduino– ით
DFMini პლეერის კონტროლი Arduino– ით
DFMini პლეერის კონტროლი Arduino– ით
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– ს შესთავაზოს ელექტრონული კომპონენტები ამ პროექტის ასაგებად.

გირჩევთ: