Mundarija:

BH1750 sensorli Arduino DIY yorug'lik o'lchagichi: 6 qadam (rasmlar bilan)
BH1750 sensorli Arduino DIY yorug'lik o'lchagichi: 6 qadam (rasmlar bilan)

Video: BH1750 sensorli Arduino DIY yorug'lik o'lchagichi: 6 qadam (rasmlar bilan)

Video: BH1750 sensorli Arduino DIY yorug'lik o'lchagichi: 6 qadam (rasmlar bilan)
Video: Teil 4: Lux Sensor für Batteriebetrieb vorbereiten 2024, Iyul
Anonim
Image
Image
BH1750 sensorli Arduino DIY yorug'lik o'lchagichi
BH1750 sensorli Arduino DIY yorug'lik o'lchagichi

Ushbu qo'llanmada men sizga Arduino yordamida katta Nokia 5110 LCD displeyli yorug'lik o'lchagichini qanday yasashni ko'rsataman.

Yorug'lik o'lchagichni yaratish - bu katta tajriba. Agar siz ushbu loyihani qurishni tugatsangiz, siz yorug'lik o'lchagichlari qanday ishlashini yaxshiroq tushunasiz va siz Arduino platformasi qanchalik kuchli ekanligini amalda ko'rasiz. Bu loyiha asos sifatida va to'plangan tajriba yordamida siz kelajakda murakkabroq loyihalarni osongina qura olasiz. Siz ushbu loyihadan ish muhitingiz, o'simliklaringiz va boshqalarning yorug'lik sharoitlarini kuzatish uchun foydalanishingiz mumkin. Hech qanday kechiktirmasdan, boshlaylik!

1 -qadam: Barcha qismlarni oling

Barcha qismlarni oling
Barcha qismlarni oling

Loyihani yaratish uchun zarur bo'lgan qismlar:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Kichik stol paneli ▶
  • Simlar ▶

Loyihaning qiymati taxminan 12 dollar.

2 -qadam: BH1750 yorug'lik sensori

BH1750 yorug'lik sensori
BH1750 yorug'lik sensori

BH1750 yorug'lik intensivligi sensori ajoyib va ulardan foydalanish juda oson. Ushbu yoritish paneli raqamli signalni to'g'ridan-to'g'ri chiqaradigan 16 bitli AD konvertori bilan birga keladi, murakkab hisob-kitoblarga hojat yo'q.

Bu karta faqat kuchlanish chiqaradigan LDRdan yaxshiroq. BH1750 yorug'lik sensori yordamida siz hisob -kitob qilmasdan to'g'ridan -to'g'ri lyuksmetr yordamida o'lchashingiz mumkin. Ushbu sensordan chiqadigan ma'lumotlar to'g'ridan -to'g'ri Lux (Lx) da chiqariladi.

Sensor I2C interfeysidan foydalanadi, shuning uchun Arduino -dan foydalanish juda oson. Siz faqat 2 ta simni ulashingiz kerak.

Sensorning narxi ham juda past, u 2 dollar atrofida.

Siz bu yerdan olishingiz mumkin: ▶

3 -qadam: Nokia 5110 LCD

Image
Image
Nur o'lchagichni qurish
Nur o'lchagichni qurish

Nokia 5110 - bu mening Arduino loyihalarim uchun eng sevimli displeyim.

Nokia 5110 - bu asosiy grafikali LCD displey bo'lib, u dastlab uyali telefon uchun mo'ljallangan edi. U past quvvatli CMOS LCD displeyi/drayveri bo'lgan PCD8544 tekshirgichidan foydalanadi. Shu sababli, bu displey ajoyib quvvat sarfiga ega. U yoqilganda faqat 0,4mA quvvat sarflaydi, lekin orqa nuri o'chirilgan. U uyqu holatida 0,06 mA dan kam quvvat sarflaydi! Bu ko'rgazmani eng sevimli qilishimga sabablardan biri. PCD8544 mikrokontrollerlarga ketma -ket avtobus interfeysi orqali ulanadi. Bu displeyni Arduino bilan ishlatishni juda osonlashtiradi.

Siz faqat 8 ta simni ulashingiz va quyidagi kutubxonadan foydalanishingiz kerak:

Bu ajoyib kutubxona Arduino jamoasiga o'z kutubxonalari bilan oldinga siljish uchun ko'p kuch sarflagan Xenning Karlsen tomonidan ishlab chiqilgan.

Men Nokia 5110 LCD displeyini Arduino bilan qanday ishlatish bo'yicha batafsil ko'rsatma tayyorladim. Men ushbu ko'rsatmaga ushbu videoni biriktirdim, u displey haqida foydali ma'lumotlarni beradi, shuning uchun uni diqqat bilan ko'rishni tavsiya qilaman.

Displeyning narxi 4 dollar atrofida.

Siz bu yerdan olishingiz mumkin: ▶

4 -qadam: yorug'lik o'lchagichini yaratish

Nur o'lchagichni qurish
Nur o'lchagichni qurish

Keling, barcha qismlarni bir -biriga bog'laymiz.

Avvaliga biz BH1750 yorug'lik sensori modulini ulaymiz. U faqat 5 pinli, lekin biz ulardan 4tasini ulaymiz.

Voltaj sensori ulanishi

Vcc Pin Arduino 5V ga o'tadi

GND Pin Arduino GND -ga o'tadi

SCL Pin Arduino Uno analog pin 5 ga o'tadi

SDA Pin Arduino Uno analog pin 4 -ga o'tadi

Manzil PIN -kodi ulanmagan

Keyingi qadam - Nokia 5110 LCD displeyini ulash.

Nokia 5110 LCD displeyini ulash

RST Arduino raqamli pin 12 -ga o'tadi

Idoralar Arduino raqamli pin 11 ga o'tadi

DC Arduino raqamli pin 10 ga o'tadi

DIN Arduino raqamli pin 9 -ga o'tadi

CLK Arduino raqamli pin 8 -ga o'tadi

VCC Arduino -ga o'tadi 3.3V LIGHT Arduino GND -ga o'tadi (orqa yorug'lik yonadi)

GND Arduino GND ga o'tadi

Endi biz barcha qismlarni bir -biriga bog'lab qo'ydik, biz kodni yuklashimiz kerak. Splash ekrani bir necha soniya davomida ko'rsatiladi va shundan so'ng biz real vaqtda yorug'lik intensivligini o'lchashni boshlashimiz mumkin.

5 -qadam: Loyihaning kodeksi

Image
Image
Loyihani sinovdan o'tkazish
Loyihani sinovdan o'tkazish

Loyihaning kodi 3 ta fayldan iborat.

sardor.tv

ui.c

BH1750LightMeter.ino

Kod - bosh ekran tasviri

Birinchi faylda splash.c, loyiha ishga tushganda Nokia 5110 LCD displeyida ko'rsatiladigan ekranning ikkilik qiymatlari mavjud. Iltimos, Arduino loyihasiga o'zingizning shaxsiy grafikangizni qanday yuklashni ko'rish uchun men tayyorlagan videoni tomosha qiling.

ui.c kodi - foydalanuvchi interfeysi

Ui.c faylida, loyiha ochilish ekranini ko'rsatgandan so'ng, foydalanuvchi interfeysining ikkilik qiymatlari paydo bo'ladi. Iltimos, Arduino loyihasiga o'zingizning shaxsiy grafikangizni qanday yuklashni ko'rish uchun men tayyorlagan videoni tomosha qiling.

UVMeter.ino kodi - Asosiy dastur

Loyihaning asosiy kodi juda oddiy. Biz Nokia 5110 kutubxonasini kiritishimiz kerak. Keyin biz ba'zi o'zgaruvchilarni e'lon qilamiz. Biz displeyni ishga tushiramiz va ekranni 3 soniya davomida ko'rsatamiz. Shundan so'ng, biz ui belgisini bir marta bosib chiqaramiz va biz sensordan 150 milisekund qiymatini o'qiymiz. Barcha sehrlar loop funktsiyasida sodir bo'ladi:

void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Sensor nurini o'qing = String (lyuks); // String stringLength = light.length () ga aylantirish; // String Length lcd.clrScr () ni bilishimiz kerak; lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Displeydagi satrni lcd.update () da chop eting; kechikish (150); }

Men ushbu ko'rsatmaga kodni biriktirdim. Kodning so'nggi versiyasini yuklab olish uchun siz loyihaning veb-sahifasiga kirishingiz mumkin:

6 -qadam: Loyihani sinovdan o'tkazish

Loyihani sinovdan o'tkazish
Loyihani sinovdan o'tkazish
Loyihani sinovdan o'tkazish
Loyihani sinovdan o'tkazish

Endi kod yuklangach, biz Light Meter -ni ichki va tashqi makonda sinab ko'rishimiz mumkin. Men buni quyoshli bahorda, Gretsiyada sinab ko'raman. Natija fantastik bo'lsa. Biz yorug'lik intensivligini aniq loyiha yordamida aniq o'lchashimiz mumkin.

Qo'shilgan fotosuratlarda ko'rib turganingizdek, yorug'lik o'lchagichi yaxshi ishlaydi. Ushbu loyiha ochiq manba kodli apparat va dasturiy ta'minot nimalarga qodirligini ko'rsatib beradi. Bir necha daqiqada shunday ajoyib loyihani yaratish mumkin! Bu loyiha yangi boshlanuvchilar uchun juda mos keladi va boshida aytganimdek, bu loyiha katta o'rganish tajribasi. Bu loyiha haqidagi fikringizni eshitishni istardim. Siz buni foydali deb hisoblaysizmi? Ushbu loyihani amalga oshirish mumkin bo'lgan yaxshilanishlar bormi? Iltimos, sharhlaringizni yoki fikrlaringizni quyidagi izohlar bo'limiga yozing!

Tavsiya: