Получив обратную связь от родителей детей дошкольного возраста, доработал индикатор угла наклона балансборда. Реализованы следующие функции:

1.     Приветственная анимация при включении

2.     Автономная работа от аккумуляторов

3.     Спящий режим

4.     Два режима динамической индикации

5.     Жесткая фиксация MPU-6050 на горячий клей

Большинство отзывов о первом варианте исполнения индикатора были связаны с питанием. Родители детей в возрасте 2...5 лет переживают, что провод питания будет мешать ребенку, опасен, быстро сломается: «ребенок его просто вырвет». Поэтому первой задачей было перевести систему на автономное питание. Что и было сделано.

Модернизированная система питается от 4 аккумуляторов АА, суммарное напряжение 5,4 В. Для того, чтобы центр масс располагался посередине, аккумуляторы разнесены на обе стороны корпуса по 2 шт. MPU питается от выхода 3,3 В Arduino.

Вид корпуса сверху а) - левая часть; б) - правая часть
Вид корпуса сверху а) - левая часть; б) - правая часть

Для экономии заряда аккумуляторов реализован энергосберегающий режим. При отсутствии движения (точность 0.1 рад) в течение 20 секунд, контроллер отключает ленту, MPU и переходит в глубокий спящий режим. В этом режиме работает только сторожевой таймер (watchdog timer) и внешние прерывания. Выход из спящего режима происходит как раз по внешнему прерыванию с кнопки D3.

При выходе из спящего режима происходит приветственная анимация. Она же демонстрируется и при первом включении системы. На анимации светодиоды загораются последовательно начиная с двух зеленых в центре и заканчивая всей лентой с красным цветом по краям.

Режим индикации №2, доска максимально наклонена в правую сторону
Режим индикации №2, доска максимально наклонена в правую сторону

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

Отслеживание режима бездействия реализовано следующим образом:

void checkActivity(float currentPitch) {
  // Проверяем изменение угла наклона
  if (abs(currentPitch - lastPitchValue) > MOTION_THRESHOLD) {
    lastPitchValue = currentPitch;
    lastActivityTime = millis();  // Обновляем время последней активности
  }

  // Проверяем таймаут бездействия
  if (!powerSaveMode && (millis() - lastActivityTime > INACTIVITY_TIMEOUT)) {
    enterPowerSaveMode();
  }
}

Для стабильной работы системы датчик MPU-6050 жестко зафиксирован в корпусе с помощью двух винтов М3 и горячего клея.

Датчик MPU-6050 жёстко зафиксирован горячим клеем
Датчик MPU-6050 жёстко зафиксирован горячим клеем

По моей субъективной оценке, для детей постарше (4+ года) лучше подойдёт вариант с питанием от сети (или пауэрбанка). В этом возрасте дети уже более осознаны и могут заниматься на тренажере аккуратно. При этом не нужно заморачиваться с частой сменой аккумуляторов. Всё-таки светодиодная лента потребляет на 5В ток до 2А. В системе, работающей на аккумуляторах, сделал яркость 25%. При ёмкости аккумуляторной батареи из 4*АА, равной 2100 мАч, одного заряда хватает на 4 часа активной работы (без учета спящего режима).

Для доски с питанием от сети режим энергосбережения реализован простым отключением светодиодной ленты при отсутствии движения. Фактически это не спящий режим, просто отключение ленты. Задача максимально экономить энергию, потребляемую из сети, в этом случае не является актуальной. Зато можно эффектно реализовать выход из режима энергосбережения – включать ленту при наличии движения. Такой вариант тоже реализован и подробно описан на видео.

Видео работы системы

Комментарии (6)


  1. Dhwtj
    02.06.2025 05:25

    Зачем вообще эта доска?

    Купил, но так и не понял

    Когда ребенок забирается на нос лошадки-качалки и пытается шваброй сбить муху с потолка равновесие в порядке, верно?


    1. randomsimplenumber
      02.06.2025 05:25

      Купил, но так и не понял

      mission complete :)


    1. TimAlexs
      02.06.2025 05:25

      Купить одну только доску - это только начало.
      Продолжаем:
      1) меняем угол ножек - сложнее стоять,
      2) добавляем счёт или рассказ стихотворений,
      3) добавляем метание шариков, мячиков, мешочков с песком в корзину или коробку,
      4) и самое сложное - жонглирование предметами на доске.. )
      Данные занятия развивают не только равновесие, развивает полушария мозга. Развивает баланс между отдельными отделами мозга.


      1. Dhwtj
        02.06.2025 05:25

        Попробуем


  1. avost
    02.06.2025 05:25

    А почему направление перемещения свечения свотодиодов было выбрано противоположно естественному у пузырькового уровня?


    1. roach1967
      02.06.2025 05:25

      Видимо, что за естественный принято поведение лужи жидкости в тарелке.