ตัวอย่างการพัฒนาระบบแจ้งเตือน Line Notify ด้วย Microblock ครับ
…
ตัวอย่างนี้ผมลองใช้ DHT22 ซึ่งเป็นโมดูลวัดอุณหภูมิและความชื้นในอากาศ
…
การเชื่อมต่อ ขาบวกต่อเข้ากับ 3V, ขาลบต่อเข้ากับ GND และ OUT ต่อกับ GPIO4 หรือ pin D4 ของบอร์ด ESP32 ครับ
…
จากนั้นเข้าเว็บ Line Nofity แล้ว Login ด้วย account Line ไปสร้าง Token มาครับ แล้วก็มาเขียนคำสั่งตามนี้ได้เลย ลองเล่นดูครับ ผมว่า Microblock ใช้ง่าย อัปโหลดคำสั่งไวดี
…
แนวคิดเชิงคำนวณเอามาช่วยแก้ปัญหานี้ได้อย่างไร
สำหรับนักเรียนหรือคุณครูที่ยังเริ่มไม่ถูก ไม่รู้จะทำอะไรก่อน เรามาลองใช้แนวคิดเชิงคำนวณช่วยแก้ปัญหากันครับ
…
ขั้นแรกเรามาวิเคราะห์กันก่อนว่าปัญหาที่เราจะทำคืออะไร ถ้าปัญหานี้คือการพัฒนาระบบแจ้งเตือนอุณหภูมิสูงเกินกำหนดผ่านไลน์แอปฯ แสดงว่านี่คือปัญหาใหญ่ของเราครับ
…
ซึ่งถ้าจะแก้ปัญหาให้ง่ายก็น่าจะต้องทำปัญหาใหญ่ให้เล็กลง ด้วยการวิเคราะห์ดูว่าสิ่งที่เราจะต้องทำหรือฟังก์ชันการทำงานของระบบนี้มีอะไรบ้าง ถ้าเริ่มจาก 0 ก็น่าจะเริ่มจาก
1) อุปกรณ์ที่ต้องใช้มีอะไรบ้าง (เราก็ไปเข้า google/chatgpt เลยครับ ว่าระบบนี้ใช้อุปกรณ์อะไร ก็น่าจะได้คำตอบว่าต้องมี mcu และ mcu จะต้องต่อ wifi ได้ มีเซ็นเซอร์ ใช่ไหมครับ เราก็ไปหาอุปกรณ์กันเลย ซึ่งจะน่าจะได้บอร์ดพวก Kidbright / ESP32 / ESP8266 / Arduino WiFi ประมาณนี้ และจะเขียนโปรแกรมด้วยอะไรที่ง่ายสำหรับเรา ก็อาจจะได้คำตอบได้แก่ Arduino IDE / Microblock เป็นต้น
2) เมื่อได้อุปกรณ์มาแล้วต้องทำอย่างไรดี เราก็ต้องเริ่มหัดใช้มันให้เป็นครับ เริ่มจากวิเคราะห์ปัญหาย่อยทีละส่วน ถ้าบอร์ดที่ได้มาคือ ESP32 เราจะเริ่มต้นใช้งานได้อย่างไร เริ่มทดลองใช้งานเบื้องต้นโดยไม่ต่ออุปกรณ์ใด ๆ พอได้แล้วก็แก้ปัญหาต่อไปคือจะอ่านค่าจากเซ็นเซอร์อย่างไร อ่านค่าได้แล้วก็แก้ปัญหาต่อไปคือจะแจ้งเตือนผ่านไลน์อย่างไร
3) ปัญหาย่อยเหล่านี้ก็ต้องใช้การคิดหารูปแบบช่วยแก้ปัญหาครับ อาจจะมาจากองค์ความรู้ที่เรามีอยู่แล้ว เคยเรียนมาบ้างแล้ว หรือไปค้นหาจาก youtube google อะไรประมาณนั้น เราก็จะได้ pattern ของการแก้ปัญหา
4) abstraction ใช้ไหม จริงๆ ก็ใช้อยู่ตลอดนะครับ เพราะการพัฒนาระบบนี้ เราก็ต้องคำนึงถึงการทำระบบหลักให้สำเร็จ และอย่าไปเอาเรื่องอื่นที่ไม่เกี่ยวข้องมาทำให้เป็นปัญหาครับ เช่น เราคงไม่ไปคำถึงถึงว่านะออกแบบหน้าตากล่องวงจรนี้อย่างไร โดยที่วงจรยังใช้งานไม่ได้ ใช่ไหมครับ
5) และ algorithm ที่เราใช้แก้ปัญหาแต่ละส่วนที่เกิดจากการไปค้นคว้า รวบรวม และนำมาออกแบบเป็นชุดความคิด (น้อยคนที่จะเขียนผังงาน) ซึ่งจะไปสู่การเขียนโปรแกรมของเรานั่นเองครับ
….
นี่ก็เป็นตัวอย่างการใช้แนวคิดเชิงคำนวณในการแก้ปัญหาครับ ผมอาจจะเล่าดูง่าย แต่อยากให้ทุกท่านรู้ว่า ระบบที่ผมทำให้ดูนี้ผมก็ใช้แนวคิดเชิงคำนวณที่กล่าวมาช่วยแก้ปัญหาครับ แต่ก็โชคดีที่ผมยังมี pattern อยู่ในหัวบ้าง บางขั้นตอนก็เลยง่ายครับ
…
ดูตัวอย่างคลิปสาธิตและแนะนำได้ที่นี่ครับ https://www.youtube.com/watch?v=tGgCccedHkI
…