สารบัญ:
- ขั้นตอนที่ 1: รับชิ้นส่วนทั้งหมด
- ขั้นตอนที่ 2: เซ็นเซอร์วัดแสง BH1750
- ขั้นตอนที่ 3: Nokia 5110 LCD
- ขั้นตอนที่ 4: สร้างเครื่องวัดแสง
- ขั้นตอนที่ 5: รหัสของโครงการ
- ขั้นตอนที่ 6: การทดสอบโครงการ
วีดีโอ: Arduino DIY Light Meter พร้อมเซ็นเซอร์ BH1750: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างเครื่องวัดแสงด้วยจอแสดงผล LCD ขนาดใหญ่ของ Nokia 5110 โดยใช้ Arduino
การสร้างเครื่องวัดแสงเป็นประสบการณ์การเรียนรู้ที่ยอดเยี่ยม เมื่อคุณสร้างโครงการนี้เสร็จแล้ว คุณจะมีความเข้าใจที่ดีขึ้นเกี่ยวกับวิธีการทำงานของเครื่องวัดแสง และคุณจะเห็นว่าแพลตฟอร์ม Arduino มีประสิทธิภาพเพียงใด ด้วยโครงการนี้เป็นฐานและประสบการณ์ที่ได้รับ คุณจะสามารถสร้างโครงการที่ซับซ้อนมากขึ้นในอนาคตได้อย่างง่ายดาย คุณสามารถใช้โปรเจ็กต์นี้เพื่อตรวจสอบสภาพแสงของสภาพแวดล้อมในการทำงาน พืชของคุณ และอื่นๆ โดยไม่ชักช้า มาเริ่มกันเลย!
ขั้นตอนที่ 1: รับชิ้นส่วนทั้งหมด
ชิ้นส่วนที่จำเป็นในการสร้างโครงการนี้คือ:
- Arduino Uno ▶
- BH1750 ▶
- โนเกีย 5110 LCD ▶
- เขียงหั่นขนมขนาดเล็ก ▶
- สายไฟ ▶
ค่าใช้จ่ายของโครงการอยู่ที่ประมาณ 12 เหรียญ
ขั้นตอนที่ 2: เซ็นเซอร์วัดแสง BH1750
เซ็นเซอร์วัดความเข้มแสง BH1750 เป็นเซ็นเซอร์ที่ยอดเยี่ยมและใช้งานง่ายมาก บอร์ดฝ่าวงล้อมนี้มาพร้อมกับตัวแปลง AD 16 บิตในตัวซึ่งสามารถส่งสัญญาณดิจิตอลได้โดยตรง ไม่จำเป็นต้องมีการคำนวณที่ซับซ้อน
บอร์ดนี้ดีกว่า LDR ที่จ่ายไฟออกเท่านั้น ด้วยความเข้มของเซ็นเซอร์แสง BH1750 สามารถวัดได้โดยตรงด้วยลักซ์มิเตอร์ โดยไม่ต้องทำการคำนวณ ข้อมูลที่ส่งออกโดยเซ็นเซอร์นี้จะส่งออกโดยตรงใน Lux (Lx)
เซ็นเซอร์ใช้อินเทอร์เฟซ I2C ดังนั้นจึงใช้งานง่ายมากกับ Arduino คุณต้องเชื่อมต่อ 2 สายเท่านั้น
นอกจากนี้ราคาของเซ็นเซอร์ยังต่ำมากคือประมาณ 2 เหรียญ
คุณสามารถรับได้ที่นี่: ▶
ขั้นตอนที่ 3: Nokia 5110 LCD
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: รหัสของโครงการ
รหัสของโครงการประกอบด้วย 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: การทดสอบโครงการ
เมื่อโหลดโค้ดแล้ว เราก็สามารถทดสอบเครื่องวัดแสงในอาคารและนอกอาคารได้ ฉันทดสอบมันในวันฤดูใบไม้ผลิที่มีแดดที่นี่ในกรีซ ผลลัพธ์ถ้าน่าอัศจรรย์ เราสามารถวัดความเข้มของแสงได้อย่างแม่นยำด้วยโครงการที่ง่ายต่อการสร้าง
ดังที่คุณเห็นในรูปภาพที่แนบมา เครื่องวัดแสงทำงานได้ดี โครงการนี้เป็นการสาธิตที่ดีว่าฮาร์ดแวร์และซอฟต์แวร์โอเพ่นซอร์สสามารถทำอะไรได้บ้าง ภายในไม่กี่นาทีก็สามารถสร้างโครงการที่น่าประทับใจได้! โปรเจ็กต์นี้เหมาะสำหรับผู้เริ่มต้น และอย่างที่ฉันพูดไปในตอนเริ่มต้น โปรเจ็กต์นี้เป็นประสบการณ์การเรียนรู้ที่ยอดเยี่ยม ฉันชอบที่จะได้ยินความคิดเห็นของคุณเกี่ยวกับโครงการนี้ คุณคิดว่ามันมีประโยชน์หรือไม่? มีการปรับปรุงใด ๆ ที่สามารถนำไปใช้กับโครงการนี้ได้หรือไม่? กรุณาโพสต์ความคิดเห็นหรือความคิดของคุณในส่วนความคิดเห็นด้านล่าง!
แนะนำ:
DIY Logging Thermometer พร้อมเซ็นเซอร์ 2 ตัว: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY Logging Thermometer พร้อมเซ็นเซอร์ 2 ตัว: โครงการนี้เป็นการปรับปรุงโครงการก่อนหน้านี้ของฉัน "DIY Logging Thermometer" โดยจะบันทึกการวัดอุณหภูมิลงในการ์ด micro SD การเปลี่ยนแปลงฮาร์ดแวร์ฉันได้เพิ่มเซ็นเซอร์อุณหภูมิ DS18B20 ลงในโมดูลนาฬิกาแบบเรียลไทม์ โดยจะมีปร
วิธีการใช้สายไฟและการใช้งาน GY-30 BH1750 Light Sensor (GY30 / GY302) - ง่าย - โครงการ Arduino!: 7 ขั้นตอน
วิธีการใช้สายไฟและการใช้งาน GY-30 BH1750 Light Sensor (GY30 / GY302) - Easy - Arduino Project!: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้เซ็นเซอร์วัดความเข้มแสง GY-30 BH1750 กับ Arduino อย่างรวดเร็วและง่ายดาย ชมวิดีโอสาธิต
LIGHT BOX - ลำโพง Bluetooth แบบพกพาพร้อม Vu Meter: 10 ขั้นตอน (พร้อมรูปภาพ)
LIGHT BOX - ลำโพง Bluetooth แบบพกพาพร้อม Vu Meter: สิ่งที่ฉันทำคือชุดลำโพงสเตอริโอแบบพกพาที่เชื่อมโยงกับเครื่องวัด VU (เช่น เครื่องวัดระดับเสียง) นอกจากนี้ยังประกอบด้วยหน่วยเสียงที่สร้างไว้ล่วงหน้าซึ่งช่วยให้สามารถเชื่อมต่อ Bluetooth, พอร์ต AUX, พอร์ต USB, พอร์ตการ์ด SD & วิทยุ FM ควบคุมระดับเสียง
DIY Glove Controller พร้อมเซนเซอร์ E-Textile: 14 ขั้นตอน (พร้อมรูปภาพ)
ตัวควบคุมถุงมือ DIY พร้อมเซ็นเซอร์ E-Textile: คำแนะนำนี้เป็นการสอนทีละขั้นตอนเกี่ยวกับวิธีการทำถุงมือข้อมูลด้วยเซ็นเซอร์ eTextile โครงการนี้เป็นความร่วมมือระหว่าง Rachel Freire และ Artyom Maxim Rachel เป็นนักออกแบบสิ่งทอถุงมือและเซ็นเซอร์ eTextile และ Arty เป็นผู้ออกแบบวงจร
ESP32 WiFi Weather Station พร้อมเซ็นเซอร์ BME280: 7 ขั้นตอน (พร้อมรูปภาพ)
ESP32 WiFi Weather Station พร้อมเซ็นเซอร์ BME280: เพื่อน ๆ ที่รักยินดีต้อนรับสู่บทช่วยสอนอื่น! ในบทช่วยสอนนี้ เราจะสร้างโครงการสถานีตรวจอากาศที่เปิดใช้งาน WiFi! เราจะใช้ชิป ESP32 ใหม่ที่น่าประทับใจพร้อมกับจอแสดงผล Nextion เป็นครั้งแรก ในวิดีโอนี้เราจะ