วัดและบันทึก ค่าความเข้มแสงด้วย Raspberry Pi + BH1750
คุณสมบัติ อีกอย่างนึงของ Raspberry Pi คือ สามารถติดต่อกับอุปกรณ์ผ่าน Bus i2c ได้ โดยวันนี้ผมจะลองนำ Raspberry Pi2 Model B ติดต่อกับเซ็นเซอร์วัดความเข้มแสง BH1750 เพื่อวัดความเข้มแสงที่ได้ พร้อมกับบันทึกข้อมูลที่ได้เป็นไฟล์ text
อุปกรณ์ที่ต้องใช้ ได้แก่ Raspberry Pi และ BH1750 ต่อวงจรดังรูป
เนื่องจาก BH1750 ใช้การติดต่อผ่าน Bus i2c เมื่อนำมาเชื่อมต่อกับ Raspberry Pi ต้องใช้ภาษา Python ในการเขียนโปรแกรม และต้องมีการติดตั้ง Libraryดังนี้
$ sudo apt-get install python3-smbus $ sudo apt-get install i2c-tools $ sudo reboot
เมื่อ Reboot เครื่องแล้ว ให้ Enable Bus i2c ของ Raspberry Pi ด้วยคำสั่ง
$ sudo raspi-config
จะปรากฎหน้าต่าง Raspberry Pi Software Configuration Tools ขึ้นมา จากนั้น เลือก Advance Option >> I2C >> Yes >> OK ดังรูป
เมื่อต่อวงจร และเปิดใช้งาน Bus I2C แล้ว ตรวจสอบการเชื่อมต่อ Bus i2C ด้วยคำสั่ง
Run Program เพื่อทดสอบ
เมื่อวัดความเข้มแสงได้แล้ว ต่อไปจะเป็นการเขียนโปรแกรม เพื่อเก็บบันค่าความเข้มแสงที่วัดได้ ลงไฟล์ text
จากโปรแกรม เป็นการรับค่าความเข้มแสง จาก BH1750 ผ่าน Bus i2C แล้วเก็บบันทึกค่าที่ได้ พร้อมกับ วันและเวลา ลงบนไฟล์ BH1750.txt ทุก 0.5 วินาที เก็บไว้ใน /home/pi/BH1750.txt
ทดสอบโดยการ Run Program ทิ้งไว้ แล้วเปิดไฟล์ BH1750.txt เพื่อดูว่าข้อมูลถูกบันทึกหรือไม่ ถ้าโปรแกรมทำงานถูกต้อง ไฟล์จะทำการบันทึกข้อมูล ดังรูป
*********************************************************************************
Montien Ngamkaew
*********************************************************************************