Что-то я как-то давно не постил сюда ничего гиканутого, надо срочно исправляться. Впрочем, у меня был важный повод — запиливал базовую платку для Android TV стиков, которая приведена на картинке ниже. А под катом можно вычитать целую кучу вкусных подробностей. Если Вы читаете мой унылый инженерный бложик, или (что хуже) имеете честь знать меня лично, то я тот самый гиканутый человек у которого не было, и не будет Raspberry Pi. Что мне в нем дико не нравится — форм-фактор. Большего идиотизма, когда все разъемы торчат разные стороны придумать нельзя, потому когда надо запихнуть его в корпус начинаются проблемы и в итоге выходит Колхоз Инновейшнз в стиле конца 80х.
Для автоматики там, где это требуется я использую Android TV стики. Разве что без андроеда и телевизора. В них больше процессорной мощности, памяти, они с полпинка загружаются с SD карты и они маленькие. Allwinner с некоторых пор неплохо поддерживается в мейнлайне, что не может не радовать. Но чего у них нет — гребенки с GPIO и им все же нужен нормальный корпус, куда поместятся и они и обвяз. В моем случае мне требовалось развесить это добро местах в четырех по даче, где автоматика напрашивалась. Пришлось закатать рукава, запустить кикад и родить нечто.
Идея была тупа до безобразия. Так как USB портов на TV стиках кот наплакал — нужен был USB хаб, нужны были GPIO, реле, и чтобы на паре портов усб можно было питание щелкать… Ой, и светодиодики! Обязательно пять миллиметров!
Потому я взял четырехпортовый USB хаб, на один порт повесил attiny2313, который стал расширителем с USB на GPIO, добавил три релешки. Управление питанием портов сделал на полевых транзисторах.
ТВ стики питаются от пяти вольт и во всех них вход питания соединен напрямую с питанием USB Host порта. Именно поэтому питать их можно через этот самый порт. Так как мне надо было питать все это хозяйство от 12-24 вольт, то и на плату я посадил DC-DC на 3А. Первый рендер выглядел крайне позитивно: Платки выглядели еще лучше: В сборе даже еще лучше:Ну а если их еще и в корпус запихнуть… Так как корпус блокирует любой вайфай сигнал, родную антенну я со стиков демонтировал и выкинул — все равно не антенна, а фигня на палочке. Вместо этого подпаял pigtail на SMA разъем. Качество WiFi сигнала при этом существенно увеличилось, что не могло не радовать. Итак, ТТХ девайса вышли таки:
- 3A DC-DC, входное питание 7-24 вольта. (последний проект, который делаю на LM2596S в питании, так как мешок LM2596S показывает дно)
- 4х портовый хаб, три наружу, один на мк
- Attiny2313, с vusb стэком внутри (USB2GPIO, PWM, etc)
- 2 USB порта смотрят внутрь короба, питание портов управляется микроконтроллером.
- Один порт смотрит наружу (питание всегда включено)
- Три реле. Хватит всем.
- 8 GPIO линий или 8 разъемов для подключения сервомашинок (зависит от прошивки в 2313)
- 100% не содержит вредного для здоровья arduino!
- Влазит в стандартный корпус из анодированного алюминия.
Attiny2313 я выбрал потому, что дешево, сердито, да и самый минимум. (Да и нравится мне что-то делать, когда из железа надо выжать максимум, в условиях очень ограниченных ресурсов) Прошивка умеет:
* Режим входа и выхода на все 8 дополнительных пинов .
* Сохранение/загрузку при старте состояния ног.
* Режим управления сервомашинками (Да, сюда можно нацепить до 8 сервомашинок!)
И все это добро влезло в 2К флеша. Исходники, как всегда, валяются на github’е под GPLv2, бранч iceshard-bb
Что касается рисунка на шелкографии его нарисовала полностью Vemarish. Она так же отсыпала мне раскрашенные варианты в высоком разрешении, которые идут бонусом. В светленьком варианте: И в темненьком: И что-то мне подсказывает, что если эта поделка угодит куда-нибудь на Hack-a-Day — большинство придет сюда на за этими двумя картиночками, а не за платкой или кодом.