Съдържание:

Arduino DIY светломер с BH1750 сензор: 6 стъпки (със снимки)
Arduino DIY светломер с BH1750 сензор: 6 стъпки (със снимки)

Видео: Arduino DIY светломер с BH1750 сензор: 6 стъпки (със снимки)

Видео: Arduino DIY светломер с BH1750 сензор: 6 стъпки (със снимки)
Видео: DIY Light Meter with Raspberry Pi, BH1750 I2C sensor, Python and Linux #shorts 2024, Юли
Anonim
Image
Image
Arduino DIY светломер с BH1750 сензор
Arduino DIY светломер с BH1750 сензор

В тази инструкция ще ви покажа как да изградите светломер с голям Nokia 5110 LCD дисплей, използвайки Arduino.

Изграждането на светломер е чудесно учене. Когато завършите изграждането на този проект, ще имате по -добро разбиране за това как работят светломерите и ще видите в действие колко мощна може да бъде платформата Arduino. С този проект като основа и натрупания опит ще можете лесно да изграждате по -сложни проекти в бъдеще. Можете да използвате този проект, за да наблюдавате условията на осветление на вашата работна среда, на вашите растения и така нататък. Без допълнително забавяне, нека започнем!

Стъпка 1: Вземете всички части

Вземете всички части
Вземете всички части

Частите, необходими за изграждането на този проект, са следните:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Малка дъска ▶
  • Проводи ▶

Цената на проекта е около 12 долара.

Стъпка 2: Светлинният сензор BH1750

Светлинният сензор BH1750
Светлинният сензор BH1750

Сензорът за интензивност на светлината BH1750 е страхотен и много лесен за използване сензор. Тази пробивна платка се предлага с вграден 16-битов AD конвертор, който може директно да извежда цифров сигнал, няма нужда от сложни изчисления.

Тази платка е по -добра от LDR, която извежда само напрежение. С BH1750 Light Sensor интензитетът може да бъде измерен директно с луксметъра, без да е необходимо да се правят изчисления. Данните, които се извеждат от този сензор, се извеждат директно в Lux (Lx).

Сензорът използва интерфейса I2C, така че е много лесен за използване с Arduino. Трябва само да свържете 2 проводника.

Също така цената на сензора е много ниска, тя е около 2 $.

Можете да го получите тук: ▶

Стъпка 3: Nokia 5110 LCD

Image
Image
Изграждане на светломера
Изграждане на светломера

Nokia 5110 е любимият ми дисплей за моите Arduino проекти.

Nokia 5110 е основен графичен LCD екран, който първоначално е бил предназначен за екран на мобилен телефон. Той използва контролера PCD8544, който е CMOS LCD контролер/драйвер с ниска мощност. Поради това този дисплей има впечатляваща консумация на енергия. Той използва само 0,4 mA, когато е включен, но подсветката е деактивирана. Той използва по -малко от 0,06 mA, когато е в режим на заспиване! Това е една от причините да направя този дисплей мой любим. PCD8544 се свързва с микроконтролери чрез интерфейс на серийна шина. Това прави дисплея много лесен за използване с Arduino.

Трябва само да свържете 8 проводника и да използвате следната библиотека:

Тази впечатляваща библиотека е разработена от Хенинг Карлсен, който е положил огромни усилия, за да помогне на общността на Arduino да продължи напред със своите библиотеки.

Подготвих подробен урок за това как да използвам LCD дисплея Nokia 5110 с Arduino. Прикачих този видеоклип в тази инструкция, той може да предостави полезна информация за дисплея, затова ви препоръчвам да го гледате внимателно.

Цената на дисплея е около 4 долара.

Можете да го получите тук: ▶

Стъпка 4: Изграждане на светломера

Изграждане на светломера
Изграждане на светломера

Нека сега свържем всички части заедно.

Първо свързваме модула BH1750 Light sensor. Той има само 5 пина, но ние ще свържем 4 от тях.

Свързване на сензора за напрежение

Vcc Pin отива при 5V на Arduino

GND Pin отива в GND на Arduino

SCL Pin отива към Analog Pin 5 на Arduino Uno

SDA Pin отива към Analog Pin 4 на Arduino Uno

ПИН адресът остава несвързан

Следващата стъпка е да свържете LCD дисплея на Nokia 5110.

Свързване на LCD дисплея на Nokia 5110

RST отива към Digital Pin 12 на Arduino

CE отива към Digital Pin 11 на Arduino

DC отива към Digital Pin 10 на Arduino

DIN отива към Digital Pin 9 на Arduino

CLK отива към Digital Pin 8 на Arduino

VCC отива към Arduino 3.3V LIGHT отива към Arduino GND (подсветката е включена)

GND отива към Arduino GND

Сега, след като сме свързали всички части, всичко, което трябва да направим, е да заредим кода. Екранът за пръскане се показва за няколко секунди и след това можем да започнем да измерваме интензитета на светлината в реално време!

Стъпка 5: Кодът на проекта

Image
Image
Тестване на проекта
Тестване на проекта

Кодът на проекта се състои от 3 файла.

splash.cui.c

ui.c

BH1750LightMeter.ino

Код - Изображение на началния екран

В първия файл splash.c има двоични стойности на началния екран, който се показва на LCD дисплея на Nokia 5110, когато проектът се стартира. Моля, гледайте приложеното видео, което подготвих, за да видите как да заредите персонализираните си графики във вашия Arduino Project.

ui.c код - Потребителският интерфейс

Във файла ui.c има двоични стойности на потребителския интерфейс, които се появяват, след като проектът покаже началния екран. Моля, гледайте приложеното видео, което подготвих, за да видите как да заредите персонализираните си графики във вашия Arduino Project.

UVMeter.ino код - Основна програма

Основният код на проекта е много прост. Трябва да включим библиотеката Nokia 5110. След това декларираме някои променливи. Инициализираме дисплея и показваме началния екран за 3 секунди. След това отпечатваме иконата на потребителския интерфейс веднъж и отчитаме стойността от сензора 150 милисекунди. Цялата магия се случва във функцията цикъл:

void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Прочетете светлината на сензора = String (lux); // Конвертиране в String stringLength = light.length (); // Трябва да знаем дължината на низа lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Отпечатайте низа на дисплея lcd.update (); забавяне (150); }

Прикачих кода към тази инструкция. За да изтеглите най-новата версия на кода, можете да посетите уеб страницата на проекта:

Стъпка 6: Тестване на проекта

Тестване на проекта
Тестване на проекта
Тестване на проекта
Тестване на проекта

Сега, когато кодът е зареден, можем да тестваме светломера на закрито и на открито. Тествам го в слънчев пролетен ден тук в Гърция. Резултатът, ако е фантастичен. Можем точно да измерим интензитета на светлината с лесен за изграждане проект.

Както можете да видите на приложените снимки, светломерът работи добре. Този проект е чудесна демонстрация на какво е способен хардуерът и софтуерът с отворен код. В рамките на няколко минути човек може да изгради такъв впечатляващ проект! Този проект е идеален за начинаещи и както казах в началото, този проект е чудесно учене. Ще се радвам да чуя вашето мнение за този проект. Намирате ли го за полезно? Има ли подобрения, които могат да бъдат приложени към този проект? Моля, публикувайте вашите коментари или идеи в секцията за коментари по -долу!

Препоръчано: