Arduino — друг подростка 1

В процессе уроков программирования нам надоело заниматься всякими веб-ориентированным www.codecademy.com и khanacademy.org, а на алгоритмическом codingame.com Гордею пока доступны только задачки самого младшего уровня, и то не все. Поэтому на день рождения мы решили подарить мальчику конструктор Arduino для полноприводного дрон-автомобиля. Заказали всё это на ebay и получили спустя месяц.

На этот раз мальчик не плакал так горько, как в тот раз, когда мы подарили ему гитару, но и собственного энтузиазма было не сильно больше чем обычно.

В наборе, который мы купили, помимо собственно платы Arduino была еще куча разных датчиков и девайсов: ИК приемник и передатчик, датчик уровня громкости, ультразвуковой сенсор, пищалки, куча светодиодов и проводов.

В комплекте идет также специальная доска для сборки проектов “breadboard” которая позволяет очень удобно без пайки собирать разные схемы прямо на столе.

Сначала мы выполнили всякие базовые упражнения: помигали светодиодом с разной интенсивностью и частотой, заставили светодиод мигать в ответ на звук и даже на команду с инфракрасного пульта.

Это позволило разобраться с основами устройства микрокомпьютера Arduino, IDE для прошивки, и привыкнуть к новому языку (там используется C).

Гордею совершенно пофиг на каком языке писать (javascript, C, (!) html — мы устали ему объяснять, что последнее это не язык программирования), он довольно неплохо может сделать что-то по аналогии, но фундаментальных знаний у него, конечно, не появляется, надеюсь, что он хотя бы абстрактно-алгоритмически мыслить учится, хотя и в этом появляются сомнения, когда мы видим, как он пытается решить задачу примерно как machine learning алгоритм, внося в неработающий код случайные правки.

Венцом наших настольных проектов стал обратный парктроник, который показывал расстояние до предмета на простенькой светодиодной шкале и начинал пищать, когда шкала заканчивалась. Это уже была наработка технологии для робо-машинки, конечно. Вот тут в инстагарме Гордея есть видео.

Мы планировали сделать еще несколько проектов с “умным домом”, поскольку в нашем конструкторе пришло одно управляемое реле, например, включение/выключение света ИК пультом или хлопком ладони. Но в итоге подсоединяться к домашней 220В сети я пока так и не решился. И мы переключились на собственно робо-автомобиль.

Сначала пришлось немного поработать инженерами, чтобы придумать как лучше собрать присланный китайцами конструктор. (В итоге, конечно, все пришлось разбирать и собирать заново, потому что мы забыли удалить монтажную пленку с деталей).

И даже немного поработать паяльником, чтобы собрать цепь управления моторами.

Первая версия робота, конечно, не отличалась особой интеллектуальностью, зато была очень позитивной: она просто всегда ехала вперед.

Попытки поиграться с написанием алгоритма действий для машинки, чтобы она ездила по статическому маршруту в квартире без использования датчиков успехом не увенчались: к сожалению, моторы ведут себя не очень стабильно и при одних и тех же управляющих сигналах фактический угол поворота может отличаться процентов на 20.
Вот тут можно посмотреть онборд-запись с этого этапа экспериментов.

Пришлось переключиться на довольно простой ситуативный алгоритм и добавить машинке ультразвуковой датчик на передний бампер. Теперь она научилась останавливаться перед препятствием.

А затем и вовсе — отворачивать от него. То есть, фактически, бессмысленно метаться по квартире пока батарейки не сядут или дети плату не оторвут. :)

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

Дальнейшие эксперименты пока приостановлены, так как робот на полном ходу очень быстро ест дорогие 9V батарейки, ждем из Китая мощных аккумуляторов. Пока начали экспериментировать с управлением джойстиком. Заставить робот поворачивать если у тебя есть возможность управлять только мощностью двигателей не так то просто.

Скоро придут еще дорогущие датчики скорости колес, которые, надеюсь, позволят нам точнее контролировать движения робота.
Тогда и напишем продолжение, а пока — всё.

One comment on “Arduino — друг подростка

  1. Reply Оля Jul 4,2016 23:10

    Какие же вы умные, слов нет! Просто другой мир

Leave a Reply