คู่มือการใช้งานชุดเซนเซอร์ 37-in-1 ร่วมกับ runlinc : Photoresistor
เอกสารนี้แนะนำวิธีการเชื่อมต่อและเขียนโค้ดควบคุมเซนเซอร์ 37 ชนิด ผ่านแพลตฟอร์ม runlinc โดยใช้บอร์ด ESP32 (E32W)
1.ชื่อ: Photoresistor (LDR - Light Dependent Resistor)
ชื่อเรียกทั่วไป: ตัวต้านทานแสง
1.ชื่อ: Photoresistor (LDR - Light Dependent Resistor)
หน้าที่
Photoresistor เป็นอุปกรณ์อิเล็กทรอนิกส์ที่มีคุณสมบัติพิเศษคือความต้านทานไฟฟ้าจะเปลี่ยนแปลงไปตามปริมาณแสงที่ตกกระทบ ยิ่งมีแสงมาก ความต้านทานก็จะยิ่งต่ำลง และยิ่งมีแสงน้อย ความต้านทานก็จะยิ่งสูงขึ้น คุณสมบัตินี้ทำให้ Photoresistor เหมาะสำหรับการนำไปใช้ในวงจรที่ต้องการตรวจจับระดับแสงสว่าง เช่น การเปิด-ปิดไฟอัตโนมัติเมื่อแสงน้อย, การวัดความสว่างของสภาพแวดล้อม, หรือการสร้างระบบเตือนภัยที่ทำงานเมื่อมีแสงส่องเข้ามา
การเชื่อมต่อ
|
Flame Sensor Pin |
E32W Pin |
คำอธิบาย |
|
- (GND) |
GND |
กราวด์ |
|
+ / VCC |
3V3 |
ไฟเลี้ยง 3.3V |
|
S (Signal) |
IO32 |
สัญญาณความเข้นข้นแสง (Analog) |
การตั้งค่าใน runlinc:
- IO32: ANALOG_IN (Name: LightSensor)
โค้ดตัวอย่าง
HTML:
<h1>เซนเซอร์วัดแสง </h1>
<p> ระดับความสว่าง: <span id="lightValue">--</span></p>
JavaScript:
function updateLightValue() {
const lightSensorValue = analogIn(LightSensor); // อ่านค่าจาก Photoresistor
document.getElementById('lightValue').innerText = lightSensorValue;
}
JavaScript Loop:
updateLightValue(); // เรียกฟังก์ชันเพื่ออัปเดตค่าทันทีเมื่อเริ่มทำงาน
await mSec(500); // รอ 500 มิลลิวินาที ก่อนจะวนลูปใหม่
คำอธิบายโค้ด:
HTML: สร้างหัวข้อ "Photoresistor Value" และย่อหน้าสำหรับแสดงค่า "Light Level" โดยใช้ <span> ที่มี id="lightValue" เพื่อให้ JavaScript สามารถอัปเดตค่าได้
JavaScript: updateLightValue(): ฟังก์ชันนี้จะเรียกใช้ analogIn(LightSensor) เพื่ออ่านค่าจาก Photoresistor ที่เชื่อมต่อกับ Pin ที่ตั้งชื่อว่า LightSensor ค่าที่อ่านได้ (ซึ่งจะเป็นตัวเลขระหว่าง 0-255) จะถูกนำไปแสดงผลที่ <span> ที่มี id="lightValue"
JavaScript Loop: updateLightValue();: เรียกฟังก์ชัน updateLightValue() เพื่ออ่านและแสดงค่าแสงทันทีที่โปรแกรมเริ่มทำงาน await mSec(500);: หน่วงเวลา 500 มิลลิวินาที (ครึ่งวินาที) ก่อนที่จะวนกลับไปทำซ้ำใน JavaScript Loop เพื่ออ่านค่าแสงอีกครั้ง ทำให้ค่าที่แสดงบนหน้าเว็บมีการอัปเดตเป็นระยะๆ
ผลลัพธ์การใช้งาน
หน้าเว็บจะแสดงตัวเลข 0-500 ตามความเข้มข้นของแสง
- Log in to post comments
- 4 views