Как НЕ надо делать прерывания на Arduino

Графический интерфейс, испорченный некорректным обработчиком прерывания

Ура, Troyka Slot Shield позволяет подключить Troyka OLED к цифровым выводам (6 и 7, согласно распиновке), а, значит, наконец-то я смог реализовать вызов прерываний. Но, как оказалось, все не так просто, как пишут в документации на форуме Arduino. Спойлер: если в функции-обработчике прерываний вызвать любую другую функцию, задействующую системные прерывания (в том числе, кстати, и замер миллисекунд, millis(), как рекомендуется в документации Arduino) — то результат будет примерно вот таким:

А вот как на самом деле это должно было работать:

Под катом — подробное объяснение.

Читать далее «Как НЕ надо делать прерывания на Arduino»

Тест-драйв Uno Slot + Troyka OLED и демонстратор простого текстового меню

Dislaimer: я решился выпустить этот текст по двум причинам: во-первых, техническая документация, доступная на сайте Амперки, скажем так, не полна, и чтобы начать работать с модулями «из коробки» нужно изрядное время порыться в документации используемых в них комплектующих (об этом чуть ниже), что, скажем прямо, совсем не user-friendly. Во-вторых, сайт, на который Амперка отправляет в случае возникновения вопросов – это сайт для задавания вопросов, готовых ответов вы там не найдете. Когда я ничтоже сумняшеся поделился там с народом найденным мною решением, казалось бы, очевидной проблемы – как заставить работать встроенные в Troyka OLED кнопки – мне русским по белому было сказано «иди-ка ты, мальчик, отсюда». А поделиться опытом таки хотелось.
Итак, друзья. Была у меня задачка – слепить быстро демонстратор некоего портативного устройства с ЖК-дисплеем и парой кнопок. А тут как раз Амперка объявила о начале продаж Troyka OLED-модуля, который, казалось бы, идеально подходит для решения этой задачи – ну и в нагрузку к нему я докупил Uno Slot, чтобы не мучаться с шилдами для уже имеющегося у меня арсенала Arduino-плат.

Модуль Troyka OLED, установленный на плату Uno Slot

Читать далее «Тест-драйв Uno Slot + Troyka OLED и демонстратор простого текстового меню»