Создаем интерфейс для детской микроволновки из IKEA на Ардуино

В известном на весь мир магазине IKEA продается много интересных предметов для взрослых и детей. Сегодня мы поговорим о том, как можно с помощью Ардуино улучшить микроволновую печь от IKEA Duktig Kids. Мы не простArdо улучшим данную микроволновку, а придадим ей полную реалистичность.

Но сначала давайте посмотрим то, что мы хотим получить в итоге, очень классно:

Шаг 1. Комплектующие

Нам понадобится несколько деталей для реализации микроволновой печи:

ДетальКол-во
14-значный 7-сегментный дисплей1
2Вращающийся энкодер с кнопкой1
327-миллиметровый динамик1
4Резистор 3,3 кОм3
5Резистор 27 Ом1
6Резистор 56 Ом1
7Резистор 100 Ом1
8Транзистор NPN общего назначения1
9Arduino Nano R31

Также вам может понадобиться 3D-принтер. Но это необязательно, некоторые детали всегда можно сделать из дерева и покрасить их.

Родители часто покупают детям какие-то реальные аналоги вещей из взрослого мира, например кухню Duktig из ИКЕА. Многие разрисовывают и добавляют к таким вещам новые детали, но мы хотели пойти немного далее и добавить рабочую микроволновую панель.

Дети одержимы нажатием кнопок и поворотными ручками. За основу мы взяли микроволновую печь, которую можно контролировать с помощью одной большой ручки. Мы заказали 4-значный 7-сегментный дисплей, поворотный кодер и алюминиевую ручку, которые собрали с Arduino Nano.

Вращающиеся энкодеры

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

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

Дисплей

Четырехзначный семисегментный дисплей имеет встроенный чип для драйверов, что означает, что нам нужно всего два вывода для управления: clock и data. Опять же, есть удобная библиотека, которая занимается передачей данных на плату.

Светодиоды

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

Динамик

Мы добавили дешевый 8-омный стикер, который работает напрямую от одного из цифровых выходов Arduino. Существует библиотека тонов, которая поворачивает GPIO в ON и OFF достаточно быстро, чтобы создать тон.

Режим экономии энергии

Этот микроволновый контроллер должен работать от батареи. Контроллер должен отключаться и включаться. К счастью, Arduino Nano поддерживает режим сна, который уменьшает потребление энергии. После чего Nano может быть разбужен импульсом на 2 или 3 контакте.

Подавая сигнал от поворотного датчика и переключателя на эти контакты, любое вращение нажатия кнопки пробуждает процессор.

Шаг 2. Схема проекта

Теперь переходим с схеме нашего проекта и к итоговому виду нашей макетной платы.

Шаг 3. Код

Вы можете скачать или скопировать код для нашего проекта ниже:

Цикл

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

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

Если таймер работает и светодиод выключен, мы включаем его (и наоборот).

Если таймер работает, переменная автоматически уменьшается каждые 1000 миллисекунд.

Если переменная равна 0, таймер останавливается и подается звуковой сигнал. (Светодиоды также погаснут)

Процедура отображения на дисплее вызывается каждые 500 мс. Почему каждую половину секунды? Таким образом, мы можем мигать точкой, чтобы показать, что таймер работает!

Заключение

Во время тестирования стало понятно, что на Ардуино и на дисплее остались включенные светодиоды, независимо от того, спал Ардуино или нет. Мы измерили мощность в этот момент и увидели около 15 мА. Батарея AA имеет емкость около 2400 мАч, что хватит на 160 часов или 6 дней. Ясно, что это слишком.

Мы удалили светодиоды, и это привело к снижению до 2 мА, что дает 1200 часов или 50 дней. Лучше, но не идеально. К сожалению, Nano не очень хорош как устройство с более низким энергопотреблением.

Мы также заказали повышающий преобразователь, поэтому мы можем запустить плату от двух батарей с эффективностью 95%, а не с четырьмя (на данный момент), поэтому можно просто использовать пару C-накопителей с пропускной способностью 8000 мАч (хватит почти на полгода).

На этом пока всё! Хороших вам проектов.

Ардуино+
Больше интересного ↓