Съдържание:

МР3 плейър с инфрачервено управление: 6 стъпки (със снимки)
МР3 плейър с инфрачервено управление: 6 стъпки (със снимки)

Видео: МР3 плейър с инфрачервено управление: 6 стъпки (със снимки)

Видео: МР3 плейър с инфрачервено управление: 6 стъпки (със снимки)
Видео: Фишки Apple Watch. Скрытые функции Apple Watch любой серии 2024, Юни
Anonim
Image
Image
MP3 плейър с инфрачервено управление
MP3 плейър с инфрачервено управление

Изградете MP3 плейър за инфрачервено дистанционно управление за около $ 10 (usd). Той има обичайните функции: възпроизвеждане, пауза, възпроизвеждане на следваща или предишна, пускане на една песен или всички песни. Той също така има варианти на еквалайзера и контрол на силата на звука. Всички контролируеми чрез дистанционно.

Програмирана функционалност:

Дистанционен ключ: Функция

+ 01: Намаляване на звука + 02: Задайте директория №2. +3: Възпроизвеждане + >>: Пускане на следващо + <<: Възпроизвеждане на предишно + нагоре: Възпроизвеждане на следващи песни от директорията + Dn: Възпроизвеждане на предишни песни от директорията + *| Връщане: Повторна песен на единична песен: включена + #| Изход: Завъртане на единична песен: изключена

Първата стъпка е тестването на Arduino и свързването му към макета. Следващите стъпки са предназначени да работят независимо. Всяка стъпка има инструкции за окабеляване и инструкции за тестване. Когато изграждам проекти, свързвам и тествам всеки компонент, за да се уверя, че работят. Това помага за интегрирането на компоненти, защото знайте, че всяка работа и аз можем да се съсредоточим върху изискванията за интеграция.

Този Instructable изисква да имате инсталирана Arduino IDE. От вас се изисква също така да имате основни умения, за да изтеглите програма за скициране на Arduino от връзките в този проект, да създадете директория за програмата (името на директорията е същото като името на програмата). Следващите стъпки са зареждане, преглед и редактиране на програмата в IDE. След това качете програмата чрез USB кабел на вашата дъска Arduino.

Консумативи

  • Nano V3 ATmega328P CH340G Микро контролна платка за Arduino. Като алтернатива можете да използвате Uno.
  • Инфрачервен приемник и дистанционно управление. Използвах комплекти модули за безжично дистанционно управление, които се предлагат с инфрачервен приемник и инфрачервено дистанционно управление.
  • Един съпротивител, 1K до 5K. Използвам 5K резистор, защото имам доста от тях. Резисторът премахва шума, който съществува, когато не използвате резистора.
  • Кабелни кабели
  • 5 -волтов адаптер за стена

Купих частите в eBay, предимно от дистрибутори в Хонконг или Китай. Дистрибуторите в САЩ понякога имат същите или подобни части за разумни цени и по -бърза доставка. Доставките на китайските части отнемат от 3 до 6 седмици. Всички дистрибутори, които използвах, бяха надеждни.

Приблизителни разходи: Nano $ 3, инфрачервен комплект $ 1, платка $ 2, пакет от 40 жични кабела $ 1, $ 1 за 5 -волтов адаптер за стена. Общо около 8 долара. Забележете, купих Nano с вече споени щифтове за макет, тъй като уменията ми за запояване са лоши.

Стъпка 1: Добавете Arduino Nano към платката

Добавете Arduino Nano към дъската
Добавете Arduino Nano към дъската

Включете Arduino Nano в платката. Или, ако предпочитате, можете да използвате Arduino Uno за този проект; и двамата използват едни и същи щифтове за този проект. Свържете Nano (или Uno) към компютъра си чрез USB кабел.

Свържете захранването и земята от Arduino към захранващата лента на чертежа. Свържете щифта Arduino 5+ към положителната лента на макета. Свържете щифта на Arduino GRN (земя) към отрицателната лента на земята. Това ще се използва от други компоненти.

Изтеглете и стартирайте основната програма за тестване на Arduino: arduinoTest.ino. Когато стартирате програмата, вградената LED светлина ще се включи за 1 секунда, след което ще се изключи за 1 секунда. Също така се публикуват съобщения, които могат да се видят в Arduino IDE Tools/Serial Monitor.

+++ Настройка.

+ Инициализира вградения LED цифров щифт за изход. LED е изключен. ++ Отидете на цикъл. + Брояч на контури = 1 + Брояч на контури = 2 + Брояч на контури = 3…

Като упражнение променете закъснението на мигащата лампа, качете променената програма и потвърдете промяната.

На снимката по -горе е комплект от 140 броя споени джъмпери, без спойка, които можете да получите за 3 до 5 долара. Те правят дъските по -чисти, като използват дълги кабели за къси връзки.

Стъпка 2: Добавете инфрачервения приемник и го свържете към Arduino

Добавете инфрачервения приемник и го свържете към Arduino
Добавете инфрачервения приемник и го свържете към Arduino

Включете женския към мъжкия кабелен проводник в инфрачервения приемник (женски краища). Свържете заземяващия щифт на часовниковия модул към лентата за заземяване на основната платка. Свържете захранващия щифт на часовниковия модул към положителната лента на платката. Свържете изходния щифт на инфрачервения приемник към щифта Arduino A1.

Свържете инфрачервения приемник, щифтове отгоре вляво надясно:

Най -отляво (до X) - Нано щифт A1 център - 5V дясно - заземяване A1 + - - Нано щифтове | | | -Инфрачервени приемни щифтове --------- | S | | | | --- | | | | | | --- | | | ---------

В Arduino IDE инсталирайте инфрачервена библиотека. Изберете Инструменти/Управление на библиотеки. Филтрирайте търсенето си, като въведете „IRremote“. Изберете IRremote от Shirriff (за справка връзката към библиотеката GitHub). Информация за библиотеката на Arduino Връзка към библиотеката IRremote.

Изтеглете и стартирайте основната тестова програма: infraredReceiverTest.ino. Когато стартирате програмата, насочете дистанционното си управление към приемника и натиснете различни бутони, като например номера от 0 до 9. Извеждат се (отпечатват) серийни съобщения, които могат да се видят в Arduino IDE Tools/Serial Monitor.

+++ Настройка.

+ Инициализира инфрачервения приемник. ++ Отидете на цикъл. + Клавиш OK - превключване + клавиш> - следващ + клавиш < - предишен + клавиш нагоре + клавиш надолу + ключ 1: + ключ 2: + ключ 3: + ключ 4: + ключ 6: + ключ 7: + клавиш 8: + Ключ 9: + Ключ 0: + Ключ * (Връщане) + Ключ # (Изход)

Като упражнение използвайте дистанционно за телевизор, за да видите отпечатаните стойности. След това можете да промените програмата, така че да използва стойностите в инструкцията за превключване на функцията infraredSwitch (). Например, натиснете клавиша "0" и получете стойността за вашето дистанционно, например "0xE0E08877". След това добавете регистър в инструкцията за превключване, както в следния кодов фрагмент.

случай 0xFF9867:

регистър 0xE0E08877: Serial.print ("+ ключ 0:"); Serial.println (""); прекъсване;

Стъпка 3: Създайте Mico SD карта от MP3 файлове

Тъй като DFPlayer е малък евтин хардуер, той управлява файлове и папки по опростен начин. Имах смесени резултати при възпроизвеждане на MP3 файлове, които не следват следните препоръчителни формати и затова препоръчвам следното. Също така не съм тествал други опции, като например трицифрени имена на файлове (пример: 003.mp3), но съм виждал трицифрени имена на файлове, използвани в други инструкции и мостри.

Следват моите препоръчани формати за име на файл и директория на папка:

  • Името на папката по подразбиране е MP3, поставено в основната директория на SD картата: SD:/MP3. Тази папка е незадължителна, когато използвате няколко папки.
  • Плейърът ще възпроизвежда и MP3 файлове в основната директория.
  • Когато използвате няколко папки, използвайте имената на папките: 01, 02, 03,…, 99.
  • Името на mp3 файла трябва да бъде 4 цифри с "0001.mp3" като разширение, например "0001.mp3".
  • Файловете могат да се поставят в папка MP3 или в една от многото папки.
  • Имена на файлове: 0001.mp3 до 0255.mp3. Обърнете внимание, че плейърът ще възпроизвежда и MP3 файл с други имена.
  • Можете да добавяте знаци след цифрите, например "0001hello.mp3".

Препоръчително е да форматирате картата, преди да добавите файлове. Това гарантира, че картата е чиста от системни файлове. Форматирайте с помощта на FAT32 MS-DOS.

На Mac използвайте помощната програма за диск, за да форматирате диска: Приложения> Помощни програми> отворете Disk Utility.

Щракнете върху SD картата, например: APPLE SD Card Reader Media/MUSICSD. Щракнете върху елемента от менюто, Erase. Задайте име, пример: MUSICSD. Изберете: MS-DOS (Fat). Щракнете върху Erase.

Дискът се почиства и форматира.

Написах Java програма, която ще копира директория с MP3 файлове в директорията на местоназначението, като използва имената на директории и файлове, които работят с DFPlayer модул. За да стартирате програмата, ще ви трябва инсталиран Java JRE. Следва помощният изход на програмата.

$ java -jar mp3player.jar

+++ Старт, програма за копиране на модул DFPlayer. Синтаксис: java -jar mp3player.jar копие [(IN: MP3 директория) (OUT: MP3 директория)] ---------------------- Тази програма копира директория MP3 файлове, за да създадете друга директория с MP3 файлове, като използвате имената на директории и файлове, които работят с DFPlayer модул. Преди да стартирате тази програма, + Създайте директория с вашите MP3 файлове. + Създайте директория на местоназначение. + Директорията на местоназначението е мястото, където MP3 файловете ще бъдат копирани, ++ като се използва директория с цифри и имена на файлове. + Целевата директория трябва да е празна. + Ако има файлове в него, изтрийте файловете и директориите. ---------------------- + Стартирайте тази програма. + Синтаксис: java -jar mp3player.jar копие [(IN: MP3 директория) (OUT: MP3 директория)] + Синтаксис, използващ настройките по подразбиране: java -jar mp3player.jar копие + Имена по подразбиране: mp3player1 и mp3player2. + Същото като: java -jar mp3player.jar копие mp3player1 mp3player2. ---------------------- + Поставете SD картата в компютъра си. + Изтрийте директориите и файловете от SD картата. + Изпразнете кошчето, защото файловете все още са на SD картата и модулът DFPlayer може да ги възпроизведе. + Копирайте новите директории и файлове на SD картата. + Извадете картата от компютъра. ---------------------- + Поставете картата в модула DFPlayer. + Картата е готова за игра

За да видите изходния код, щракнете тук. Щракнете тук, за да изтеглите програмния файл JAR, който можете да стартирате.

За справка

На Mac от командния ред можете да изпълните следното.

Списък за намиране на картата.

$ diskutil списък

… /Dev /disk3 (вътрешен, физически): #: ИДЕНТИФИКАТОР НА ИМЕ НА ТИП ИМЕ 0: FDisk_partition_scheme *4.0 GB диск3 1: DOS_FAT_32 MUSICSD 4.0 GB диск3s1 $ ls /Томове /MUSICSD

Копирайте последователно файловете на SD картата. Тъй като DFPlayer може да сортира по времевата отметка, копирайте файловете в реда на имената на файловете.

Почистете скритите файлове, които могат да причинят проблеми (справка:

$ dot_clean /Volumes /MUSICSD

Вашата SD карта вече е готова за използване. Поставете го във вашия DFPlayer модул.

Стъпка 4: Включете в модула DFPlayer, който възпроизвежда MP3 файлове

Кабел в модула DFPlayer, който възпроизвежда MP3 файлове
Кабел в модула DFPlayer, който възпроизвежда MP3 файлове
Кабел в модула DFPlayer, който възпроизвежда MP3 файлове
Кабел в модула DFPlayer, който възпроизвежда MP3 файлове
Кабел в модула DFPlayer, който възпроизвежда MP3 файлове
Кабел в модула DFPlayer, който възпроизвежда MP3 файлове

Разделил съм връзките на 3 части: серийна комуникация, захранване и високоговорител/звук.

1. Свържете щифтовете на Arduino RX/TX към модула DFPlayer. Свържете проводник между щифт 10 на Arduino и щифт 3 на DFPlayer (TX). Свържете резистор, използвам 5K резистор от DFPlayer пин 2 (RX), към празен ред между Arduino и DFPlayer. Свържете проводник от Nano щифт 11 към 5K резистора. 5K резисторът премахва шума, който съществува, когато не използвате резистора.

2. Свържете заземяващия щифт (GND) на модула DFPlayer към лентата за заземяване на макетната платка. Свържете захранващия щифт (VCC) на модула DFPlayer към положителната лента на платката.

3. Ако имате единичен малък високоговорител, свържете го към щифтове 6 (SPK-) и 8 (SPK+), както на горната снимка с Nano.

Мини щифтове DFPlayer

В IDE на Arduino инсталирайте библиотеката DFPlayer. Изберете Инструменти/Управление на библиотеки. Филтрирайте търсенето си, като въведете „DFRobotDFPlayerMini“. Изберете DFRobotDFPlayerMini от библиотеката за мини плейъри на DFRobot (за справка връзката към библиотеката). За моето внедряване заредих версия 1.0.5.

За справка връзката към библиотеката. И връзката към wiki страницата на DFPlayer.

Заредете MP3 файлове на micro SD картата. Можете да имате песни в отделни директории. Поставете SD картата в DFPlayer.

Изтеглете и стартирайте програмата за MP3 плейър: mp3infrared.ino. Когато стартирате програмата, насочете дистанционното към приемника и натиснете бутона OK, за да започнете да възпроизвеждате първата песен. Когато започне да се възпроизвежда, синята светлина на DFPlayer ще се включи и ще остане включена, докато файлът се възпроизвежда.

Разширена конфигурация

Изградих компютър с емулатор Altair 8800, който използва Arduino Mega. Когато добавих DFPlayer имаше много шум. За да се отърва от шума, използвах отделно захранване за DFPlayer. Mega има едно захранване и изпраща серийни управляващи сигнали към DFPlayer. DFPlayer има друго захранване и приема и прилага серийни управляващи сигнали от Mega.

На горната снимка белият мини USB хъб на емулатора на Altair захранва Mega и е свързан към черния мини хъб на лаптопа. DFPlayer има USB кабел, който го свързва директно към черния мини хъб на лаптопа. Тази конфигурация премахна шума, който съществуваше, когато DFPlayer се захранваше чрез бял мини хъб на емулатора.

Щракнете тук, за код, конфигуриран за Mega. Тази версия на кода, използваща Mega RX/TX щифтове, където като Nano или Uno използва софтуерни пинове за сериен порт.

Следното е за справка

Връзки, използвани с Arduino, 1. UART сериен, RX за получаване на инструкции за управление на DFPlayer. RX: входът се свързва с TX на Mega/Nano/Uno. TX за изпращане на информация за състоянието. TX: изходът се свързва към RX на Mega/Nano/Uno. Връзки за Nano или Uno: RX (2) за резистентност към сериен софтуерен щифт 11 (TX). TX (3) към сериен софтуерен щифт 10 (RX). Връзки за Mega: RX (2) за резистор към Serial1 пин 18 (TX). TX (3) към Serial1 пин 19 (RX). 2. Опции за захранване. Свържете се от Arduino директно към DFPlayer: VCC до +5V. Забележете, също работи с +3.3V в случай на NodeMCU. GND към земята (-). Използвайте напълно различен източник на захранване: VCC до +5V на другия източник на захранване. GND към земята (-) на другия източник на захранване. Видях друга опция за захранване: От Arduino +5V използвайте 7805 с кондензатори и диод към щифта VCC на DFPlayer. GND към земята (-). 3. Изход за високоговорители. За един високоговорител, по -малко от 3W: SPK - към щифта на високоговорителя. SPK + към другия щифт на високоговорителя. За изход към стеаро усилвател или слушалки: DAC_R за извеждане надясно (+) DAC_L за извеждане наляво (+) GND към изходната маса.

Следвайки извикванията на функцията на библиотеката с ключове. Връзка към страницата на DFPlayer wiki.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play (1); // Пуснете първия mp3 myDFPlayer.pause (); // пауза на mp3 myDFPlayer.start (); // стартираме mp3 от паузата ------------------------------ myDFPlayer.next (); // Пуснете следващия mp3 myDFPlayer.previous (); // Пуснете предишен mp3 ------------------------------ myDFPlayer.playMp3Folder (4); // възпроизвеждане на специфичен mp3 в SD: /MP3/0004.mp3; Име на файл (0 ~ 65535) myDFPlayer.playFolder (15, 4); // възпроизвеждане на конкретен mp3 в SD: /15/004.mp3; Име на папка (1 ~ 99); Име на файл (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // възпроизвеждане на специфичен mp3 в SD: /02/004.mp3; Име на папка (1 ~ 10); Име на файл (1 ~ 1000) ------------------------------ myDFPlayer.loop (1); // Завъртане на първия mp3 myDFPlayer.enableLoop (); // разрешаване на цикъл. myDFPlayer.disableLoop (); // деактивиране на цикъла. myDFPlayer.loopFolder (5); // цикъл всички mp3 файлове в папка SD:/05. myDFPlayer.enableLoopAll (); // цикъл на всички mp3 файлове. myDFPlayer.disableLoopAll (); // спиране на всички mp3 файлове. ------------------------------ myDFPlayer.volume (10); // Задайте стойност на силата на звука. От 0 до 30 myDFPlayer.volumeUp (); // Увеличаване на звука myDFPlayer.volumeDown (); // Намаляване на звука ------------------------------ myDFPlayer.setTimeOut (500); // Задаване на изчакване за серийна комуникация 500ms myDFPlayer.reset (); // Нулиране на модула ------------------------------ Serial.println (myDFPlayer.readState ()); // прочетете mp3 състоянието Serial.println (myDFPlayer.readVolume ()); // чете текущия том Serial.println (myDFPlayer.readEQ ()); // прочетете настройката на EQ Serial.println (myDFPlayer.readFileCounts ()); // чете всички файлове в SD картата Serial.println (myDFPlayer.readCurrentFileNumber ()); // чете номера на текущия файл за възпроизвеждане Serial.println (myDFPlayer.readFileCountsInFolder (3)); // прочетете броя на запълванията в папка SD:/03 ------------------------------ myDFPlayer.available ()

Стъпка 5: Външно захранване

Image
Image
Външно захранване
Външно захранване
Външно захранване
Външно захранване

Сега, когато вашият MP3 плейър е тестван и работи, можете да го изключите от компютъра и да го използвате с независимо захранване. За простота използвам 5 -волтов адаптер за стена, който може да се купи за около долар, и USB кабел, още един долар. Кабелът свързва Arduino към стенен адаптер +5V. Тъй като щифтовете за захранване и заземяване на Arduino са свързани към макет, това ще захранва другите компоненти. Поради своята простота и ниска цена, използвам същата тази комбинация, за да захранвам други проекти.

Снимката вдясно и видеото показват плейъра, свързан към моя усилвател от $ 40, седнал на десния високоговорител Bose на бюрото ми. Това е моята настолна музикална система: Arduino MP3 плейър, Douk Audio усилвател и 2 високоговорителя Bose. Добро качество на звука.

Надявам се, че сте успели и сте се радвали да създадете свой собствен MP3 музикален плейър.

Стъпка 6: Премахнете статичния шум

При ниска сила на звука имаше дразнещ фонов статичен шум. Шумът беше наред, когато силата на звука на DFPlayer беше по -голяма и музиката се възпроизвеждаше. Но когато музиката беше тиха, статиката беше налице.

Намерих страница на StackExchage, която имаше много предложения. При мен работи следното:

  • Свържете къс проводник между заземяващите щифтове на DFPlayer: щифтове 7 до 10.
  • Използвайте отделен USB стенен щепсел (5V) за захранване на DFPlayer модула.
  • Свържете щепсела на стената към земята Arduino. Това беше необходимо, за да може серийният контрол да работи между Arduino и плейъра.

Горното беше тествано на моя емулатор Altair 8800, който подобрих с DFPlayer за възпроизвеждане на музика. Плейърът се управлява чрез завъртане на превключвателите на предния панел.

Препоръчано: