[บันทึกช่วยจำ] การเตรียมสถานีทดลอง IoT งาน ม.อ.วิชาการ กิจกรรมที่ 1 สถานี 5
สถานี 5 การใช้งานสวิทซ์แบบกดติดปล่อยดับ ควบคุมโมดูลเสียง Buzzer ของเครื่องอื่น
ผลสัมฤทธิ์
- เปิด/ปิดเสียงเตือนของ runlinc อื่น ด้วยการกดสวิตซ์ที่บอร์ดได้
อุปกรณ์
- บอร์ด Runlinc E32W จำนวน 2 บอร์ด
- โมดูลเสียง Buzzer
- โมดูลสวิทซ์ (ฺButton) แบบกดติดปล่อยดับ
- โมดูลหลอดไฟ LED จำนวน 2 ตัว
บอร์ด Buzzer
วิธีการ
1. ทำการต่อโมดูลเสียง Buzzer เข้ากับช่อง io23 (D23) และโมดูลหลอดไฟ LED เข้ากับช้อง io19 (D19) บนบอร์ด Runlinc E32W จากนั้นเสียบบอร์ดเข้ากับเครื่องโน้ตบุคผ่าน USB ให้เรียบร้อย
2. ที่เครื่องโน้ตบุค ให้เปิดใช้งาน Mobile hotspot (settings > Network & internet > Mobile hotspot) กำหนดชื่อ SSID: runline, Password: runlinc1234, Band: 2.4 GHz รอสักครู่จะมีอุปกรณ์เข้ามาเชื่อมต่อ
3. เปิดเบราเซอร์เข้าเว็บเพจสำหรับเขียนคำสั่งควบคุมอุปกรณ์ที่ http://192.168.137.xxx/control.html โดย xxx คือหมายเลขอุปกรณ์ที่อยู่บนสติกเกอร์สีเหลือง จากนั้นให้ทำดังนี้
- (1) กำหนดบอร์ดที่ใช้เป็น ESP32
- (2) ที่ Port D19 ตั้งค่า DIGITAL_OUT ตั้งชื่อ NAME Light เพื่อกำหนดให้โมดูลหลอดไฟ LED เป็น output
- (3) ที่ Port D23 ตั้งค่า DIGITAL_OUT ตั้งชื่อ NAME Buzzer เพื่อกำหนดให้โมดูลเสียง เป็น output
- (4) ที่ HTML Block ปล่อยว่าง
- (5) ที่ JavaScript Block ให้เขียนคำสั่งสร้างปุ่มควบคุม ดังนี้
const urlParams = new URLSearchParams(window.location.search);
const myParam = urlParams.get('myParam');
if(myParam==1){
turnOn( Light );
turnOn( Buzzer);
}else{
turnOff( Light );
turnOff( Buzzer);
} - (5) คลิกปุ่ม Send เพื่อส่ง Code ทั้งหมดเขาสู่บอร์ด runlinc
บอร์ดสวิตซ์กด
วิธีการ
1. ทำการต่อโมดูลเสียง Buzzer เข้ากับช่อง io23 (D23) และโมดูลหลอดไฟ LED เข้ากับช้อง io19 (D19) บนบอร์ด Runlinc E32W จากนั้นเสียบบอร์ดเข้ากับเครื่องโน้ตบุคผ่าน USB ให้เรียบร้อย
2. ที่เครื่องโน้ตบุค ให้เปิดใช้งาน Mobile hotspot (settings > Network & internet > Mobile hotspot) กำหนดชื่อ SSID: runline, Password: runlinc1234, Band: 2.4 GHz รอสักครู่จะมีอุปกรณ์เข้ามาเชื่อมต่อ
3. เปิดเบราเซอร์เข้าเว็บเพจสำหรับเขียนคำสั่งควบคุมอุปกรณ์ที่ http://192.168.137.xxx/control.html โดย xxx คือหมายเลขอุปกรณ์ที่อยู่บนสติกเกอร์สีเหลือง จากนั้นให้ทำดังนี้
- (1) กำหนดบอร์ดที่ใช้เป็น ESP32
- (2) ที่ Port D19 ตั้งค่า DIGITAL_OUT ตั้งชื่อ NAME Light เพื่อกำหนดให้โมดูลหลอดไฟ LED เป็น output
- (3) ที่ Port D32 ตั้งค่า DIGITAL_IN ตั้งชื่อ NAME Button เพื่อกำหนดให้โมดูลสวิทซ์ เป็น input
- (4) ที่ HTML Block ปล่อยว่าง
- (5) ที่ JavaScript Block ให้เขียนคำสั่งสร้างปุ่มควบคุม ดังนี้
var statButton = 0;
var newWindow;
var newWindow2;
var myurl1="http://192.168.137.xxx/?myParam=1"; //xxx คือหมายเลขอุปกรณ์ของ บอร์ด Buzzer
var myurl2="http://192.168.137.xxx/?myParam=2"; //xxx คือหมายเลขอุปกรณ์ของ บอร์ด Buzzer
var props = 'scrollBars=yes,resizable=no,toolbar=no,menubar=no,location=no,directories=no,width=1,height=1';
async function btnClick(myParam){
if(myParam==1){
turnOn( Light );
newWindow1 = window.open(myurl1, "_blank", props);
await mSec( 3000 );
newWindow1.close();
}else{
turnOff( Light );
newWindow2 = window.open(myurl2, "_blank", props);
await mSec( 3000 );
newWindow2.close();
}
} - (5) ที่ JavaScript Loop Block ให้เขียนคำสั่งสร้างปุ่มควบคุม ดังนี้
if ((statButton == 0) && (digitalIn(Button) == 0)){
statButton = 1
await btnClick( 1);
}else if ((statButton == 1) && (digitalIn(Button) == 1)){
statButton = 0
await btnClick( 2);
} - (5) คลิกปุ่ม Run Code เพื่อทดสอบโปรแกรมที่เขียนขึ้น ทดสอบโดยการกดสวิทซ์ค้างไว้จนไฟ LED สว่างและบอร์ด Buzer มีเสียงและไฟ LED สว่าง แล่วค่อยปล่อยสวิทซ์
- Log in to post comments
- 43 views