Агуулгын хүснэгт:

DFMini Player MP3 модулийг Arduino дээр хэрхэн ашиглах вэ: 4 алхам
DFMini Player MP3 модулийг Arduino дээр хэрхэн ашиглах вэ: 4 алхам

Видео: DFMini Player MP3 модулийг Arduino дээр хэрхэн ашиглах вэ: 4 алхам

Видео: DFMini Player MP3 модулийг Arduino дээр хэрхэн ашиглах вэ: 4 алхам
Видео: BTT Octopus V1.1 — Конфигурация Klipper 2024, Арваннэгдүгээр
Anonim
DFMini Player MP3 модулийг Arduino -той хэрхэн ашиглах вэ
DFMini Player MP3 модулийг Arduino -той хэрхэн ашиглах вэ

Хэд хэдэн төсөл нь зарим төрлийн функцийг нэмэхийн тулд дууны хуулбарыг шаарддаг. Эдгээр төслүүдийн дунд бид харааны бэрхшээлтэй хүмүүст зориулсан хүртээмж, MP3 хөгжим тоглуулагч, дуу хоолойг роботоор гүйцэтгэхийг онцлон тэмдэглэв.

Эдгээр бүх системд Arduino -той холбогдохын тулд MP3 дууны хуулбарлах төхөөрөмж хэрэгтэй болно. Тиймээс, энэ нийтлэлд бид дараахь зүйлийг сурах болно: DFMini Player MP3 -ийн үндсэн ажиллагааны схем; Санах ойн карт дээрх дууны файлуудын зохион байгуулалт, тохиргоо; Arduino -той хөгжмийн хяналт.

Хангамж

PCBWay захиалгат ПХБ;

DFPlayer Mini MP3 модуль - UTSOURCE;

10kR эсэргүүцэл - UTSOURCE;

Шилжүүлэгч товч - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - UTSOURCE;

Толгойн зүү - UTSOURCE;

Алхам 1: DF Mini Player MP3 модуль гэж юу вэ?

DF Mini Player MP3 модуль гэж юу вэ
DF Mini Player MP3 модуль гэж юу вэ
DF Mini Player MP3 модуль гэж юу вэ
DF Mini Player MP3 модуль гэж юу вэ

DFMini Player модуль нь санах ойн карт дээр хадгалагдсан дууг хуулбарлах зориулалттай жижиг хөгжим тоглуулагч, зардал багатай, бага чадалтай.

Үүн дээр үндэслэн модулийг бие даасан горимоор удирдах боломжтой, өөрөөр хэлбэл энэ горимд зөвхөн DFMini модуль, тэжээлийн батерей, чанга яригч, түүнийг удирдах товчлуурууд, дуу бүхий SD карт байх болно. Үүнийг хянах өөр нэг арга бол Arduino эсвэл өөр хяналтын төхөөрөмж ашиглах явдал юм.

Жишээлбэл, Arduino нь DFMini тоглуулагчийн модультай цуваа холболт хийх замаар командыг илгээх болно. DFMini Player модулийг Зураг 1 -д үзүүлэв.

Үүнийг хянахын тулд үндсэн бие даасан хэлхээг ашиглах нь чухал юм. Энэ хэлхээг Зураг 2 -т үзүүлэв.

Дээрх хэлхээнд үзүүлсэн хоёр товчлуур нь хөгжмийн трекийг өөрчлөх, дууны түвшинг хянахад хэрэглэгддэг бөгөөд IO1 зүүтэй холбогдсон товчлуур нь өмнөх дуу руу очиж дууны хэмжээг багасгахад хэрэглэгддэг. Хурдан хүрэхэд систем өмнөх дуу руугаа буцдаг боловч хэрэв та товчлуурыг 1 секундээс илүү дарвал систем дууны хэмжээг бууруулна.

IO2 зүүтэй холбогдсон товчлуур нь дараагийн зам руу очиж дууны хэмжээг нэмэгдүүлэхэд ашиглагддаг. Хурдан хүрэхэд систем дараагийн дуу руу шилжих болно, гэхдээ хэрэв та товчлуурыг 1 секундээс илүү дарвал систем дууны хэмжээг нэмэгдүүлэх болно.

Алхам 2:

Зураг
Зураг

Энэхүү бие даасан аргын хувьд 3 -р зурагт үзүүлсэн шиг дуунуудыг санах ойн картанд хадгалах ёстой.

Ийм байдлаар товчлуур дарагдах бүрт систем нь дуу бүрийг өсөх эсвэл буурах дарааллаар тоглуулдаг боловч Arduino эсвэл өөр хяналтын төхөөрөмжийг ашиглахдаа бид SD карт дээрх хөгжмийн файлуудыг зохион байгуулах арга замыг өөрчлөх ёстой.

Одоо би Arduino ашиглан DFMini тоглуулагчийг цуваа холбоогоор хэрхэн удирдахыг тайлбарлах болно.

Алхам 3: DFMini тоглуулагчийг Arduino ашиглан удирдах

DFMini тоглуулагчийг Arduino ашиглан хянах
DFMini тоглуулагчийг Arduino ашиглан хянах
DFMini тоглуулагчийг Arduino ашиглан хянах
DFMini тоглуулагчийг Arduino ашиглан хянах

Энэ үе шатанд дууны хяналт, хүрээний хяналт, тэнцүүлэх командууд болон бусад онцлогуудыг Arduino илгээнэ.

Arduino нь цувралаар DFMini тоглуулагчтай холбоо барьж, хяналтын командыг илгээх ёстой.

Хяналтын хэлхээний электрон схемийг Зураг 4 -т үзүүлэв.

Нэгдүгээрт, бид доорх зурагт үзүүлсэн хэлхээг угсрах ёстой бөгөөд энэ хэлхээг угсарсны дараа та санах ойн картан дээрх дуунуудыг нэмэх ёстой. Энэ алхамд дуунуудыг жишээ нь 01, 02, 03 гэж нэрлэх шаардлагатай.

Та дууг нэрээр нь үлдээж болохгүй, учир нь Arduino тодорхой дууг гүйцэтгэх тушаал өгөхөд асуудал гарах болно. Тиймээс та доор үзүүлсэн шиг тохируулах ёстой.

Алхам 4:

Файлуудыг нэрлэсний дараа дараах кодыг Arduino дээрээ бичнэ үү.

// Цуваа дамжуулалтаар өгөгдөл оруулахыг хүлээж байна (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '9')) {Serial.print ("Хөгжмийн хуулбар"); Serial.println (тушаал); тушаал = тушаал - 48; myDFPlayer.play (тушаал); menu_opcoes (); } // Хуулбарлах // зогсоох (хэрэв тушаал == '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 (command == '+') {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 (); } // Хэрэв (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Одоогийн эзлэхүүн:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("========================================= ================================================== ===================================== "))); Serial.println (F ("Commands:")); Serial.println (F ("[1-3] MP3 файлыг сонгохын тулд"))); Serial.println (F ("[s] нөхөн үржихүйг зогсоох"))); Serial.println (F ("[p] хөгжмийг түр зогсоох/үргэлжлүүлэх")); Serial.println (F ("[+ эсвэл -] эзлэхүүнийг нэмэгдүүлэх эсвэл бууруулах")); Serial.println (F (" замыг урагш эсвэл хойшлуулах")); Serial.println (); Serial.println (F ("========================================= ================================================== =================================== "))); }

Дээр үзүүлсэн код нь маш энгийн бөгөөд дууг дугаараар нь сонгох, зогсоох, түр зогсоох, дууны түвшинг хянах, дууг дамжуулахад туслах болно.

Хөгжмийн удирдлага нь Arduino IDE цувралын өгөгдлийг манай Arduino самбар руу илгээхээс бүрдэнэ. Эхэндээ систем нь тохиргоог хийж, SD картыг модульд оруулсан эсэхийг шалгадаг.

Хэрэв үүнийг оруулаагүй бол систем нь хэрэглэгчдэд анхааруулах мессежийг харуулдаг.

Нэмж дурдахад систем нь системийн тохиргооны сонголттой мессежүүдийг харуулдаг.

void setup () {// Comunicacao цуврал ком эсвэл mySoftwareSerial.begin (9600); // Arduino Serial.begin (115200) цуврал цуврал нэвтрүүлэг хийх; // Үнэн зөв хариулт өгөх үү? // SD карт нь Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("DFPlayer модулийг эхлүүлж байна … Хүлээгээрэй!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Эхлээгүй:")); Serial.println (F ("1. DFPlayer Mini холболтуудыг шалгана уу")); Serial.println (F ("2. SD карт оруулах")); байхад (үнэн); } Serial.println (); Serial.println (F ("DFPlayer Mini модулийг эхлүүлсэн!")); // 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 (); } // Хуулбарлах // зогсоох (хэрэв тушаал == '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 (command == '+') {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 (); } // Хэрэв (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Одоогийн эзлэхүүн:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Хэрэглэгч дараахь хяналтын тэмдэгтүүдийг илгээх боломжтой.

1 -ээс 3 хүртэлх тоонууд: Тоглуулах дууг сонгоно уу;

  • S үсэг: Дууг зогсоох; p үсэг: Дууг түр зогсоох;
  • + Тэмдгийг илгээх: Дууны хэмжээг нэмэгдүүлэх;
  • - дохиог илгээх: Дууны хэмжээг багасгах;
  • Сигнал илгээх <: Өмнөх дууг сонгох;
  • Дохио илгээх>: Дараагийн дууг сонгох;

Эдгээр дохио, үсэг, тоонуудаас Arduino тэдгээрийг цувралаар хүлээн авч, тоглуулах хөгжмийг хянах болно.

Нөхцөл байдал бүрийг доорх болон дотооддоо тус тусад нь өгсөн командуудтай танилцуулсан болно.

if ((command> = '1') && (command <= '3')) {Serial.print ("Хөгжмийн хуулбар"); Serial.println (тушаал); тушаал = тушаал - 48; myDFPlayer.play (тушаал); menu_opcoes (); } // Хуулбарлах // зогсоох (хэрэв тушаал == '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 (command == '+') {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 -ийн хөгжмийн хяналт Энэ кодоос та дууг системийн функц болгон ашиглах шаардлагатай бусад төслүүдийг боловсруулах боломжтой болно.

Талархал

Төгсгөлд нь уншиж өгч, энэхүү нийтлэлийг гаргахад Silício Lab -ийг дэмжсэн PCBWAY. COM -ийн дэмжлэгт баярлалаа.

Silícios Lab нь энэхүү төслийг бүтээх электрон бүрэлдэхүүн хэсгүүдийг санал болгосонд UTSOURCE -д талархаж байна.

Зөвлөмж болгож буй: