Калибровка ACS712, часть первая

Raspberry Pi Logo

Итак, я все-таки погорячился, когда утверждал, что питания 3,3 В будет достаточно для работы датчика Холла в ACS712. После нескольких попыток подключения как в цепь постоянного, так и переменного тока, убедился, что на выходе датчика — случайный шум, никак не коррелирующий с величиной тока, замеряемой мультиметром.

Читать далее «Калибровка ACS712, часть первая»

Измеряем ток потребления с помощью Raspberry Pi Pico и ACS712

Raspberry Pi Logo

Я тут выяснил, что датчик Холла ACS712 прекрасно работает с напряжением питания 3,3 В, хотя в документации указано, что он предназначен для работы с напряжением питания в 5 В. Но, видимо, придется перекалибровать.

Raspberry Pi Pico + ACS712

Raspberry Pi Pico (RP2040) отличается от обычной Raspberry Pi наличием встроенных АЦП, пусть и всего лишь 12-разрядных: ADC0, ADC1 и ADC2. Они доступны на выводах 31, 32 и 34, соответственно, инициализируются как GP26, 27 и 28. В примере ниже используется ADC2, который инициализируется командой machine.ADC(28) — как GP28. Код — под катом.

Читать далее «Измеряем ток потребления с помощью Raspberry Pi Pico и ACS712»

Как НЕ надо делать прерывания на 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 и демонстратор простого текстового меню»