Оглавление:
- Шаг 1. Получите все детали
- Шаг 2. Датчик освещенности BH1750
- Шаг 3. ЖК-дисплей Nokia 5110
- Шаг 4: построение измерителя освещенности
- Шаг 5: Код проекта
- Шаг 6: Тестирование проекта
Видео: Измеритель света Arduino DIY с датчиком BH1750: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
В этом руководстве я собираюсь показать вам, как построить люксметр с большим ЖК-дисплеем Nokia 5110 с использованием Arduino.
Изготовление светомера - это отличный учебный опыт. Когда вы закончите сборку этого проекта, вы лучше поймете, как работают измерители света, и увидите в действии, насколько мощной может быть платформа Arduino. Имея за основу этот проект и полученный опыт, вы сможете легко создавать более сложные проекты в будущем. Вы можете использовать этот проект для мониторинга условий освещения вашей рабочей среды, ваших растений и так далее. Без промедления, приступим!
Шаг 1. Получите все детали
Детали, необходимые для создания этого проекта, следующие:
- Arduino Uno ▶
- BH1750 ▶
- ЖК-дисплей Nokia 5110 ▶
- Малая макетная плата ▶
- Провода ▶
Стоимость проекта около 12 долларов.
Шаг 2. Датчик освещенности BH1750
Датчик интенсивности света BH1750 - отличный и очень простой в использовании датчик. Эта коммутационная плата оснащена встроенным 16-битным аналого-цифровым преобразователем, который может напрямую выводить цифровой сигнал, нет необходимости в сложных вычислениях.
Эта плата лучше, чем LDR, который выводит только напряжение. С помощью датчика освещенности BH1750 интенсивность света можно напрямую измерить люксметром без необходимости производить вычисления. Данные, которые выводятся этим датчиком, напрямую выводятся в люксах (Lx).
Датчик использует интерфейс I2C, поэтому его очень легко использовать с Arduino. Вам нужно всего лишь подключить 2 провода.
Также цена датчика очень низкая, она составляет около 2 долларов.
Вы можете получить его здесь: ▶
Шаг 3. ЖК-дисплей Nokia 5110
Nokia 5110 - мой любимый дисплей в моих проектах Arduino.
Nokia 5110 - это простой графический ЖК-экран, изначально предназначенный для использования в качестве экрана мобильного телефона. Он использует контроллер PCD8544, который является контроллером / драйвером CMOS LCD с низким энергопотреблением. Благодаря этому у этого дисплея впечатляющее энергопотребление. Когда он включен, он потребляет всего 0,4 мА, но подсветка отключена. В спящем режиме он потребляет менее 0,06 мА! Это одна из причин, почему этот дисплей стал моим любимым. PCD8544 взаимодействует с микроконтроллерами через интерфейс последовательной шины. Это делает дисплей очень простым в использовании с Arduino.
Вам нужно всего лишь подключить 8 проводов и использовать следующую библиотеку:
Эта впечатляющая библиотека разработана Хеннингом Карлсеном, который приложил огромные усилия, чтобы помочь сообществу Arduino продвинуться вперед со своими библиотеками.
Я подготовил подробное руководство по использованию ЖК-дисплея Nokia 5110 с Arduino. Я приложил это видео к данному руководству, оно может предоставить полезную информацию о дисплее, поэтому я рекомендую вам внимательно его просмотреть.
Стоимость дисплея составляет около 4 долларов.
Вы можете получить его здесь: ▶
Шаг 4: построение измерителя освещенности
Теперь давайте соединим все части вместе.
Сначала подключаем модуль светового датчика BH1750. У него всего 5 контактов, но мы подключим 4 из них.
Подключение датчика напряжения
Вывод Vcc идет на 5 В Arduino
Вывод GND идет на GND Arduino.
Контакт SCL идет к аналоговому выводу 5 Arduino Uno.
Вывод SDA подключается к аналоговому выводу 4 Arduino Uno.
Адресный контакт остается неподключенным
Следующим шагом будет подключение ЖК-дисплея Nokia 5110.
Подключение ЖК-дисплея Nokia 5110
RST идет на цифровой контакт 12 Arduino
CE идет на цифровой вывод 11 Arduino
DC подключается к цифровому выводу 10 Arduino
DIN переходит на цифровой вывод 9 Arduino
CLK идет на цифровой контакт 8 Arduino
VCC идет на Arduino 3.3V LIGHT идет на Arduino GND (подсветка включена)
GND идет к Arduino GND
Теперь, когда мы соединили все части вместе, все, что нам нужно сделать, это загрузить код. На пару секунд отображается экран-заставка, а затем мы можем начать измерение интенсивности света в реальном времени!
Шаг 5: Код проекта
Код проекта состоит из 3-х файлов.
splash.cui.c
ui.c
BH1750LightMeter.ino
Код - изображение заставки
В первом файле splash.c содержатся двоичные значения заставки, которая отображается на ЖК-дисплее Nokia 5110 при загрузке проекта. Пожалуйста, посмотрите прикрепленное видео, которое я подготовил, чтобы увидеть, как загрузить вашу собственную графику в ваш проект Arduino.
Код ui.c - Пользовательский интерфейс
В файле ui.c есть двоичные значения пользовательского интерфейса, которые появляются после того, как проект показывает экран-заставку. Пожалуйста, посмотрите прикрепленное видео, которое я подготовил, чтобы увидеть, как загрузить вашу собственную графику в ваш проект Arduino.
Код UVMeter.ino - Основная программа
Основной код проекта очень простой. Нам нужно включить библиотеку Nokia 5110. Затем мы объявляем некоторые переменные. Мы инициализируем дисплей и отображаем заставку на 3 секунды. После этого мы печатаем значок ui один раз и считываем значение с датчика 150 миллисекунд. Вся магия происходит в функции цикла:
void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Считываем показания датчика освещенности = String (люкс); // Преобразование в строку stringLength = light.length (); // Нам нужно знать длину строки lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Распечатать строку на дисплее lcd.update (); задержка (150); }
Я приложил код к этой инструкции. Чтобы загрузить последнюю версию кода, вы можете посетить веб-страницу проекта:
Шаг 6: Тестирование проекта
Теперь, когда код загружен, мы можем протестировать измеритель освещенности в помещении и на улице. Я тестирую его солнечным весенним днем здесь, в Греции. Результат фантастический. Мы можем точно измерить интенсивность света с помощью простого в сборке проекта.
Как видно на приложенных фотографиях, экспонометр работает нормально. Этот проект - отличная демонстрация возможностей аппаратного и программного обеспечения с открытым исходным кодом. За несколько минут можно построить такой впечатляющий проект! Этот проект идеально подходит для начинающих, и, как я уже сказал в начале, этот проект является отличным опытом для обучения. Хотелось бы услышать ваше мнение об этом проекте. Считаете ли вы это полезным? Есть ли какие-то улучшения, которые можно внести в этот проект? Пожалуйста, оставьте свои комментарии или идеи в разделе комментариев ниже!
Рекомендуемые:
Переключатель света с ультразвуковым датчиком Arduino: 6 шагов
Переключатель света с ультразвуковым датчиком Arduino: Привет, ребята, сегодня я собираюсь сделать переключатель света. Иногда у меня есть вещи в руке, и у меня нет лишней руки, чтобы включить свет, и это становится неловкой ситуацией. Поэтому я решил сделать переключатель света, который поможет мне включить свет
Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: 8 шагов
Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: в настоящее время производители и разработчики предпочитают Arduino для быстрой разработки прототипов проектов. Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. У Arduino очень хорошее сообщество пользователей. В этом проекте
Измеритель низкого омического сопротивления с датчиком тока INA219: 5 шагов
Измеритель низкого омического сопротивления с датчиком тока INA219: это недорогой миллиомметр, который можно собрать, используя датчик тока 2X INA219, Arduino nano, ЖК-дисплей 2X16, нагрузочный резистор 150 Ом и простой код Arduino, библиотеку которого можно найти в Интернете. . Красота этого проекта не пред
Измеритель силы света без программирования: 7 шагов (с изображениями)
Измеритель интенсивности света без программирования. В этом руководстве рассказывается о создании простого измерителя интенсивности света без использования Arduino или любого другого микроконтроллера или программирования. Измеритель интенсивности света отображает разные уровни интенсивности света с помощью светодиодов разного цвета. Красный светодиод
Переключатель света с дистанционным управлением по Bluetooth - дооснащение. Выключатель света по-прежнему работает, без лишних писем .: 9 шагов (с изображениями)
Переключатель света с дистанционным управлением по Bluetooth - дооснащение. Выключатель света по-прежнему работает, без дополнительных писем .: Обновление от 25 ноября 2017 г. - Версия этого проекта с высокой мощностью, которая может управлять киловаттами нагрузки, см. В разделе «Модернизация управления BLE для работы с мощными нагрузками - дополнительная проводка не требуется» Обновление от 15 ноября 2017 г. - Некоторые платы / стеки программного обеспечения BLE доставляют