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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Гордею 12 2

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

Во второй четверти у него всего одна четверка — по русскому, остальные — пятерки. В начале года серьезные опасения вызывал английский — вступительный тест Гордей написал плохо (в отличие от русского и математики, по которым претензий не было совсем). Потом в школе мне говорили, что без дополнительных занятий с преподавателем из школы дела не будет. Тут у меня, конечно, взыграл дух противоречия :), я решила любыми способами дотянуть English до нужного уровня без посторонней помощи и лишних финансовых вложений.
Школа у нас с углубленным изучением языка (английский, кажется, есть каждый день) и большинство одноклассников или учатся так уже несколько лет, или успели пожить в англоязычных странах. Гордей же предыдущие два года ходил в обычную сельскую школу, где было два урока в неделю и д/з не задавали. Первый и второй класс прошли в двух других школах, но и там не особенно напрягали.

Правда мы заставляли (и заставляем) его заниматься на разных сайтах, например, lingualeo.com и duolingo.com, что позволило всё же иметь какой-то задел. Ежедневная муштра (зубрежка и проверка д/з, занятия онлайн, порка) последние полгода тоже не прошла зря и перед новым годом мы таки увидели в конце дневника вожделенную пятерку. Теперь главное не расслабляться.
С математикой у мальчика всё неплохо. Играть на компьютере ему разрешено только после того, как будут сделаны задания на разных образовательных сайтах (Khan Academy, IXL, Меташкола).
Программирование тоже продвигается неплохо (Coding Game, Codecademy.com), в основном этим занимается Андрей, но и папа периодически подключается к процессу по скайпу. Учим пока javascript, осваиваем HTML. На день рождения мальчик получил Arduino, так что готовимся погрузиться в C++.
С гитарой всё плохо — черногорский учитель в музыкальной школе часть уроков прогуливает, другую часть прогуливает Гордей (от неогранизованности, а не от отсутствия желания). На сольфеджио ходить не получается, т.к. уроки в общеобразовательной школе заканчиваю позже, чем начинаются в музыкальной. За полгода прогресса почти нет, зато выучился (из-под палки) играть “Звезду по имени Солнце” :).
Спортом отдельно не занимается (т.к. у нас руки не доходят, а сам ленится), но ездит в школу и из школы на велосипеде. Это минут 30-35 в одну сторону, частично в горку, так что нагрузка неплохая.
Как и любой подросток, может приврать. В последнее время, правда, понял, что за вранье достается больше чем за косяки, и начал честно говорить, что что-то не сделал или сделал хреново, т.к. ему было лень. Не знаю, как жить с такой правдой :).
Напоследок фотография нашего мальчика с папой. Папа молодец — где бы мы (и он) ни жили, приезжает каждый год на день рождения сына.

Семейная фотография на память о двенадцатилетии.

Ну и тортик для привлечения внимания.