[ESP32 – Microblock] ตอนที่ 2 Line Notify แจ้งเตือนอุณหภูมิสูงเกินกว่าที่กำหนดไว้

ตัวอย่างการพัฒนาระบบแจ้งเตือน 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
…

Related Posts

เขียนโปรแกรมอย่างไรให้เข้าใจอย่างถ่องแท้ : ทำไมต้อง…

“ทำไมต้อง?” ก่อนจะเรียนรู้การเขียนโปรแกรมภาษา C/C++ ให้ไกลไปกว่านี้ ลองย้อนกลับมามองโครงสร้างพื้นฐานที่หลายคนเขียนจนคุ้นมือ #include <iostream> using namespace std; int main() { return 0; } หลายคนจำเพียงว่า “เขียนตามนี้แล้วโปรแกรมจะทำงาน” แต่เคยถามไหมว่า…ทำไมต้องเขียน? ทำไมต้อง #include <iostream> เพราะเรากำลังบอกให้โปรแกรมนำเครื่องมือสำหรับรับและแสดงผลข้อมูล เช่น cin และ cout…

คณิตศาสตร์สำหรับสอบ สอวน.คอมพิวเตอร์ ค่าย 1

ไม่ได้ยากเพราะสูตรเยอะ แต่ยากเพราะ “เลือกใช้ความรู้ให้ถูก” ถ้าพูดถึงการเตรียมตัวสอบ สอวน.คอมพิวเตอร์ ค่าย 1 หลายคนอาจนึกถึง Python, Algorithm หรือการเขียนโปรแกรมเป็นเรื่องแรก ๆ แต่มีอีกส่วนหนึ่งที่ไม่ควรมองข้ามเลย นั่นก็คือ คณิตศาสตร์ และจากที่ผมลองย้อนกลับไปวิเคราะห์ข้อสอบคัดเลือก สอวน.คอมพิวเตอร์ในช่วง 3 ปีล่าสุด ตั้งแต่ พ.ศ. 2567–2569 ผมพบเรื่องหนึ่งที่น่าสนใจมาก ข้อสอบคณิตศาสตร์ไม่ได้เน้นเพียงว่า “จำสูตรได้หรือไม่?” แต่เน้นว่า “เมื่อเจอโจทย์แล้ว…

Python สำหรับสอบ สอวน.คอมพิวเตอร์ ค่าย 1 (วิเคราะห์ข้อสอบ 2567-2569)

เด็กไม่ได้ต้อง “เขียนโปรแกรมเก่ง” อย่างเดียว แต่ต้อง “อ่านโปรแกรมเป็น” ถ้าพูดถึงการเตรียมตัวสอบ สอวน.คอมพิวเตอร์ ค่าย 1 หนึ่งในเรื่องที่นักเรียนแทบทุกคนต้องเจอแน่นอนก็คือ Python แต่จากการย้อนกลับไปดูข้อสอบคัดเลือกในช่วง 3 ปีที่ผ่านมา สิ่งหนึ่งที่เห็นค่อนข้างชัดคือ ข้อสอบไม่ได้ต้องการวัดว่าเด็กจำคำสั่ง Python ได้มากแค่ไหน แต่กำลังวัดว่า “เมื่อเห็นโปรแกรมแล้ว สามารถคิดตามการทำงานของโปรแกรมได้หรือไม่” นี่เป็นคนละเรื่องกันเลยครับ เด็กบางคนเขียน Python ได้หลายบรรทัด รู้จักคำสั่งต่าง ๆ…

5 ไอเดียเปลี่ยนโลกด้วยอุปกรณ์ 3 ชิ้น เปลี่ยน Arduino Ultrasonic และ LED ให้เป็นระบบอัตโนมัติสุดล้ำ

5 ไอเดียเปลี่ยนโลกด้วยอุปกรณ์ 3 ชิ้น เปลี่ยน Arduino Ultrasonic และ LED ให้เป็นระบบอัตโนมัติสุดล้ำ … ตัวอย่างการต่อวงจรและโค้ดที่นี่ https://www.tinkercad.com/things/69RaeC3q7xf-ultrasonicled … เคยสงสัยไหมครับว่า “รถยนต์ขับเคลื่อนอัตโนมัติ” หรือ “หุ่นยนต์ทำความสะอาด” มันรู้ได้ยังไงว่าข้างหน้ามีกำแพง? หรือรู้ได้ยังไงว่าต้องหยุดก่อนจะชน? … คำตอบคือพวกมันมี “ดวงตา” ครับ … และวันนี้ เราจะไปดูว่าจะสร้าง…

เรียนรู้ Python สนุกได้ ไม่น่าเบื่อ! กับ Python Coding Game Lab

หลายคนอาจคิดว่าการเรียนรู้การเขียนโปรแกรม โดยเฉพาะภาษา Python นั้นเป็นเรื่องซับซ้อนและน่าเบื่อ ต้องนั่งจ้องหน้าจออ่านโค้ดตัวอักษรสีขาวดำ แต่จะดีแค่ไหนถ้าเราสามารถเรียนรู้ทักษะที่สำคัญนี้ได้ผ่านการเล่นเกมที่สนุกและท้าทาย? วันนี้เราขอแนะนำ “Python Coding Game Lab” แพลตฟอร์มที่จะเปลี่ยนการเรียนรู้ Python ของคุณให้กลายเป็นประสบการณ์ที่น่าตื่นเต้น! Python Coding Game Lab คืออะไร? Python Coding Game Lab คือแพลตฟอร์มการเรียนรู้แบบใหม่ที่ออกแบบมาเพื่อให้ทุกคนเข้าถึงการเขียนโปรแกรม Python ได้อย่างง่ายดายและเพลิดเพลิน ด้วยแนวคิด…

บทเรียนไพทอน

แจกฟรี! สื่อการสอน Python 6 บทเรียน (ฉบับเริ่มต้น) ด้วย Google Colab

สวัสดีครับ คุณครูและผู้ที่สนใจการสอนเขียนโปรแกรมทุกท่าน การสอนเขียนโปรแกรมภาษา Python ถือเป็นก้าวแรกที่สำคัญสำหรับนักเรียนในการเข้าสู่โลกของวิทยาการคำนวณ แต่การเตรียมสื่อการสอนที่น่าสนใจและง่ายต่อการใช้งานก็อาจต้องใช้เวลาพอสมควร วันนี้ ผม จึงขอนำสื่อการสอน Python ที่สร้างบน Google Colab มาแบ่งปันครับ สื่อชุดนี้ออกแบบมาสำหรับนักเรียนที่เพิ่งเริ่มต้น โดยเน้นการเรียนรู้แบบลงมือทำ (Active Learning) ข้อดีคือคุณครูและนักเรียน ไม่ต้องติดตั้งโปรแกรมใดๆ สามารถเปิดใช้งานและรันโค้ดผ่านเบราว์เซอร์ได้ทันที! ในชุดบทเรียนนี้ประกอบด้วย 6 ไฟล์ (.ipynb) ดังนี้: สื่อการสอนชุดนี้จะปูพื้นฐานตั้งแต่เริ่มต้นไปจนถึงการประยุกต์ใช้…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.