Воспроизведение музыки и звуков через плеер.
- Войдите на сайт для отправки комментариев
Собсственно в чем вопрос, в силу дороговизны различных music shield-ов, решил использовать в качестве вывода музыки простенький плеер http://www.ebay.com/itm/Mini-Fashoin-Clip-Metal-USB-MP3-Music-Media-Play.... По сути, необходимо просто в нужный момент вызывать нажатие кнопок паузы/воспроизведения, вперед, назад. Нажимать физически какой-нибудь сервой это не вариант, хотелось бы подсоединяться на прямую, и управлять кнопками программно, возможно ли это? Хотелось бы выслушать ваши предложения.
В догонку, хотел бы спросить насчет выхода звука. В плеере он идет через наушники, можно ли как-нибудь увеличить их звук, или хотя бы одного из динамиков, что бы мелодия была слышна вне одетых наушников?
Почему нет, погугли, где то уже встречал подобную тему.
По поводу звука, есть колонки для ноутов, у них питание от усб, то бишь пять вольт.
На самом деле я долго и упорно искал. Нашел совет парня, впаять вместо кнопок оптопары. Сам с ними не работал, но принцип их работы приблезительно понятен. Знаю что бывают разные оптопары, какие бы вы посоветовали для конкретного случая? И как вариант, возможно ли самому с минимальными затратами сделать такие?
А насчет звука, мне необходимо колонки/динамики для разъема 3.5, как в плеере. Т.к. именно с него и собираюсь воспроизводить все музыкальное дело. Потому интересуюсь возможностью искуственно увеличить громкость наушников. Но вообще, если usb выход колонок можно без напряга заменить на штекер 3.5, то я готов попробывать.
Много ли файлов проигрывать собираешься?
десятки?
Сотни?
Около 10-15. Но разве это принципиально? Понятно что с этим способом легко запариться, но впринципе цели пока позваляют.
К слову, по наводке людей в гугл вопросах ответах, решил замутить это дело на транзисторах. При подаче питания на базу он будет замыкаться и давать нужный эффект. Единственно что, боюсь испортить плеер при замене кнопок, они там крайне компактно уложены и запаяны, даже сверху чем заклеены. Сегодня уже днем постараюсь скинуть изображения "внутренностей", может что посоветуете.
вот такой девайс посоветую.
http://www.ebay.com/itm/310629013078?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
Благодарствую, может у вас найдутся пара ссылок на туториалы? Видео на ютубе мало информативны, не совсем понятно каким образом происходит вывод звука, и как управлять этим модулем с ардуины.
Вот мы с тобой туториал и напишем - я тоже такой модуль заказал для системы голосового оповещения. К нему заказал усилитель трехватный на два канала и пару динамиков - буду експерементировать.
Пока, приложу мануал.
http://yadi.sk/d/iFWmfGUX4kMrW
На 12 странице предложеного мануала все расписано - ИМХО то что нужно.
А пока ищу чем согласовать 3.3 вольта плеера с 5 вольтами меги.
проще всего поставить что-то типа SN74LVC1T45, но какой же он маленький для прототипирования -)
Ладно sot 23 на проводки паял - и этот припаяю -)
http://forum.arduino.cc/index.php?topic=117009.0
Я, кстати запустил модули на которые ссылку давал выше.
7 проводов, и оказалось не каждая карточка катит.
Есть замуты и с конвертацией файла - но у меня все получилось. использовал либу из этой темы немного поправив задержку.
http://youtu.be/lv_ZVD8ahcc
PS: ТТС движек - акапелла (Алена) - на суть текста не обращайте внимания - тестовый прогон.
01#include <Wtv020sd16p.h>0203intresetPin = 2;// The pin number of the reset pin.04intclockPin = 3;// The pin number of the clock pin.05intdataPin = 4;// The pin number of the data pin.06intbusyPin = 5;// The pin number of the busy pin.0708/*09Create an instance of the Wtv020sd16p class.101st parameter: Reset pin number.112nd parameter: Clock pin number.123rd parameter: Data pin number.134th parameter: Busy pin number.14*/15Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);1617voidsetup() {18//Initializes the module.19wtv020sd16p.reset();20212223}2425voidloop() {26//Plays synchronously an audio file. Busy pin is used for this method.27delay(250);28// Громкость 1-7 ставим на 529wtv020sd16p.sendCommand(0xFFF4);30delay(250);31wtv020sd16p.playVoice(11);32delay(10);33wtv020sd16p.playVoice(12);34delay(100);35wtv020sd16p.playVoice(13);36delay(10);37wtv020sd16p.playVoice(14);38delay(10);39wtv020sd16p.playVoice(15);40delay(10);41wtv020sd16p.sendCommand(0xFFF6);42delay(1000);43}Пробовал как будет звучать если использовать модуль как речевой информатор - паузы , конечно, заметны но не смертельны.
Инструкция wtv020sd16p.sendCommand с коробки работать не будет - надо в файле Wtv020sd16p.h убрать "private" а в фале *.cpp поправить задержку опытным путем - у меня 40
Вопрос на засыпку -на МЕГЕ работает ? mp3 -поддерживает ?
MP3 не держит, работает на любой ардуине.
а как его температуру заставить проговаривать ?
по ссылки ниже продавец утверждает что это возможно http://geek.kg/mp3module/
дома валяется такой плеер . гляну как там подключается. если не ошибаюсь там все на землю замыкается. проблем не должно быть
Уважаемый Nixoid!Сделал все так, как описано в 11 посте. В указанных файлах сделал исправления.Все равно не "игоает". Даже не получается проиграть файл при подаче питания. Как вы думаете это кривизна рук или модуля? Можно воспользоваться вашим проектом полностью (математикой)?
Эм?
Математикой - вот рабочий пример - имена файлов правильно писал, я помню там еще замуты с конвертированием.
Поискать точно работающие файлы?
Еще не каждая карта катит - я использую на 128, и 512 мб - благо у меня их пучек был - сколько не пробовал большие размеры - не "игоает"
Nixoid!
Спасибо за столь быстрый ответ.
-не "игоает" - читать "играет"
Под "математикой" я имел ввиду файлики .cpp и .h и сам скетч, т.е. те файлы, которые работают у вас. SD карточки я применял 512 мб и 1г. В ручном режиме все работает.
Я хотел еще поинтересоваться. А сам модуль может быть "кривым", те не предназначен для управления контроллером?
Если не затруднит, скиньте работающие файлы.
Спасибо.
Нет, модули все управляються контроллером.
Сейчас поищу.
воспроизведение ad4 файлов
01/*02Example: Control a WTV020-SD-16P module to play voices from an Arduino board.03Created by Diego J. Arevalo, August 6th, 2012.04Released into the public domain.05*/0607#include <Wtv020sd16p.h>0809intresetPin = 2;// The pin number of the reset pin.10intclockPin = 3;// The pin number of the clock pin.11intdataPin = 4;// The pin number of the data pin.12intbusyPin = 5;// The pin number of the busy pin.1314/*15Create an instance of the Wtv020sd16p class.161st parameter: Reset pin number.172nd parameter: Clock pin number.183rd parameter: Data pin number.194th parameter: Busy pin number.20*/21Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);2223voidsetup() {24//Initializes the module.25wtv020sd16p.reset();26delay (1000);27pinMode(13, OUTPUT);28}2930voidloop() {31//Plays synchronously an audio file. Busy pin is used for this method.32//wtv020sd16p.playVoice(1);33//Plays asynchronously an audio file.34wtv020sd16p.playVoice(1);35//Plays audio file number 1 during 2 seconds.36digitalWrite(13, HIGH);37delay(1000);38digitalWrite(13, LOW);39wtv020sd16p.playVoice(2);40delay(1000);41wtv020sd16p.playVoice(3);42delay(1000);43wtv020sd16p.playVoice(4);44delay(1000);45wtv020sd16p.playVoice(0);46delay(1000);47//Pauses audio file number 1 during 2 seconds.48// wtv020sd16p.pauseVoice();49// delay(5000);50//Resumes audio file number 1 during 2 seconds.51//wtv020sd16p.pauseVoice();52//delay(5000);53//Stops current audio file playing.54// wtv020sd16p.stopVoice();55//Plays synchronously an audio file. Busy pin is used for this method.56// wtv020sd16p.asyncPlayVoice(2);57// delay(2000);58//Mutes audio file number 2 during 2 seconds.59// wtv020sd16p.mute();60// delay(2000);61//Unmutes audio file number 2 during 2 seconds.62// wtv020sd16p.unmute();63//delay(2000);64//Stops current audio file playing.65//wtv020sd16p.stopVoice();66}01/*02Wtv020sd16p.cpp - Library to control a WTV020-SD-16P module to play voices from an Arduino board.03Created by Diego J. Arevalo, August 6th, 2012.04Released into the public domain.05*/0607#include "Arduino.h"08#include "Wtv020sd16p.h"0910constunsignedintPLAY_PAUSE = 0xFFFE;11constunsignedintSTOP = 0xFFFF;12constunsignedintVOLUME_MIN = 0xFFF0;13constunsignedintVOLUME_MAX = 0xFFF7;1415Wtv020sd16p::Wtv020sd16p(intresetPin,intclockPin,intdataPin,intbusyPin)16{17_resetPin=resetPin;18_clockPin=clockPin;19_dataPin=dataPin;20_busyPin=busyPin;21_busyPinState=HIGH;22pinMode(_resetPin, OUTPUT);23pinMode(_clockPin, OUTPUT);24pinMode(_dataPin, OUTPUT);25pinMode(_busyPin, INPUT);26}2728voidWtv020sd16p::reset(){29digitalWrite(_clockPin, LOW);30digitalWrite(_resetPin, HIGH);31//Reset pulse.32digitalWrite(_resetPin, LOW);33delay(5);34digitalWrite(_resetPin, HIGH);35//Reset idle to start bit.36digitalWrite(_clockPin, HIGH);37delay(300);38}3940voidWtv020sd16p::playVoice(intvoiceNumber){41sendCommand(voiceNumber);42_busyPinState=digitalRead(_busyPin);43while(_busyPinState==HIGH){44_busyPinState=digitalRead(_busyPin);45}46}4748voidWtv020sd16p::asyncPlayVoice(intvoiceNumber){49sendCommand(voiceNumber);50}5152voidWtv020sd16p::stopVoice(){53sendCommand(STOP);54}5556voidWtv020sd16p::pauseVoice(){57sendCommand(PLAY_PAUSE);58}5960voidWtv020sd16p::mute(){61sendCommand(VOLUME_MIN);62}6364voidWtv020sd16p::unmute(){65sendCommand(VOLUME_MAX);66}6768voidWtv020sd16p::sendCommand(unsignedintcommand) {69//Start bit Low level pulse.70digitalWrite(_clockPin, LOW);71delay(2);72for(unsignedintmask = 0x8000; mask > 0; mask >>= 1) {73//Clock low level pulse.74digitalWrite(_clockPin, LOW);75delayMicroseconds(50);76//Write data setup.77if(command & mask) {78digitalWrite(_dataPin, HIGH);79}80else{81digitalWrite(_dataPin, LOW);82}83//Write data hold.84delayMicroseconds(50);85//Clock high level pulse.86digitalWrite(_clockPin, HIGH);87delayMicroseconds(100);88if(mask>0x0001){89//Stop bit high level pulse.90delay(2);91}92}93//Busy active high from last data bit latch.94delay(40);95}01/*02Wtv020sd16p.h - Library to control a WTV020-SD-16P module to play voices from an Arduino board.03Created by Diego J. Arevalo, August 6th, 2012.04Released into the public domain.05*/0607#ifndef Wtv020sd16p_h08#define Wtv020sd16p_h0910classWtv020sd16p11{12public:13Wtv020sd16p(intresetPin,intclockPin,intdataPin,intbusyPin);14voidreset();15voidplayVoice(intvoiceNumber);16voidasyncPlayVoice(intvoiceNumber);17voidstopVoice();18voidpauseVoice();19voidmute();20voidunmute();voidsendCommand(unsignedintcommand);21int_resetPin;22int_clockPin;23int_dataPin;24int_busyPin;25int_busyPinState;26};2728#endifВот то что есть - проект уже давно запущен и работает.
Огромное спасибо!
Результаты отпишу ближе к вечеру.
DUE имеет встроеный ЦАП... читаеш файло с карты и пихаеш на пин. к пину подключаеш усилитель и динамик и вперед на мины.. работает на ура..
Уважаемый Nixoid!
Вы не поверите. У меня НИ чего НЕ получилось.
Каждые 4 сек мыргает светодиод, а звука нет.
А так хотелось "речевой информатор" сделать.
Спасибо!
А линии точно правильно подсоеденены - у меня тоже головняк был - неправильно пины подтыкал.
И на карточке в моем примере должны быть файлы с расширением ad4 и именами 000, 001, 002, 003, 004
Скажи мыло - пришлю файло.
Спасибо за заботу!
raqus@rambler.ru
ушло
Nixoid!
Нет, не получилось. Ваши файлики у меня даже в ручном режиме не играют.
В названия файлов по мануалу должно быть три нолика те 0001.ad.
Да, у меня arduino mini 5v, может по уровням не совпадает?
я на нано запускал только питание 3.3 вольта, входы напрямую.
посмотри видео внимательно - входы совпадают у нас?
про имя файла мог уже и подзабыть -)
Nixoid
Поправил имена файликов(добавил ноль) - тетя заговорила.
В очередной раз проверяю соединения
матом не ругаеться?
а то у меня и такое было -)
Проверил соединения.
Ардуины у нас разные, поэтому относительно видео не могу сказать соответствие.
Динамик у меня подключен на 4 и 5 пины. Если на 2 через усилитель, вся система затыкается.
И после прошивки voice светодиод у меня мерцает, а на видео видны четкие паузы.
Вероятно проблема в олном из двух или ардуино или сам wtv020.
Продолжаю заниматься слабоумием.
Продолжаю заниматься слабоумием.
ну это как раз понятно про слабоумие.. ибо этот плеер + какая нибуть мега2560 по цене практически DUE. так почему сразу не взять DUE и не парится?
Puhlyaviy!
Ваш комментарий очень важен для меня, хотя вряд ли поможет.
Потому что у меня уже есть mini и wtv020. Вашим советом я не воспользуюсь.
ну это как раз понятно про слабоумие.. ибо этот плеер + какая нибуть мега2560 по цене практически DUE. так почему сразу не взять DUE и не парится?
вчера мелкие, но по три?(с)
*откручиваю счётчик континиума пространства-времени, стираю глупые поступки, недорого.
Мини и нано совместимы полность, я прототипирую на нано и шью ничего не меняя в мини.
даже не меняя название платы - они у меня все на 5 вольт и на 328 меге.
на видео можно разобрать в какие пины воткнуты - втыкай так же и у себя.
номера пинов я тоже не меняю - так как они все сходяться на 328 меге.
Потому что у меня уже есть mini и wtv020. Вашим советом я не воспользуюсь.
огласите тогда весь проект... это будет датчик на открытие двери? типа поздоровался и послал ?
Проект - воспроизведение музыки и звуков через плеер, что и записано в названии темы.
Тема "Флуд и другие глупые вопросы" а также "а купите DUE и не парьтесь" находяться в другом месте, возможно даже на другом форуме.
С громкостью поэкспериментируй. может в ноль стоит.
Проект - воспроизведение музыки и звуков через плеер, что и записано в названии темы.
так и в чем проблема то? раскрываю тему. покупаете плеер, записываете в него музыку. одеваете наушники, и слушаете.. причем тут форум про ардуино?
Точно, спасибо - ты мне глаза открыл.
Nixoid!
Совершенно согласен, что ардуины одинаковые, но у меня супер-китайчатина, я даже в инете не нашел на нее описание. Возможно, накосячина нумерация пинов. Потыкаю тестером и во вторник обещали дать UNO поиграть. Посмотрю, сравню. При любом раскладе отпишу.
Спасибо за участие.
Точно, спасибо - ты мне глаза открыл.
я просто пытаюсь понять смысл конструкции по воспроизведению звука на мини... зачем?
У меня управление голосом на мини.
Слушает и отвечает - и всё это за цену одной DUE.. или даже MEGA
У меня управление голосом на мини.
Слушает и отвечает - и всё это за цену одной DUE.. или даже MEGA
звучит громко.. но пока я вижу только плеер.. микрофона и распознавания не вижу..
и чем оно управляет?
Но и тут темя про плееры, а не про голосовое управление и управление нагрузками, не так ли?
Но и тут темя про плееры, а не про голосовое управление и управление нагрузками, не так ли?
тут форум про ардуино, а не про плееры :) плееры вон китайцы клепают пачками какие хочеш. ардуино и рядом не стояло... а в теме попытка из железного феликса сделать грамафон...
Господа!
Не надо так возбуждаться! Каждый имеет право на свое мнение, даже и ошибочное. Давайте жить дружно!
Что не так?
Плеер спецом заточеный для управления с Ардуино.
Управляем ардуино, звук храним на встроенной карте.
Да та же DUE твой любимая - сохранит 512 файлов?
Насколько удобно будет проигрывать музло?
А тут - одна команда...
А боремся мы с железом капризным..
экономим на плеере ....
http://maxoffsky.com/maxoffsky-blog/how-to-play-wav-audio-files-with-arduino-uno-and-microsd-card/
нормально "дуина" воспроизводит и БЕЗ плеера ...
https://www.youtube.com/watch?v=cCTzxiwZyXYhttps://www.youtube.com/watch?v=cCTzxiwZyXY