สารบัญ:

Arduino DIY Light Meter พร้อมเซ็นเซอร์ BH1750: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino DIY Light Meter พร้อมเซ็นเซอร์ BH1750: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino DIY Light Meter พร้อมเซ็นเซอร์ BH1750: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino DIY Light Meter พร้อมเซ็นเซอร์ BH1750: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: BH1750FVI | Light Sensor lux/intensity | สอนใช้งานเซ็นเซอร์วัดความเข้มแสง | Arduino#44 | เฮ็ดสิดี 2024, พฤศจิกายน
Anonim
Image
Image
Arduino DIY เครื่องวัดแสงพร้อมเซ็นเซอร์ BH1750
Arduino DIY เครื่องวัดแสงพร้อมเซ็นเซอร์ BH1750

ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างเครื่องวัดแสงด้วยจอแสดงผล LCD ขนาดใหญ่ของ Nokia 5110 โดยใช้ Arduino

การสร้างเครื่องวัดแสงเป็นประสบการณ์การเรียนรู้ที่ยอดเยี่ยม เมื่อคุณสร้างโครงการนี้เสร็จแล้ว คุณจะมีความเข้าใจที่ดีขึ้นเกี่ยวกับวิธีการทำงานของเครื่องวัดแสง และคุณจะเห็นว่าแพลตฟอร์ม Arduino มีประสิทธิภาพเพียงใด ด้วยโครงการนี้เป็นฐานและประสบการณ์ที่ได้รับ คุณจะสามารถสร้างโครงการที่ซับซ้อนมากขึ้นในอนาคตได้อย่างง่ายดาย คุณสามารถใช้โปรเจ็กต์นี้เพื่อตรวจสอบสภาพแสงของสภาพแวดล้อมในการทำงาน พืชของคุณ และอื่นๆ โดยไม่ชักช้า มาเริ่มกันเลย!

ขั้นตอนที่ 1: รับชิ้นส่วนทั้งหมด

รับอะไหล่ทั้งหมด
รับอะไหล่ทั้งหมด

ชิ้นส่วนที่จำเป็นในการสร้างโครงการนี้คือ:

  • Arduino Uno ▶
  • BH1750 ▶
  • โนเกีย 5110 LCD ▶
  • เขียงหั่นขนมขนาดเล็ก ▶
  • สายไฟ ▶

ค่าใช้จ่ายของโครงการอยู่ที่ประมาณ 12 เหรียญ

ขั้นตอนที่ 2: เซ็นเซอร์วัดแสง BH1750

เซ็นเซอร์วัดแสง BH1750
เซ็นเซอร์วัดแสง BH1750

เซ็นเซอร์วัดความเข้มแสง BH1750 เป็นเซ็นเซอร์ที่ยอดเยี่ยมและใช้งานง่ายมาก บอร์ดฝ่าวงล้อมนี้มาพร้อมกับตัวแปลง AD 16 บิตในตัวซึ่งสามารถส่งสัญญาณดิจิตอลได้โดยตรง ไม่จำเป็นต้องมีการคำนวณที่ซับซ้อน

บอร์ดนี้ดีกว่า LDR ที่จ่ายไฟออกเท่านั้น ด้วยความเข้มของเซ็นเซอร์แสง BH1750 สามารถวัดได้โดยตรงด้วยลักซ์มิเตอร์ โดยไม่ต้องทำการคำนวณ ข้อมูลที่ส่งออกโดยเซ็นเซอร์นี้จะส่งออกโดยตรงใน Lux (Lx)

เซ็นเซอร์ใช้อินเทอร์เฟซ I2C ดังนั้นจึงใช้งานง่ายมากกับ Arduino คุณต้องเชื่อมต่อ 2 สายเท่านั้น

นอกจากนี้ราคาของเซ็นเซอร์ยังต่ำมากคือประมาณ 2 เหรียญ

คุณสามารถรับได้ที่นี่: ▶

ขั้นตอนที่ 3: Nokia 5110 LCD

Image
Image
การสร้างเครื่องวัดแสง
การสร้างเครื่องวัดแสง

Nokia 5110 คือจอแสดงผลที่ฉันโปรดปรานสำหรับโปรเจ็กต์ Arduino ของฉัน

Nokia 5110 เป็นหน้าจอ LCD แบบกราฟิกพื้นฐานซึ่งเดิมมีไว้สำหรับเป็นหน้าจอโทรศัพท์มือถือ ใช้คอนโทรลเลอร์ PCD8544 ซึ่งเป็นคอนโทรลเลอร์/ไดรเวอร์ CMOS LCD พลังงานต่ำ ด้วยเหตุนี้จอแสดงผลนี้จึงมีการใช้พลังงานที่น่าประทับใจ ใช้เพียง 0.4mA เมื่อเปิดเครื่อง แต่ปิดไฟแบ็คไลท์ ใช้น้อยกว่า 0.06mA เมื่ออยู่ในโหมดสลีป! นั่นเป็นเหตุผลหนึ่งที่ทำให้จอแสดงผลนี้เป็นที่ชื่นชอบ PCD8544 เชื่อมต่อกับไมโครคอนโทรลเลอร์ผ่านอินเตอร์เฟสบัสอนุกรม นั่นทำให้จอแสดงผลใช้งานง่ายมากกับ Arduino

คุณต้องเชื่อมต่อ 8 สายและใช้ไลบรารีต่อไปนี้:

ห้องสมุดที่น่าประทับใจนี้ได้รับการพัฒนาโดย Henning Karlsen ซึ่งใช้ความพยายามอย่างมากในการช่วยให้ชุมชน Arduino ก้าวไปข้างหน้าด้วยห้องสมุดของเขา

ฉันได้เตรียมการสอนโดยละเอียดเกี่ยวกับวิธีใช้จอแสดงผล Nokia 5110 LCD กับ Arduino ฉันได้แนบวิดีโอนั้นในคำแนะนำนี้ ซึ่งจะให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับการแสดงผล ดังนั้นฉันขอแนะนำให้คุณดูอย่างระมัดระวัง

ค่าใช้จ่ายของจอแสดงผลอยู่ที่ประมาณ 4 เหรียญ

คุณสามารถรับได้ที่นี่: ▶

ขั้นตอนที่ 4: สร้างเครื่องวัดแสง

การสร้างเครื่องวัดแสง
การสร้างเครื่องวัดแสง

ตอนนี้ขอเชื่อมต่อทุกส่วนเข้าด้วยกัน

ตอนแรกเราเชื่อมต่อโมดูลเซ็นเซอร์แสง BH1750 มีเพียง 5 พิน แต่เราจะเชื่อมต่อ 4 พิน

การเชื่อมต่อเซ็นเซอร์แรงดันไฟฟ้า

Vcc Pin ไปที่ 5V. ของ Arduino

GND Pin ไปที่ GND. ของ Arduino

SCL Pin ไปที่ Analog Pin 5 ของ Arduino Uno

SDA Pin ไปที่ Analog Pin 4 ของ Arduino Uno

หมุดที่อยู่ไม่เชื่อมต่อ

ขั้นตอนต่อไปคือการเชื่อมต่อจอแสดงผล Nokia 5110 LCD

การเชื่อมต่อจอแสดงผล 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

ตอนนี้เราได้เชื่อมต่อทุกส่วนเข้าด้วยกันแล้ว สิ่งที่เราต้องทำก็คือโหลดโค้ด หน้าจอ Splash ปรากฏขึ้นสองสามวินาที จากนั้นเราสามารถเริ่มวัด Light Intensity แบบเรียลไทม์ได้!

ขั้นตอนที่ 5: รหัสของโครงการ

Image
Image
ทดสอบโครงการ
ทดสอบโครงการ

รหัสของโครงการประกอบด้วย 3 ไฟล์

splash.cui.c

ui.c

BH1750LightMeter.ino

รหัส - ภาพหน้าจอสแปลช

ในไฟล์ splash.c แรก มีค่าไบนารีของ splash screen ที่แสดงบนจอ LCD ของ Nokia 5110 เมื่อโปรเจ็กต์เริ่มทำงาน โปรดดูวิดีโอที่แนบมาที่ฉันเตรียมไว้เพื่อดูวิธีโหลดกราฟิกที่กำหนดเองของคุณไปยังโครงการ Arduino ของคุณ

รหัส ui.c - ส่วนต่อประสานผู้ใช้

ในไฟล์ ui.c มีค่าไบนารีของอินเทอร์เฟซผู้ใช้ที่ปรากฏหลังจากโครงการแสดงหน้าจอเริ่มต้น โปรดดูวิดีโอที่แนบมาที่ฉันเตรียมไว้เพื่อดูวิธีโหลดกราฟิกที่กำหนดเองของคุณไปยังโครงการ Arduino ของคุณ

UVMeter.ino Code - โปรแกรมหลัก

รหัสหลักของโครงการนั้นง่ายมาก เราจำเป็นต้องรวมไลบรารี Nokia 5110 ด้วย ต่อไปเราจะประกาศตัวแปรบางตัว เราเริ่มต้นการแสดงผลและเราแสดงหน้าจอเริ่มต้นเป็นเวลา 3 วินาที หลังจากนั้น เราพิมพ์ไอคอน ui หนึ่งครั้ง และอ่านค่าจากเซ็นเซอร์ 150 มิลลิวินาที เวทมนตร์ทั้งหมดเกิดขึ้นในฟังก์ชันลูป:

วงเป็นโมฆะ () { int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // อ่านไฟเซ็นเซอร์ = String(lux); //แปลงเป็นสตริง stringLength = light.length(); //เราจำเป็นต้องรู้ความยาวสตริง lcd.clrScr(); lcd.drawBitmap(0, 0, ui, 84, 48); printLight(สตริงLength); //พิมพ์สตริงบนจอแสดงผล lcd.update(); ล่าช้า (150); }

ฉันได้แนบรหัสกับคำแนะนำนี้แล้ว ในการดาวน์โหลดโค้ดเวอร์ชันล่าสุด คุณสามารถไปที่หน้าเว็บของโครงการได้:

ขั้นตอนที่ 6: การทดสอบโครงการ

ทดสอบโครงการ
ทดสอบโครงการ
ทดสอบโครงการ
ทดสอบโครงการ

เมื่อโหลดโค้ดแล้ว เราก็สามารถทดสอบเครื่องวัดแสงในอาคารและนอกอาคารได้ ฉันทดสอบมันในวันฤดูใบไม้ผลิที่มีแดดที่นี่ในกรีซ ผลลัพธ์ถ้าน่าอัศจรรย์ เราสามารถวัดความเข้มของแสงได้อย่างแม่นยำด้วยโครงการที่ง่ายต่อการสร้าง

ดังที่คุณเห็นในรูปภาพที่แนบมา เครื่องวัดแสงทำงานได้ดี โครงการนี้เป็นการสาธิตที่ดีว่าฮาร์ดแวร์และซอฟต์แวร์โอเพ่นซอร์สสามารถทำอะไรได้บ้าง ภายในไม่กี่นาทีก็สามารถสร้างโครงการที่น่าประทับใจได้! โปรเจ็กต์นี้เหมาะสำหรับผู้เริ่มต้น และอย่างที่ฉันพูดไปในตอนเริ่มต้น โปรเจ็กต์นี้เป็นประสบการณ์การเรียนรู้ที่ยอดเยี่ยม ฉันชอบที่จะได้ยินความคิดเห็นของคุณเกี่ยวกับโครงการนี้ คุณคิดว่ามันมีประโยชน์หรือไม่? มีการปรับปรุงใด ๆ ที่สามารถนำไปใช้กับโครงการนี้ได้หรือไม่? กรุณาโพสต์ความคิดเห็นหรือความคิดของคุณในส่วนความคิดเห็นด้านล่าง!

แนะนำ: