Мазмұны:

BH1750 сенсоры бар Arduino DIY жарық өлшегіші: 6 қадам (суреттермен)
BH1750 сенсоры бар Arduino DIY жарық өлшегіші: 6 қадам (суреттермен)

Бейне: BH1750 сенсоры бар Arduino DIY жарық өлшегіші: 6 қадам (суреттермен)

Бейне: BH1750 сенсоры бар Arduino DIY жарық өлшегіші: 6 қадам (суреттермен)
Бейне: ARDUINO UNO PROJECT:Ambient Light Sensor using Photoresistor 2024, Шілде
Anonim
Image
Image
BH1750 сенсоры бар Arduino DIY жарық өлшеуіші
BH1750 сенсоры бар Arduino DIY жарық өлшеуіші

Бұл нұсқаулықта мен сізге Arduino көмегімен үлкен Nokia 5110 LCD дисплейі бар жарық өлшегішті қалай жасау керектігін көрсетемін.

Жарық есептегішті құру - бұл үлкен оқу тәжірибесі. Бұл жобаны аяқтағаннан кейін сіз жарық өлшегіштердің қалай жұмыс істейтінін жақсы түсінесіз және сіз Arduino платформасының қаншалықты қуатты екенін іс жүзінде көресіз. Бұл жобаның негізі және жинақталған тәжірибе арқасында сіз болашақта күрделі жобаларды оңай құра аласыз. Сіз бұл жобаны жұмыс ортасының, өсімдіктеріңіздің жарықтандыру жағдайын бақылау үшін пайдалана аласыз. Ешқандай кідіріссіз, бастайық!

1 -қадам: барлық бөлшектерді алыңыз

Барлық бөлшектерді алыңыз
Барлық бөлшектерді алыңыз

Бұл жобаны құру үшін қажет бөліктер:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Шағын тақта ▶
  • Сымдар ▶

Жобаның құны шамамен 12 долларды құрайды.

2 -қадам: BH1750 жарық сенсоры

BH1750 жарық сенсоры
BH1750 жарық сенсоры

BH1750 жарық қарқындылығы сенсоры - бұл өте жақсы сенсор. Бұл ажырату тақтасы цифрлық сигналды тікелей шығара алатын 16 биттік AD конвертерімен келеді, күрделі есептеулердің қажеті жоқ.

Бұл тақта тек кернеуді шығаратын LDR -ге қарағанда жақсы. BH1750 жарық сенсорының көмегімен қарқындылықты есептеуді қажет етпей люксметрмен тікелей өлшеуге болады. Бұл сенсор шығаратын мәліметтер тікелей Lux (Lx) форматында шығарылады.

Сенсор I2C интерфейсін қолданады, сондықтан оны Arduino -мен пайдалану өте оңай. Сізге тек 2 сымды қосу қажет.

Сенсордың бағасы өте төмен, ол шамамен 2 доллар.

Сіз оны мына жерден ала аласыз: ▶

3 -қадам: Nokia 5110 LCD

Image
Image
Жарық есептегішінің құрылысы
Жарық есептегішінің құрылысы

Nokia 5110 - бұл менің Arduino жобаларымның сүйікті дисплейі.

Nokia 5110 - бұл бастапқыда ұялы телефон экраны ретінде жасалған негізгі графикалық СКД экраны. Ол төмен қуатты CMOS СКД контроллері/драйвері болып табылатын PCD8544 контроллерін пайдаланады. Осының арқасында бұл дисплей қуатты әсер етеді. Ол қосылған кезде тек 0,4 мА пайдаланады, бірақ артқы жарық өшірулі. Ұйқы режимінде ол 0,06 мА -дан аз пайдаланады! Бұл дисплей менің сүйікті болуымның бір себебі. PCD8544 микроконтроллерлерге сериялық шина интерфейсі арқылы қосылады. Бұл дисплейді Arduino -мен қолдануды жеңілдетеді.

Сізге тек 8 сымды қосып, келесі кітапхананы пайдалану қажет:

Бұл әсерлі кітапхананы Хеннинг Карлсен әзірледі, ол Ардуино қауымдастығына өзінің кітапханаларымен ілгерілеуге көмектесу үшін көп күш жұмсады.

Мен Nokia 5110 LCD дисплейін Arduino -мен қалай қолдану туралы егжей -тегжейлі оқулықты дайындадым. Мен бұл бейнені нұсқаулыққа тіркедім, ол дисплей туралы пайдалы ақпарат береді, сондықтан оны мұқият қарауға шақырамын.

Дисплейдің бағасы шамамен 4 доллар.

Сіз оны мына жерден ала аласыз: ▶

4 -қадам: жарық өлшегішті құру

Жарық есептегішінің құрылысы
Жарық есептегішінің құрылысы

Енді барлық бөлшектерді біріктірейік.

Алдымен біз BH1750 жарық сенсорының модулін қосамыз. Онда тек 5 түйреуіш бар, бірақ біз олардың 4 -ін қосамыз.

Кернеу датчигін қосу

Vcc Pin Arduino 5V -ге өтеді

GND Pin Arduino GND -ге өтеді

SCL түйрегіші Arduino Uno 5 аналогтық пиніне өтеді

SDA Pin Arduino Uno аналогтық 4 -ші пиніне өтеді

Мекенжай PIN коды байланыссыз қалады

Келесі қадам - Nokia 5110 LCD дисплейін қосу.

Nokia 5110 LCD дисплейін қосу

RST Arduino сандық цифрлық 12 -ге өтеді

CE Arduino цифрлық пин 11ге өтеді

DC Arduino цифрлық пин 10ға өтеді

DIN Arduino цифрлық пин 9ға өтеді

CLK Arduino цифрлық пин 8ге өтеді

VCC Arduino 3.3V шамына өтеді Arduino GND (артқы жарығы қосылады)

GND Arduino GND -ге өтеді

Енді біз барлық бөліктерді біріктірдік, тек кодты жүктеу керек. Жарқыл экраны бірнеше секундқа көрсетіледі, содан кейін біз нақты уақытта жарық қарқындылығын өлшеуге кірісеміз!

5 -қадам: Жобаның коды

Image
Image
Жобаны тестілеу
Жобаны тестілеу

Жобаның коды 3 файлдан тұрады.

splash.cui.c

ui.c

BH1750LightMeter.ino

Код - Экрандық сурет

Бірінші splash.c файлында жоба басталған кезде Nokia 5110 СК дисплейінде шығатын экранның екілік мәндері бар. Өзіңіздің жеке графигіңізді Arduino жобасына қалай жүктеу керектігін білу үшін мен дайындаған бейнероликті қараңыз.

ui.c коды - пайдаланушы интерфейсі

Ui.c файлында жоба экранда көрсетілгеннен кейін пайда болатын пайдаланушы интерфейсінің екілік мәндері бар. Өзіңіздің жеке графигіңізді Arduino жобасына қалай жүктеу керектігін білу үшін мен дайындаған бейнені қараңыз.

UVMeter.ino коды - Негізгі бағдарлама

Жобаның негізгі коды өте қарапайым. Бізге Nokia 5110 кітапханасын қосу керек. Содан кейін біз кейбір айнымалыларды жариялаймыз. Біз дисплейді инициализациялаймыз және экранды 3 секундқа шығарамыз. Осыдан кейін біз интерфейс белгішесін бір рет басып шығарамыз және сенсордан 150 милисекундтағы мәнді оқимыз. Барлық сиқыр цикл функциясында болады:

void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Сенсордың жарығын оқыңыз = String (lux); // String stringLength = light.length () түрлендіру; // Біз String Length lcd.clrScr () білуіміз керек; lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Жолды lcd.update () дисплейіне басып шығару; кешіктіру (150); }

Мен кодты осы нұсқаулыққа тіркедім. Кодтың соңғы нұсқасын жүктеу үшін сіз жобаның веб-сайтына кіре аласыз:

6 -қадам: Жобаны тексеру

Жобаны тестілеу
Жобаны тестілеу
Жобаны тестілеу
Жобаны тестілеу

Енді код жүктелгеннен кейін біз жарық өлшегішті үйде де, сыртта да тексере аламыз. Мен мұны көктемнің шуақты күнінде Грецияда тексеремін. Нәтиже керемет болса. Біз жарықтың қарқындылығын дәл құрастырылатын жобамен дәл өлшей аламыз.

Қосымша фотосуреттерде көріп тұрғаныңыздай, жарық өлшегіш жақсы жұмыс істейді. Бұл жоба ашық бағдарламалық қамтамасыз ету мен бағдарламалық қамтамасыз етудің қабілетті екендігінің керемет көрінісі. Бірнеше минут ішінде сіз осындай әсерлі жобаны жасай аласыз! Бұл жоба жаңадан бастағандар үшін өте қолайлы және мен басында айтқанымдай, бұл жоба - үлкен оқу тәжірибесі. Бұл жоба бойынша сіздің пікіріңізді білгім келеді. Сіз оны пайдалы деп санайсыз ба? Бұл жобаны жақсартуға болатын жақсартулар бар ма? Пікірлеріңізді немесе идеяларыңызды төмендегі түсініктеме бөліміне жазыңыз!

Ұсынылған: