- Light Dependent Resistor (LDR) หรือที่รู้จักกันอีกชื่อว่า Photoresistor ตัวนี้นะ
- โปรเจกต์นี้จะมาสาธิตให้น้องๆ ดูว่าเราจะใช้เจ้าตัว LDR กับ Arduino ยังไง
- ค่าความต้านทานของ LDR มันจะเปลี่ยนไปตามปริมาณแสงที่ตกกระทบนะจ๊ะ
- เราจะสั่งให้ค่าที่อ่านได้จาก LDR แสดงผลออกมาที่ Serial monitor ให้ดูกัน
Working with [LDR](https://s.shopee.co.th/1BHCUqb0Tt)
ลงลึกเรื่องเทคนิคกันหน่อย
Analog-to-Digital Intensity Mapping (การแปลงค่าความเข้มแสง)
LDR (Photoresistor) เป็นวิธีพื้นฐานสุดๆ ที่นิยมใช้กันในวงการอิเล็กทรอนิกส์สำหรับงานอดิเรกเพื่อตรวจจับระดับแสง
- ทฤษฎี Voltage Divider: เนื่องจาก Arduino ไม่สามารถวัดค่าความต้านทานได้โดยตรง เราจึงต้องต่อ LDR กับ ตัวต้านทาน 10kΩ เป็นวงจร Voltage Divider เวลาแสงสว่างมากขึ้น ความต้านทานของ LDR จะลดลง ทำให้แรงดันไฟฟ้าที่ Analog pin สูงขึ้นตามไปด้วย
- ADC Sampling: ADC ขนาด 10-bit ของ Arduino จะแปลงแรงดันไฟฟ้านั้นให้เป็นค่าตัวเลขตั้งแต่ 0 (มืดสนิท) ไปจนถึง 1023 (แสงจ้าแบบกลางแดด)
นำไปใช้ทำอะไรได้บ้าง?
- ไฟอัตโนมัติตอนกลางคืน (Auto-Nightlights): เพิ่มเงื่อนไขในโค้ดให้สั่งงาน Relay หรือเปิด LED อัตโนมัติเมื่อระดับแสงต่ำกว่าค่าที่เราตั้งไว้
- Hysteresis (การกันการสั่นไหว): เราใส่ "Deadzone" หรือช่วงตายเล็กๆ ลงในเฟิร์มแวร์ เพื่อป้องกันไม่ให้ไฟกระพริบติ้กตอกเมื่อแสงแวดล้อมอยู่ตรงค่ากำหนดเป๊ะๆ ทำให้การทำงานนุ่มนวลและดูโปรเหมือนของมืออาชีพเลย