Умная автоматическая кормушка для питомца на базе Arduino – ШАГ 1

В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.

Хочу сразу отметить, что на первом шаге речь пойдет только об «автоматической» кормушке, а «умной» она станет на следующих этапах (если повезет, и все пойдет по плану).

Итак, начнем с концепции и целей:

  1. Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)
  2. Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)
  3. Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)

На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.

Читать дальше →

Программирование МК AVR на языке assembler в среде Linux

Введение

Ни для кого не секрет, что микроконтроллеры семейства AVR прочно вошли в практику домашних поделок. Кроме того, уже несколько лет наблюдается массовое (на грани эпидемии) увлечение отладочными платами типа Arduino, построенными на базе все тех же AVR. Не буду судить, хорошо это или плохо, ибо статей на эту тему на ресурсе более чем достаточно. Хочу уберечь и моего читателя от споров на тему «что такое Arduino и хорошо это или плохо». Статья не об этом.

Рано или поздно для любого «ардуиньщика» (при условии что он хочет выйти на более высокий профессиональный уровень) наступает момент когда в рамках платформы Arduino ему становится тесно и он начинает задумываться о том а что же в действительности происходит под капотом. И ответы на все его вопросы уже есть, например в виде замечательного курса «AVR. Учебный курс» от глубокоуважаемого DIHALT. Если вы пользователь OS Windows, то и недостатка в инструментах разработки у вас не будет, достаточно бесплатной Atmel Studio, закрывающей все вопросы разработки ПО для МК AVR.

Хоть я и тимлид в коллективе разработчиков ПО прикладного уровня, вопросы «железа» которое в нашей конторе делается на базе AVR с недавних пор стали интересовать меня очень остро. Возникло желание хорошо разобраться во всех аспектах разработки ПО для МК. И так как я являюсь убежденным приверженцем использования в разработке OS на базе ядра Linux, меня заинтересовал вопрос, а как там в линуксах: можно/нельзя ли писать и отлаживать ПО, зашивать его в кристалл с тем же (или примерно тем же) уровнем удобства, который нам доступен в Windows. Тех кого тоже интересует этот вопрос, и в особенности тех, кому тема поста кажется надуманной, приглашаю под кат.
Читать дальше →