Амперка corporate blog
May 2015 15

Как мы придумывали конструктор для детской робототехники. #2

Привет, Хабр!

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




Проблема #1. Конструктивные элементы


Уже около года мы делаем забавные гаджеты из разных электронных полуфабрикатов.
Это может быть катер для кормления уток, система автополива цветка или странная штука, вроде RFID-магнитофона «Becha».
Результатом этой работы становится сам гаджет, видеообзор и wiki-статья. В статье описан процесс сборки устройства и идеи для его развития. Ну и исходный код заодно. В общем, стараемся сделать полноценную инструкцию для сборки, чтобы повторение устройства вызвало как можно меньше затруднений у начинающего киберсамодельщика.

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

Во время изготовления устройства, с электронной частью и кодом обычно всё более-менее понятно. А вот изобретение самой конструкции это всегда прыжок в неизвестность. Тут в ход идут все заветы Андрея Александровича Бахметьева, рубрика «С миру по нитке» журнала «Моделист конструктор» и советы отцов. Камни, ножницы, бумага, картон, канцтовары, клей, пластиковые бутылки — всё, что можно найти под рукой. Или «раздобыть».

Ясное дело, не каждый желающий повторить проект захочет «раздобыть» необходимые при постройке «спички и жёлуди». Особенно, когда мы впадаем в кураж. Апофеозом конструкторского безумия был случай, когда мы под такой проект всерьёз рассматривали покупку старой «Копейки». В итоге отпустило — сделали другой проект.

Для примера, небольшой список проектов с использованными подручными средствами
  • Бутылочный Bluetooth-катер для кормления уточек

    Состав — пластиковые бутылки от минералки, кусок толстого медного провода;
  • MIDI-контроллер «Шарманка»

    Состав — малярный валик, ролик для чистки одежды, картонная коробка;
  • Ночной мониторинг доступности сайтов

    Состав — лист картона, файлик для документов, картонная коробка;
  • Фотобудка для кота

    Состав — несколько бухгалтерских папок, пластиковый хомут, фантик, двусторонний скотч, кот;


Чаще всего нам нужен просто корпус. Обычно корпус изготавливается из картонных коробок от «Матрёшки», которых у нас завались.

Длина цикла разработки — две недели. В эти две недели входит придумывание устройства, разработка электрической схемы, разработка конструктива, написание кода, отладка, съёмка видеоролика и написание wiki-статьи.
А иногда...
Во время разработки устройства с Lily Pad мы прошляпили все сроки на месяц. За это время было истрачено куча токопроводящих ниток, разработан метод шитья легко рвущейся токопроводящей нитью на бабушкином «Зингере», разработан метод изготовления «двусторонней платы» на ткани, изготовлена специальная lily-like плата с двумя 74HC595 для увеличения количества выходов. Побочно был разработан метод экстренного выхода из депрессии. Мы пытались создать футболку со встроенным тетрисом. И, не смотря на героические усилия, тетрис так и не вышел. Ну не предназначен Lily Pad для чего-то хоть немного серьёзного (например, динамической индикации массива светодиодов). В итоге, устав бороться с несколькими десятками коротких и полукоротких замыканий от неизбежно пушащейся токопроводящей нити, мы на всё плюнули и сделали то, что сделали. Не пытайтесь повторить это дома!

Часто вся техническая часть делается одним человеком, который параллельно занимается ещё и техподдержкой. Очень часто времени едва хватает. И слишком большую часть времени занимает изготовление конструкции.

Проблема #2. Проводочки


Успеваем мы всё спроектировать и собрать в основном благодаря использованию Troyka-модулей. Это специальные платки выполняющие одну простую функцию. Они подключаются 3-проводными шлейфами к Arduino при помощи Troyka Shield. Взяли готовые модули, подключили к Arduino — схема готова, пишем код.

Лицехват обыкновенный

Если чего-то нет в виде троек, тут уже в ход идёт мини-макетка и одиночные проводочки. Пайку стараемся не использовать.

Если проводочков много и они располагаются в небольшом объёме, то образуется «джигурда» (термин для внутреннего использования). При использовании трёх модулей улыбка «джигурды» уже парит в воздухе. Если количество модулей ещё увеличивать, «джигурда» быстро проявляется до кончика хвоста и громогласно заявляет о себе стихами. За свою практику в роли разработчика таких девайсов, видал я как «джигурду» без улыбки, так и улыбку без «джигурды».

При появлении «джигурды» сильно страдает внешний вид устройства. Иногда торчащие из разных мест провода легко случайно выдернуть из гнезда, а потом натужно искать — куда же этот провод шёл? В таких случаях просто необходимо как-то «причесать джигурду».

Конструктор спешит на помощь


Небольшое отступление
Нужно отметить, что troyka-модули имеют унифицированные размеры одного юнита — 2,54×2,54 см. Если функциональная часть не влезает на площадку такого размера, то модуль проектируется размером в два юнита. Благодаря этому модули удобно соединять в целые панели.
Когда я чертил первые детали конструктора, на всякий случай нарисовал и специальные детальки для крепления одного и двух troyka-модулей.



Конкретного применения для робота я им придумать ещё не мог. Но подумал — пусть будут. Уже потом, во время отладки езды по линии, одно применение таки нашлось — с помощью модуля-потенциометра было очень удобно настраивать коэффициенты PID-регулятора.



Антенна как у Бендера из Футурамы!


В самом начале работы над конструктором, генеральный Михаил сказал, что если из конструктора нельзя собрать кубик, то это не конструктор. Ну мы и собрали кубик. Назвали его «Пломбирка» и забыли. С тех пор этот кубик тихо мирно стоял на столе и ждал своего часа. Две недели назад мы ломали голову над конструктивом для очередного проекта. Кирилл в раздумьях крутил кубик в руках. И тут нас озарило — «Да у нас же теперь есть конструктор!». Ну и решили забабахать корпус прямо из «Пломбирки». Получилось чудненько!

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

Инструкция для сборки.

Благодаря конструктору мы существенно сократили время на изготовление устройства, а вся «джигурда» была упакована в небольшой объём и не отсвечивала оттуда. Конструкция получилась небольшой, аккуратной и симпатичной. Эта штука так нам понравилась, что мы решили завернуть все составляющие в красивую коробку, да так и поставить на полку.
Что на полке

Подарок для дочки


Как-то раз, уже после съёмки этого ролика я сидел и, как всегда, пилил робота. До конца рабочего дня оставалось минут 20. Я подумал, что как-то давно не баловал свою двухлетнюю дочку подарками.
У неё буквально недавно начался кризис двух лет. Это всем известное подростковое «МЕНЯ НИКТО НЕ ПОНИМАЕТ!!11», но только в два года и без большинства согласных букв. Поэтому она иногда любит покричать. Мы с женой придумали простой способ противодействия — начинаем хором, улыбаясь, кричать в ответ: «ААААА!». Дочка смеется — конфликт исчерпан.
Тут мой взгляд упал на наш кубик, и в голову пришла идея: «А что если собрать игрушку, в которую нужно кричать во время игры»?

  1. Быстро взял с полки датчик шума и белый сверхъядерный светодиод.
  2. Воткнул Troyka Shield в Arduino. В шилд воткнул датчики:

    На отрисовку этой схемы я потратил больше времени, чем на сборку и программирование кубика

  3. Написал простейший код, чтобы светодиод загорался при превышении уровня сигнала с микрофона.
    Код не заслуживает особого внимания, но для порядку привожу
    // Пломбирка-кричалка
    #define LED_PIN 10
    #define MICROPHONE_PIN A5
    
    void setup() {
      pinMode(LED_PIN, OUTPUT);
      Serial.begin(9600);
    }
    
    void loop() {
      
      unsigned int val = 0;
    
      for (int i = 0; i < 4; ++i)
      {
        val += analogRead(MICROPHONE_PIN);
      }
      val >>= 2;
    
      if (val > 700)
      {
        analogWrite(LED_PIN, map(analogRead(MICROPHONE_PIN), 0, 1023, 0, 255));
      }
      else
        analogWrite(LED_PIN, 0);
      Serial.println(analogRead(MICROPHONE_PIN));
    }
    


    Уровень сигнала, при котором срабатывает светодиод я поставил от балды. Нужный уровень потом настроил встроенным в модуль потенциометром уже непосредственно под голосящую дочку.
  4. Завернул это всё в «Пломбирку»:

    Вот так собирается кубик. К сожалению, 3D-модели модулей и Arduino отсутствуют

  5. Вот, собственно, и всё. Весь процесс занял около 20 минут. Кинул в рюкзак и пошёл домой наслаждаться результатом:

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

Универсальность кубика


Да, все мы любим посидеть и поковыряться с разработкой электрических схем под ЛУТ, с отладкой интересных алгоритмов, с проектированием красивых корпусов для лазерной резки из оргстекла или фанеры. Ну или из стеклотекстолита — кому как.
Но иногда хочется по-быстрому забабахать какую-нибудь простенькую мелочь. В этом случае Arduino, Troyka Shield и Troyka-модули — это хороший выход из ситуации. А если добавить к этому конструктор, то и «джигурда» не пройдёт. Да и ребёнку в руки можно дать, не боясь немедленного разрушения электрической схемы.

И вот тут мне приходят в голову мысли об универсальности получившегося кубика. В принципе, если взять какой-то набор из различных Troyka-модулей, Arduino и «пломбирку», можно очень быстро собрать устройство под конкретную задачу. А задач таких может быть масса.

Захотел собрать термостат? Пожалуйста! Берёшь модуль с термометром и модуль с реле, упаковываешь в пломбирку — получаешь конфетку. Захотел, например, собрать… эээ… хм… Что-то тут меня покинула муза. Ладно, давайте сделаем так — предложите до 4-х юнитов тройка-модулей и идею для устройства с ними. Если идея понравится большинству — к вам поедет коробочный технокуб с «пломбиркой» и предложенные вами модули. Через недельку напишу к кому уйдёт посылка. Чтобы не превращать всё в пост добра, пожалуй, буду добавлять все идеи в опрос.

P.S. Если интересно посмотреть, чего мы такого изобретём через две недели, подписывайтесь на наш youtube-канал AmperkaRu

UPD Вот и пятница пришла. Пора итоги подводить.
Конкурс был совсем не конкурсом, а просто моим не продуманным экспромтом. Поэтому, что получилось, то получилось. Постараюсь учесть все пожелания, и впредь к экспромтам относится более ответственно.

Ну а кубик отправляется к nemilya.
Так же я не мог оставаться безразличным к идеям AlNinyo и ivansimonov. Поэтому мы решили отправить в путешествие ещё два кубика.
Всем спасибо за участие и отличные идеи!

P.P.S. Сегодня в инстаграме наткнулся на фото кубика, который уже несёт службу в Лаборатории Касперского. Такие вещи всегда приятно наблюдать. Надеюсь, кубик будет предупреждать их об обнаружении угроз.
Идеи для пломбирки (к кому уедет Технокуб с доп. модулями)
32.7% Датчик освещённости + светодиод = автоматический ночник от nemilya 19
10.3% Датчик наклона + два разноцветных светодиода = индикатор перевёрнутости от dvserg 6
5.1% Кнопка+2 светодиода+динамик = музыкальная шкатулка от AlNinyo 3
25.8% ИК-приёмник + 3 светодиода = управляемый любым пультом ДУ ночник от AlNinyo 15
8.6% Пищалка+датчик наклона+красный и зелёный светодиод=кубик предсказаний от AlNinyo 5
0% Датчик наклона+пищалка+(опционально светодиоды) = смеющийся кубик от ivansimonov 0
5.1% датчик освещённости + светодиод+четырёхразрядный индикатор = одометр/спидометр для хомяка в колесе от ivansimonov 3
3.4% Датчик освещённости + dc-мотор = виброкуб, боящийся света от ivansimonov 2
5.1% Потенциометр+дисплей+зуммер = кухонный таймер от and7ey 3
0% Пищалка + четырёхразрядный индикатор + потенциометр = кубик метроном от ivansimonov 0
0% R+G+B светодиоды + датчик громкости = Угадай случайный цвет от ivansimonov 0
0% Светодиод + кнопка + четырёхразрядный индикатор = измеритель скорости реакции от ivansimonov 0
1.7% Датчик отсвщённости + пищалка + светодиод = мишень для лазерной указки от ivansimonov 1
1.7% 2 кнопки+четырехразрядный индикатор = шахматные часы от ivansimonov 1
58 users voted. 30 users abstained.
+13
19.6k 82
Comments 65
Top of the day