[บันทึกช่วยจำ] การเตรียมสถานีทดลอง IoT งาน ม.อ.วิชาการ 66 กิจกรรมที่ 1 สถานี 3

กิจกรรมที่ 1 ฝึกเขียนโปรแกรมควบคุมโมดูลหลอดไฟ LED และโมดูลเสียง Buzzer ร่วมกับบอร์ด Runlinc พร้อมนำไปประยุกต์ใช้งาน

สถานี 3 การสร้างระบบแจ้งเตือนเมื่อไฟฟ้าดับและไฟฉุกเฉิน โดยการประยุกต์ใช้งานโมดูลเซนเซอร์ต่างๆ (เสียง, หลอดไฟ LED, เซ็นเซอร์วัดระดับแสงสว่าง) ร่วมกับบอร์ดไมโครคอนโทรลเลอร์ Runlinc E32W

ผลสัมฤทธิ์

  • ระบบแจ้งเตือนด้วยเสียงเมื่อไฟฟ้าดับ และเปิดหลอดไฟฉุกเฉินเพื่อให้แสงสว่างได้

อุปกรณ์

  • บอร์ด Runlinc E32W

     
  • โมดูลเสียง Buzzer
  • โมดูลหลอดไฟ LED
    โมดูลหลอด LED แบบ RGB ขนาด 5mm 3-color LED module KY-016
  • โมดูล Photoresistor วัดแสงสว่าง

     

วิธีการ

  1. ทำการต่อโมดูลต่างๆ ลงบนบอร์ด Runlinc E32W ดังนี้
    - หลอดไฟ LED เข้ากับช่อง io15 (D15)
    - เสียง Buzzer เข้ากับช่อง io23 (D23)
    - โมดูล Photoresistor เข้ากับช่อง io33 (D33)
    จากนั้นเสียบบอร์ดเข้ากับเครื่องโน้ตบุคผ่าน USB ให้เรียบร้อย

    **ในภาพใช้โมดูล Two Color LED ซึ่งจะมีสองสีคือแดงและเหลือง เลือกให้แสดงผลแค่สีเหลือง จึงง้างขาสีแดง (ตรงกลาง) ขึ้น
     
  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 D15 ตั้งค่า DIGITAL_OUT ตั้งชื่อ NAME LED เพื่อกำหนดให้โมดูลหลอดไฟ LED เป็น output
      ที่ Port D23 ตั้งค่า DIGITAL_OUT ตั้งชื่อ NAME Buzzer เพื่อกำหนดให้โมดูลเสียงเป็น output
      ที่ Port D33 ตั้งค่า ANALOG_IN ตั้งชื่อ NAME Light เพื่อกำหนดให้โมดูล Photoresistor เป็น input
    • (3) ที่ HTML Block ให้เขียนคำสั่งสร้างปุ่มควบคุมในการเปิดปิดไฟฉุกเฉินผ่านทางหน้าจอ ดังนี้

      <h1><u>สถานี 3</u> การสร้างระบบแจ้งเตือนเมื่อไฟฟ้าดับและไฟฉุกเฉิน โดยการประยุกต์ใช้งานโมดูลเซนเซอร์ต่างๆ (เสียง, หลอดไฟ LED, เซ็นเซอร์วัดระดับแสงสว่าง) ร่วมกับบอร์ดไมโครคอนโทรลเลอร์ Runlinc E32W</h1>
      <h2>เปิด/ปิดไฟฉุกเฉินผ่านแอพ</h2>
      <button onclick="lightON()">ON</button>
      <button onclick="lightOFF()">OFF</button>
       
    • (4) ที่ JavaScript Block ให้เขียนคำสั่งฟังก์ชันเปิดและปิดไฟฉุกเฉิน ดังนี้

      var statButton = '1'; // กำหนดสถานะของสวิทซ์เท่ากับ 1 (สวิทซ์ปิด) ไว้ใน statButton 

      function lightON(){ // ฟังก์ชันเปิดไฟฉุกเฉิน
      statButton = 0; // กำหนดสถานะของสวิทซ์เท่ากับ 0 (สวิทซ์เปิด)
      }

      function lightOFF(){ // ฟังก์ชันปิดไฟฉุกเฉิน 
      statButton = 1; // กำหนดสถานะของสวิทซ์เท่ากับ 1 (สวิทซ์ปิด)
      }
       

    • (5) ที่ JavaScript Loop Block ให้เขียนคำสั่งตรวจสอบสถานะของปุ่มจากการคลิกที่หน้าจอ และค่าความเข้มของแสงที่ตัวเซ็นเซอร์ Photoresistor รับค่าได้ เพื่อสั่งเปิดและปิดไฟฉุกเฉินและเสียงสัญญาณ ดังนี้

      var lightLevel = analogIn(Light); // จัดเก็บค่าความเข้มของแสงที่วัดได้ไว้ใน lightLevel 

      if (statButton == 0 || lightLevel >= 80){ // ตรวจสอบสถานะสวิทซ์เป็น 0 หรือ ค่าความเข้มของแสงตั้งแต่ 80 ให้เปิดไฟฉุกเฉินและสัญญาณเสียง
      turnOn( Buzzer );
      turnOn( LED );
      }else if (statButton == 1 || lightLevel < 80){ // ตรวจสอบสถานะสวิทซ์เป็น 1 หรือ ค่าความเข้มของแสงน้อยกว่า 80 ให้ปิดไฟฉุกเฉินและสัญญาณเสียง
      turnOff( Buzzer );
      turnOff( LED );
      }
       

    • (6) คลิกปุ่ม Run Code เพื่อทดสอบโปรแกรมที่เขียนขึ้นจากคอนโซลด้านล่างของหน้าจอ ทำการคลิกปุ่ม หรือใช้วัตถุบังแสงที่ตกกระทบเซ็นเซอร์ Photoresistor เพื่อดูผลลัพธ์ที่เกิดขึ้น จะพบว่าระบบสามารถส่งสัญญาณเสียงเตือนและเปิดไฟฉุกเฉินได้เมื่อตรวจวัดความเข้มของแสงในระดับที่กำหนดไว้นั่นเอง

ไฟล์ที่เกี่ยวข้อง

หมายเหตุ

  • กิจกรรม  STEM Maker Space – IoT Easy Coding สนุกกับการควบคุมอุปกรณ์ IoT ด้วยโปรแกรมคอมพิวเตอร์อย่างง่าย
    1. ฝึกเขียนโปรแกรมควบคุมโมดูลหลอดไฟ LED และโมดูลเสียง Buzzer ร่วมกับบอร์ด Runlinc พร้อมนำไปประยุกต์ใช้งาน
    2. สร้างโครงงานด้านวิทยาการคำนวณกับชุดอุปกรณ์ KidBright 32iP
    ในงาน ม.อ.วิชาการ วันที่ 6 กันยายน พ.ศ. 2566 ณ อาคารสำนักวิทยบริการ (หอสมุดจอห์น เอฟ เคนเนดี้) มหาวิทยาลัยสงขลานครินทร์ วิทยาเขตปัตตานี

Rating

Average: 5 (1 vote)