Нужна помощь с модулем WT588D-U
- Войдите на сайт для отправки комментариев
Ср, 13/08/2014 - 15:44
друзья программеры, я в этом новичёк. как мне заставить ардуину проигровать определенный фаил из прошитых в модуль WT588D-U без использования кнопок.? например при считывании данных с ультрозвукового сенсора(HC-SR04), когда расстояние ну к примеру 30 см проигровается один wav, а когда 20 см проигровается другой. принцип работы я понимаю, проигрывать надо из определенного адреса группы,а вот как это реализовать програмно? буду рад любой помощи.
#include "Ultrasonic.h"
Объяви сенсор
ну вот как раз с сенсором я все понял,типа если расстояние ... то вызвать функсию ... и вот тут и есть сама загвозка ,какая функция и как именно работать с самим модулем WT588D-U. Тоесть я туда файлы записал ,а вот как их проиграть?
if(sensorOne.Ranging(CM) = 30) функция;
Даже в "псевдо-коде", таких ошибок лучше избегать.
Перечитываем: = (assignment) и == - иначе потом горя не оберетесь.
if(sensorOne.Ranging(CM) = 30) функция;
Даже в "псевдо-коде", таких ошибок лучше избегать.
Перечитываем: = (assignment) и == - иначе потом горя не оберетесь.
на этот раз просто опечатался)
Поэтому при сравнения сначала пишут константу, например:
if( 30 == foo() )
тогда компилятор выругается
А мне я так понимаю некто непоможет? :(
А в первом ответе вы что видите? Если нагромождение непонятных буковок и циферок, то да, никто не поможет.
Для того, чтобы проиграть записанный ранее файл, нужно взять документацию на модуль и прочитать там, как проигрывать ранее записанный туда файл. Как-то так, я думаю.
А в первом ответе вы что видите? Если нагромождение непонятных буковок и циферок, то да, никто не поможет.
Для того, чтобы проиграть записанный ранее файл, нужно взять документацию на модуль и прочитать там, как проигрывать ранее записанный туда файл. Как-то так, я думаю.
Все дело в том что в datasheet есть небольшой пример, но он на ASMe и на С кажется а в програмирование я почти ноль. я вот собрал ультрозвуковой дальномер, скеч проблем не составил, полный интернет,залил в дуину и все ок. а вот к этому модулю немогу найти хотябы самый простой код. типа выбираем фаил-проигрываем, берем друго-проигрываем ну и т.д.
Гыыы. А от нас то вам что нужно? Что бы все бросились писать библиотеку для только вам известного модуля? Нам тут типа заняться больше нечем? Там внизу есть ищю исполнителя.
Ну тогда начните хотя бы с того, что предоставьте ссылки на документацию по модулю. Я бы и сам нашёл, но мне лень. :)
И ещё - я так понял, что вы заставили этот модуль играть С КНОПКАМИ, так? Каким образом вы это сделали?
ну почему только мне извесного? и как я понял ему не нужна какаято особая библиотека. просто по одноканальной шине данных надо передать какой-то адрес. вот тут http://electromost.com/news/ustrojstvo_upravlenija_i_kontrolja_po_gsm_versija_1_6/2013-04-10-87 как бы описано но не под ардуину.
Вот сдесь http://www.waytronic.com/DownLoadCenter/2011825103320760.pdf более детальная информация на английском, и тут небольшая статья http://robot-kit.ru/article_info.php/articles_id/19/article/-font-color---993300--Statya-o-principah-raboty-golosovogo-modulya-na-mikrosheme-WT588D-dlya-Arduino---font-.
Ну так передавайте адрес по одноканальной шине. В чем помощь то нужна?
Как? то есть какой код я должен добавить в скеч что-бы передать нужный адрес музыкального фрагмента. Вот этого я не знаю. мне-бы небольшой образец хотя-бы типа (write.pin 5 address) ну или как там правельно его написать ну или типа того. я не програмист(к сожалению).
Там внизу раздел ищю исполнителя.
Вам однопроводное управление нужно, или можно по пяти проводам?
Вам однопроводное управление нужно, или можно по пяти проводам?
однопроводное у меня arduino nano дефицит пинов.
Когда вы этот модуль к компу по USB подключаете, оно видится как COM-порт?
Когда вы этот модуль к компу по USB подключаете, оно видится как COM-порт?
да кажется. там програмка в комплекте была. файлы я без проблем могу залить. кнопочное управление прекрасно работает, а вот с ардуиной ...
Ну вот залейте в чип пару-тройку звуков, откройте программку, найдите там монитор COM-порта и просто в строке для ввода данных напишите 0. Затем нажмите кнопку Send. По идее должен заиграть 0 звуковой файл. Если заслать 1, то первый итд.
По однопроводной линии управляют дёргая уровнями НА ЛЮБОЙ, по вкусу, ножке ардуино, с определёнными интервалами. Проще говоря, вам надо менять уровни на ножке с паузами между изменениями.
Сначала на ножке, подключенной к oneline входу модуля, вы ставите уровень LOW на 5 миллисекунд, не меньше, не больше, это стартовый импульс, который говорит модулю - ща будет адрес аудиофайла.
Затем вот так:
0 это HIGH на 300 микросекунд, потом LOW на 600 микросекунд
1 это HIGH на 600 микросекунд, потом LOW на 300 микросекунд
надо передать 8 импульсов, по количеству бит в байте, модуль их соберёт в кучку и получит номер файла, который надо проиграть.
Допустим нам надо проиграть 1 аудиофайл, его номер в двоичном коде - 00000001, значит ножкой дёргаем так:
LOW на 5 миллисекунд // указываем модулю начать приём данных
бит 7) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 6) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 5) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 4) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 3) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 2) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 1) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 0) HIGH на 600 микросекунд, потом LOW на 300 микросекунд
И вот тут, если я, блин, всё правильно понял, у вас заиграет муза, записанная в модуле, в "ячейке" с адресом 1.
Ну вот залейте в чип пару-тройку звуков, откройте программку, найдите там монитор COM-порта и просто в строке для ввода данных напишите 0. Затем нажмите кнопку Send. По идее должен заиграть 0 звуковой файл. Если заслать 1, то первый итд.
По однопроводной линии управляют дёргая уровнями НА ЛЮБОЙ, по вкусу, ножке ардуино, с определёнными интервалами. Проще говоря, вам надо менять уровни на ножке с паузами между изменениями.
Сначала на ножке, подключенной к oneline входу модуля, вы ставите уровень LOW на 5 миллисекунд, не меньше, не больше, это стартовый импульс, который говорит модулю - ща будет адрес аудиофайла.
Затем вот так:
0 это HIGH на 300 микросекунд, потом LOW на 600 микросекунд
1 это HIGH на 600 микросекунд, потом LOW на 300 микросекунд
надо передать 8 импульсов, по количеству бит в байте, модуль их соберёт в кучку и получит номер файла, который надо проиграть.
Допустим нам надо проиграть 1 аудиофайл, его номер в двоичном коде - 00000001, значит ножкой дёргаем так:
LOW на 5 миллисекунд // указываем модулю начать приём данных
бит 7) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 6) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 5) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 4) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 3) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 2) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 1) HIGH на 300 микросекунд, потом LOW на 600 микросекунд
бит 0) HIGH на 600 микросекунд, потом LOW на 300 микросекунд
И вот тут, если я, блин, всё правильно понял, у вас заиграет муза, записанная в модуле, в "ячейке" с адресом 1.
спасибо,буду пробовать. да кстати нарыл вот http://compcar.ru/forum/showthread.php?t=10333 но этот код почему-то незаработал:(
Гы я даже больше скажу. То что он описал тоже не заработает :)
Ну вот, а я даташит читал... А тут даже код наличествует. Собсно в коде всё то, что я вам буквицами расписал, и есть.
Вообще странноватая однопроводная шина, по даташиту надо ещё ресет к земле придавливать, перед передачей команды, я про это писать не стал, так как решил, что там просто указано минимальное время, которое должно пройти после ресета до начала передачи команды, а не обязаловка давить ресет перед передачей, иначе линия была бы уже стопудово двухпроводной.
Весь код тестовый у вас будет состоять из:
Как добъётесь работоспособности и впитаете принцип работы - наворачивайте код циклами, проверками, хоть чёртом лысым. Но сначала так, в столбик.
Ну и лана. Я там порядок бит перепутал, или где?
Ну вот, а я даташит читал... А тут даже код наличествует. Собсно в коде всё то, что я вам буквицами расписал, и есть.
Вообще странноватая однопроводная шина, по даташиту надо ещё ресет к земле придавливать, перед передачей команды, я про это писать не стал, так как решил, что там просто указано минимальное время, которое должно пройти после ресета до начала передачи команды, а не обязаловка давить ресет перед передачей, иначе линия была бы уже стопудово двухпроводной.
Весь код тестовый у вас будет состоять из:
Как добъётесь работоспособности и впитаете принцип работы - наворачивайте код циклами, проверками, хоть чёртом лысым. Но сначала так, в столбик.
Большое спасибо за помощь, будем учится и впитывать прицыпы.
Ну и лана. Я там порядок бит перепутал, или где?
Ресет это важно для начала передачи.
Нууу... Видно будет. Называть OneLine'ом режим работы, который требует 2 линии... Хотя там китайцы, они могут.
Нууу... Видно будет. Называть OneLine'ом режим работы, который требует 2 линии... Хотя там китайцы, они могут.
Мдааа. А видимо 1wire вам видится как проволка а второй конец втыкается в горшок с геранью? Ну типа земля же.
Все заработало! вот отсюда http://compcar.ru/forum/showthread.php?t=10333. надо было только пины переназначить. Есче раз спасибо за помощь.
Нууу... Видно будет. Называть OneLine'ом режим работы, который требует 2 линии... Хотя там китайцы, они могут.
Мдааа, ну уж до такого уровня тупости не надо меня опускать, лады, бро, да?
Ground by design, поэтому вообще не рассматривается. OneLine - Data+Ground, but China people think different, China OneLine is Reset+Data+Ground.
Но это ещё надо проверить.
Все заработало! вот отсюда http://compcar.ru/forum/showthread.php?t=10333. надо было только пины переназначить. Есче раз спасибо за помощь.
Круто! Не уходи далеко, ща мы тебя терзать будем. Один вопрос есть.
невопрос. че за вопрос?
Возьми этот код, замени пины на свои и запусти. Заработает, нет?
пашет. но какой-то треск,шум в начале и в конце звучания. типа как рация.
Там написал товарищ. Что без ресета работает. Но в дата есть ресет :)
Мало ли кто что написал. Проверить надоть! Тем более возможность есть.
Значит треск-шум, а с ресетом без трескшума. Ну чо, кетайскей онелине о трёх проводах. Блджад, сериал о трёх проводах и онелине о трёх проводах. Моя щаслева!
ну у него там wt588d, а у меня wt588d-u с usb может схематично как-то отличаются.
ну у него там wt588d, а у меня wt588d-u с usb может схематично как-то отличаются.
Отличаются. Один программатор на борту тащит, а другому внешний надо, все отличия, скорее всего. Правда китайцы и схемы на лету менять могут, чо было под рукой, то и поставили. Схемку подправили и поставили. Чего добру-то пропадать?
ну это они могут. у меня есть есче два модуля WTV020-SD-16P так они схемотично разные. чип одинаковый а обвес разный
Самое главное, что цель достигнута, правда двумя ногами, вместо одной, но тоже результат.
это точно. подключил через DAC, повесил усилок. не винил конечно но звучит неплохо.
это точно. подключил через DAC, повесил усилок. не винил конечно но звучит неплохо.
Вот оно, счастье самоделкина!
это точно. подключил через DAC, повесил усилок. не винил конечно но звучит неплохо.
Вот оно, счастье самоделкина!
Такими темпами скоро в самоделкиных будут записывать каждого кто сможет колесо у машины поменять?
это точно. подключил через DAC, повесил усилок. не винил конечно но звучит неплохо.
Вот оно, счастье самоделкина!
Старость настигла внезапно? Что за вечное занудство с нотками превосходства, вы что тут, поголовно забыли, как радоваться?
это точно. подключил через DAC, повесил усилок. не винил конечно но звучит неплохо.
Вот оно, счастье самоделкина!
Старость настигла внезапно? Что за вечное занудство с нотками превосходства, вы что тут, поголовно забыли, как радоваться?
Согласен с предыдущим оратором. :)
Старость настигла внезапно? Что за вечное занудство с нотками превосходства, вы что тут, поголовно забыли, как радоваться?
Чему радоваться? Он же так и не понял почему и как. Это не самоделкин, это самогуглин какой то.
И скучно и грустно и некому руку пожать.
Старость настигла внезапно? Что за вечное занудство с нотками превосходства, вы что тут, поголовно забыли, как радоваться?
А ты наверное в детском садике на ноль делить научился.
Приветствую!
Коллеги помогите начинающему, я уже на грани .-)))
Выложите плиз вашу, рабочую откомпилированную прошивку wt588d
и если можно схему подключения, а-то я уже голову сломал.
А может просто советом поможете. Что я делаю не так?
Приветствую!
Коллеги помогите начинающему, я уже на грани .-)))
Выложите плиз вашу, рабочую откомпилированную прошивку wt588d
и если можно схему подключения, а-то я уже голову сломал.
А может просто советом поможете. Что я делаю не так?
Вот этот скеч у меня нормально работает, но я использую МЕГУ. Но я использовал серву- типа серва налево, ну и голосовая озвучка.
Приветствую!
Коллеги помогите начинающему, я уже на грани .-)))
Выложите плиз вашу, рабочую откомпилированную прошивку wt588d
и если можно схему подключения, а-то я уже голову сломал.
А может просто советом поможете. Что я делаю не так?
Вот этот скеч у меня нормально работает, но я использую МЕГУ. Но я использовал серву- типа серва налево, ну и голосовая озвучка.
А остальное подключение такое же, как у меня описано?