Эксперименты с Arduino

В начале января я впервые взял в руки Arduino (очень дешёвый микрокомпьютер, у которого есть 14 цифровых входов/выходов и 6 аналоговых входов) и за пару часов научился управлять шаговым двигателем (http://ammo1.livejournal.com/808639.html). Для дальнейших экспериментов мне были нужны индикаторы и датчики освещённости, поэтому они были заказаны на Aliexpress, а эксперименты отложены. На прошлой неделе пришла последняя посылка с тем, что было заказано, и весь вчерашний день я посвятил экспериментам и изучению языка программирования Arduino.

Модуль двухстрочного экрана и клавиатуры LCD Keypad Shield за $2.60 ставится вторым этажом на плату Arduino Uno и втыкается в её разъёмы.

С одной стороны — очень просто, с другой — доступа к портам после установки платы больше нет. Можно подпаять контакты, чтобы они торчали уже из модуля экрана, а можно весь модуль подключить к плате Arduino проводами.

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

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

Ещё я купил четырёхкнопочную мембранную клавиатуру за $0.53 и четырёхразрядный индикатор за $1.4.

Индикатор довольно бестолковый — у него нет «мозгов», а индикация динамическая. Это означает, что для того, чтобы он работал, на него нужно непрерывно отправлять данные. Оказалось, что это не стандартный компонент Arduino, а чисто китайское поделие. Для него есть библиотека, написанная каким-то энтузиастом, но работает это всё неудобно. Впрочем, может и пригодится.

На самом деле оказалось, что без индикаторов и дисплеев можно обойтись — Arduino умеет выводить данные на экран компьютера через свой USB-интерфейс. Для экспериментов это даже удобней.

Я решил для начала сделать на базе Arduino пульсметр — прибор, измеряющий пульсацию света. Для этого было куплено четыре разных датчика света.

1. Датчик с фоторезистором за $0.4.
2. Датчик с фотодиодом за $0.6.

Уже заказав их, я осознал, что это не то, что мне нужно. Они предназначены для автоматического включения освещения в тёмное время суток и просто выдают единицу на цифровой выход, когда уровень освещённости становится меньше порогового.

3. Датчик с фоторезистором, имеющий аналоговый выход за $0.9. На самом деле это то же самое, что и первый датчик, просто прямо к ножке фоторезистора подключен ещё один выход. Я сделал точно такой же выход на втором датчике, подпаяв к нему жёлтый провод.

4. Хитрый датчик с двумя фотодиодами и двумя АЦП за $1.75. Его пока ещё не включал. Он не годится для измерения пульсации, так как выдаёт в цифре значение освещённости и делает это относительно медленно, но для гониофотометра (прибора, измеряющего угол освещения и световой поток) он скорее всего подойдёт лучше всего.

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

p.s. Ищу «самоделкиных» и знатоков Arduino, готовых помочь с реализацией нескольких технических идей для lamptest.ru: простой гониофотометр из шагового мотора и датчика света для измерения угла освещения и светового потока ламп, измеритель пульсации света, анализатор формы потребляемого тока.

© 2017, Алексей Надёжин


Основная тема моего блога — техника в жизни человека. Я пишу обзоры, делюсь опытом, рассказываю о всяких интересных штуках. А ещё я делаю репортажи из интересных мест и рассказываю об интересных событиях.
Добавьте меня в друзья здесь. Запомните короткие адреса моего блога: Блог1.рф и Blog1rf.ru.

Второй мой проект — lamptest.ru. Я тестирую светодиодные лампы и помогаю разобраться, какие из них хорошие, а какие не очень.

Этот пост в моём блоге LiveJournal: Эксперименты с Arduino

Добавить комментарий