Posted by lex232 on

Переход от прототипа Arduino к устройству на примере игрального кубика

Переход от прототипа Arduino к устройству на примере игрального кубика

В прошлой статье мы разобрали, что нужно для голого микроконтроллера, для его работы и как его прошить прошивкой от Arduino. Попробуем проделать это на практике. Чтобы завершить проект игрального кубика, мне нужно было уместить всю электронику в размер куба 4х4 см, т.е. плата должна была быть и того меньше. Вспомним, как у нас это выглядело на примере Arduino

Игральный кубик на ардуино

Да.. Такое в маленький корпус спрятать не получится. Для проектирования я обычно использую среду DipTrace — она условно бесплатна (легко найти ключ на 1000 выводов для некоммерческого использования), понятна, и содержит большую базу компонентов. Конечно, правильно было бы начинать с принципиальной схемы, а потом переходить к печатной плате, используя связи между компонентами, но в кубике всё запредельно просто, поэтому я сразу начну рисовать плату в заданном размере. Уроков по DipTrace очень много, я буду опираться на другие моменты, на сам принцип проектирования. Для начала я задам рабочие размеры поля (outline), нарисую отверстия и помещу основные компоненты — МК, транзисторную сборку ULN2803 и 8 резисторов.

Смотрите также:  Как сделать корпус робота. Новый компьютер
Переход от прототипа Arduino к устройству на примере игрального кубика

Как видите, если я навожу курсор на вывод компонента — вижу его номер и описание. В данном случае AVCC. Это очень удобно, можно даже не обращаться к даташиту. Теперь вспоминаем предыдущую статью, и пытаемся помимо нашей схемы подключения индикатора, снабдить контроллер всем необходимым. Так как место на плате у нас немного, то я не стал ставить электролит по питанию (батарейка даёт достаточно стабильное напряжение). Сначала разберёмся с питанием. Внимательно смотрим все выводы VCC, GND, и объединяем их. Снизу обычный пин i/o PD5, но я провёл через него 5В для удобства, чтобы не делать перемычку, ведь он толерантен к 5В. Но вообще его подключать конечно не нужно.

Переход от прототипа Arduino к устройству на примере игрального кубика

Затем выводим выходы колонок, просто берём рядом стоящие пины I/O, затем в программе можно просто переназначить их как будет удобно.

Переход от прототипа Arduino к устройству на примере игрального кубика

Тоже самое сделаем с выводами колонок, не забыв в разрыв поставить ULN2803. Также мы пропускаем вывод reset, его использовать в стандартном исполнении нельзя. Можно конечно, использовать его на выход, если отключить соответствующий фьюз-бит, но тогда вам придётся использовать высоковольтный программатор, и usbasp уже не поможет.

Смотрите также:  Новые глаза для робота 16х16 пикселей
Переход от прототипа Arduino к устройству на примере игрального кубика

Так как места на плате нет, чтобы сделать полноценный разъём SPI под USBASP, то будем использовать пятачки для программирования, куда припаяем обычные провода.

Переход от прототипа Arduino к устройству на примере игрального кубика

Также нам нужно впаять модуль датчика ky-020. Возможно можно найти сам сенсор отдельно, но у меня его не было. Для этого сделаны три отверстия снизу, согласно распиновке датчика

Переход от прототипа Arduino к устройству на примере игрального кубика

Осталось дело за малым — сделать плату и запаять компоненты

Переход от прототипа Arduino к устройству на примере игрального кубика

Корпус нарисовали в solid works 3d. Подогнали под размер индикатора, размер платы, высоту датчика Ky-020 и чтобы батарейка формата AA/2 влезла. Получилось 4х4х4см

Переход от прототипа Arduino к устройству на примере игрального кубика

Распечатан на 3д принтере

Переход от прототипа Arduino к устройству на примере игрального кубика

Потом пришлось немного поработать напильником, потому-что шаг 3д принтера не позволяет получить идеальное окно для индикатора

Переход от прототипа Arduino к устройству на примере игрального кубика

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

Переход от прототипа Arduino к устройству на примере игрального кубика

Теперь нужно не забыть, что по сравнению с прототипом, у нас поменялись выводы микроконтроллера. Для этого мы ещё раз обращаемся к распиновке Arduino Uno/Nano, смотря на чём мы делали прототип

Смотрите также:  Аудиосистема для робота
Переход от прототипа Arduino к устройству на примере игрального кубика

Например реальный пин PB5, в DipTrace, который мы использовали под первую колонку светодиодной матрице — будет соответствовать 13 пину ардуино, на языке wiring. Тоже самое проделываем с остальными выводами.

#define col1 13       // Колонки
#define col2 12
#define col3 11
#define col4 10
#define col5 9
#define col6 8
#define col7 7
#define col8 6

#define row1 3        // Ряды
#define row2 2
#define row3 1
#define row4 0
#define row5 A5
#define row6 A4
#define row7 A3
#define row8 A2

Ну что, осталось подключить плату к программатору и проверить уже, правильно ли мы всё сделали — прошиваем fuse на внутреннюю RC цепочку на 8 МГЦ, компилируем прошивку под эту же частоту, и программируем нашу плату. Индикатор загорелся — значит всё сделали правильно!

Переход от прототипа Arduino к устройству на примере игрального кубика

Для питания устройства я выбрал батарейку 1/2AA, это порезанная на пополам AA пальчиковая батарейка, её размеры позволяли вместить в этот небольшой корпус. Единственное, пока я не нашёл держатель для такой батарейки, и провода временно смотал изолентой. Устройство работает стабильно

Переход от прототипа Arduino к устройству на примере игрального кубика

Кому интересно повторить — принципиальная схема, 3д файл корпуса, печатная плата и код, лежит в папке на гитхаб.

Переход от прототипа Arduino к устройству на примере игрального кубика