PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Radio (http://pccar.ru/forumdisplay.php?f=193)
-   -   Еще один вариант FM радио. (http://pccar.ru/showthread.php?t=20819)

Daniel 12.08.2014 10:19

Вложений: 1
Цитата:

Сообщение от Ursus (Сообщение 303754)
Лучше был бы какой-то микшер, но в схемотехнике я не секу, а готовых простых схем или микросхем мне не попадалось.

Только микшер или сумматор. Хотя бы по такой схеме:
Вложение 36744

Транзистор бери КП303А, на нем не наблюдалось (на осциллографе) заметных искажений при подаче 9-15ВВ. Ну, и один канал отрежешь, тебе же только 2 надо.

Tommy_Gun 12.08.2014 11:05

Цитата:

Сообщение от Ursus (Сообщение 303754)
А да. Избаился от Arduino Uno Communicator. Теперь работаю с Arduino из таскера без дополнительных приблуд. Прямо через Serial порт.

Можно поподробнее?

Ursus 12.08.2014 11:09

А у конденсаторов номинал какой? И судя по схеме громкость регулируется крутилочками, что не айс. Или потенциометры совсем выкинуть нафиг? Может кто-нибудь микруху знает с такими функциями и цифровым управлением.

Ursus 12.08.2014 11:48

Цитата:

Сообщение от Tommy_Gun (Сообщение 303762)
Можно поподробнее?

Таки можно.
Понадобится планшет с полноценным USB хостом и рутом, busybox а так же Arduino c встроенным USB Serial портом.
Лично я проделывал все на Nexus 7 2012 и ардуино UNO R3. Способ гарантировано работает на прошивках от тимура и AutoDroid
1. Проверяем а в случае необходимости активируем USB host
2. Устанавливаем busybox (думаю все в курсе что нужно зайти в приложение и установить оттуда)
3.Подключаем Arduino к планшету и пытаемся найти его в устройствах. У меня это /dev/ttyACM2. У вас может быть какая-то другая цифра. Подключайте-отключайте и смотрите какое устройство появляется исчезает. Теоретически при перезагрузке номер устройства может поменяться и по правильному нужно его искать каждый раз скриптом. Но у меня этого не происходит и я не стал задрачиваться.
4. Самый главный шаг. Настраиваем Serial port
Код:

stty -F %ARDUINO_DEVICE_NAME cs8 9600 -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl  noflsh -xcase -tostop -echoprt -echoctl -echoke
Вместо %ARDUINO_DEVICE_NAME имя вашего устройства. Выполнять надо каждый раз после подмонтирования устройства. Я делаю каждый раз при просыпании и норм.
5. А да. Забыл сказать. В ардуино в скетче скорость порта тоже должна быть 9600. Если у вас другое значение, то меняйте скорость в настройках порта п. 4.
6. Пишем сообщение в ардуино скриптом Shell.
Код:

echo "нужное сообщение" > %ARDUINO_DEVICE_NAME
7. Самое вкусное читаем из ардуино. Сразу говорю есть ограничение. В сообщениях от ардуино (в моей схеме подключения) нельзя использовать пробел. Хотя если как-то хитро заэкранировать его, то может и можно. Короче мне пробел не критичен и я не стал им морочиться. Итак.
Каждый раз после подмонтирования устройства и настройки порта см пункт 4. выполняем следующий скрипт.
Код:

(cat %ARDUINO_DEVICE_NAME | while read code; do am broadcast -a primavera.arduino.intent.action.DATA_RECEIVED -e primavera_arduino_intent_extra_string $code; done) < /dev/null > /dev/null 2>/dev/null &
Краткое описание работы скрипта. Запускается демон который висит в памяти и ждет сообщения в файл вашего устройства. При получении сообщения в систему шлется бродкаст интент с action primavera.arduino.intent.action.DATA_RECEIVED и переменной (extras) primavera_arduino_intent_extra_string d в которой содержится ваше сообщение.
Если вы до этого использовали Arduino Uno Communicator (который мной пропатченный) и у вас все работало, то больше ничего делать не нужно. Смело удаляем Arduino Uno Communicator и сообщения будут приходить так же как и раньше. Только стабильней.
Если нет, то в таскере заводим новый профиль. Событие-Система-Intent Received
В поле действие у вас будет primavera.arduino.intent.action.DATA_RECEIVED
Ну и соответсвенно в задаче, которая вызывается из этого профиля будет доступна локальная переменная primavera_arduino_intent_extra_stringс сообщением от arduino.

Собственно это все. Не забываем для всех скриптов ставить галочку Use Root. И менять %ARDUINO_DEVICE_NAME на ваше устройство.

Daniel 12.08.2014 12:06

Цитата:

Сообщение от Ursus (Сообщение 303764)
А у конденсаторов номинал какой? И судя по схеме громкость регулируется крутилочками, что не айс. Или потенциометры совсем выкинуть нафиг? Может кто-нибудь микруху знает с такими функциями и цифровым управлением.

0.1uF пленочные 63В, резисторы берешь подстроечные и настраиваешь их один раз, чтобы выровнять уровни сигналов с планшета и радио. А вот регулировку громкости радио осуществляй через команды ардуино (вроде, у радио есть своя регулировка громкости). Если назначить на медиа-кнопки, то одновременно будет регулироваться системная громкость планшета и громкость радио (если, конечно, шаги регулировки совпадут).

И да, на схеме надо добавить один канал, а не убрать. Т.е. должно быть 4, а не 3. Стерео же.

Ursus 12.08.2014 12:12

Все таки нужно один канал убрать. Просто должно быть две таких схемы. По одной на каждый канал. Мне всё-таки стерео хочется, а не моно.

Daniel 12.08.2014 12:13

Цитата:

Сообщение от Ursus (Сообщение 303770)
Все таки нужно один канал убрать. Просто должно быть две таких схемы. По одной на каждый канал. Мне всё-таки стерео хочется, а не моно.

Согласен, ступил. :yes4: Две двухканальных схемы.

Chubaka885 12.08.2014 17:40

Цитата:

Сообщение от Ursus (Сообщение 303754)
Лучше был бы какой-то микшер, но в схемотехнике я не секу, а готовых простых схем или микросхем мне не попадалось.

А что мешает прикрутить это. В том же мастер ките продается. И управлять ардуиной входами в зависимости от использования радио/планшет.
Единственный минус: при работе радио слышно только радио)))

Ursus 12.08.2014 17:53

Цитата:

Сообщение от Chubaka885 (Сообщение 303788)
А что мешает прикрутить это. В том же мастер ките продается. И управлять ардуиной входами в зависимости от использования радио/планшет.
Единственный минус: при работе радио слышно только радио)))

Да ничего не мешает. Я же писал про то что
Цитата:

В следующей инкарнации системы планирую заменить релюшку на микросхему TDA8421
это как раз та самая микросхема. Только мастеркитовцы хотят за нее 480 руб, а микросхема эта вместе с несколькими конденсаторами нужными для обвязки стоит ~130. Думаю слишком жирно им будет. Если для радио покупка как-то оправдана там поверхностный монтаж нужно плату травить, фен нужен и т.д. То тут все делается на обычной макетке за час времени. Ну может полтора. Короче нет смысла, а если учесть что заказывать и ждать нужно....

У меня еще китайское радио на подъезде. На чипе с RDS. Есть задумка блютус хэндсфри ко всему этому безобразию прикуртить. Короче эта коробочка останется как есть. Буду новую собирать. Следующую версию. Но это уже осенью...

Vladget 12.08.2014 18:02

Для коммутации может TDA7313 подойдет?


Часовой пояс GMT +4, время: 22:48.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot