Эксперименты с Arduino
08.02.2017 859 0 0 ammo1

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

---
0
В закладки
В начале января я впервые взял в руки 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. Я тестирую светодиодные лампы и помогаю разобраться, какие из них хорошие, а какие не очень.уникальные шаблоны и модули для dle
Комментарии (0)
Добавить комментарий
Прокомментировать
[related-news]
{related-news}
[/related-news]