พื้นฐานไมโครคอนโทรลเลอร์

0
1574

อะไรคือ IPST-WiFi

คือชุดทดลองควบคุมอุปกรณ์และเชื่อมต่ออินเทอร์เน็ตด้วยโปรแกรมภาษาไพทอน (Micro Python) ในการเรียนรู้เพื่อนำไปสู่การพัฒนาโครงงานด้านวิทยาการคำนวณ ที่สอดคล้องและส่งต่อไปยังการพัฒนาอุปกรณ์ IoT (Internet of Things)


ส่วนประกอบของ IPST-WiFi


รู้จัก IPST-WiFI

หน่วยประมวลผล 

ใช้โมดูลไมโครคอนโทรลเลอร์ที่ติดตั้งชิปไมโครคอนโทรลเลอร์เบอร์ ESP32 จาก Espressive System เป็นชิปที่ใช้ซีพียู 32 บิต แกนคู่หรือ Dual core เบอร์ Xtensa LX6 เป็นซีพียูสถาปัตยกรรมฮาร์วาร์ด ซีพียูแต่ละแกนจะเรียกว่า PRO_CPU หรือ Protocol CPU และ APP_CPU หรือ Application CPU มีหน่วยความจำรอมภายใน 448 กิโลไบต์ แรม 520 กิโลไบต์ และ 16 กิโลไบต์สำหรับระบบฐานเวลานาฬิกาจริงภายในตัวชิป

หน่วยความจำ

– ติดตั้งหน่วยความจำแฟลช 4 เมกะไบต์ สำหรับบรรจุเฟิร์มแวร์ หรือโปรแกรมควบคุมหลัก

– ติดตั้งหน่วยความจำ PSRAM (Pseudo SRAM) 4 เมกะไบต์ ทำให้รองรับการเขียนโปรแกรม หรือโค้ดดิ้งด้วยภาษาไพทอนได้อย่างเต็มที่ และมีประสิทธิภาพกว่ารุ่นที่ไม่มีหน่วยความจำ PSRAM

หน่วยแสดงผล

– ติดตั้งจอแสดงผล OLED ขนาด 0.96 นิ้ว ความละเอียด 128 x 64 จุด

– มี LED (ต่อกับขาพอร์ต 18) และสวิตช์ BUTTON (ต่อกับขาพอร์ต 0) สำหรับทดสอบอินพุต เอาต์พุตดิจิตอลเบื้องต้น

– ติดตั้งลำโพงเปียโซเพื่อขับเสียง (ต่อกับ GPIO26)

คุณสมบัติอื่นๆ

– เชื่อมต่อกับคอมพิวเตอร์ผ่านพอร์ต USB ในแบบ microUSB โดยใช้ชิปแปลงสัญญาณ USB เป็นอนุกรมเบอร์ CP2104 เพื่อสื่อสารข้อมูลกับคอมพิวเตอร์และใช้อัปโหลดโค้ดลงสู่หน่วยความจำของ ESP32

– จัดสรรพอร์ตอินพุตเอาต์พุตของ ESP32 เพื่อใช้งานได้โดยตรง 8 ขา ประกอบด้วย อินพุตแอนะล็อก 4 ขา (GPIO32 ถึง 35) อินพุตเอาต์พุตดิจิทัลและเอาต์พุตแอนะล็อก 1 ขา (GPIO25) อินพุตเอาต์พุตดิจิทัล 3 ขา (GPIO5, 19 และ 23)

– มีจุดต่ออุปกรณ์ระบบบัส I2C 1 ชุด

– มีสวิตช์เปิดปิดไฟเลี้ยงสำหรับโมดูล ESP32

– มีวงจรประจุแบตเตอรี่ลิเธียมโพลีเมอร์และจุดต่อแบตเตอรี่สำหรับวงจรฐานเวลานาฬิกาจริง (Real-Time Clock) บนโมดูล ESP32

– มีวงจรเชื่อมต่อ WiFi และบลูทูธกำลังงานต่ำหรือ BLE ในตัวพร้อมสายอากาศแบบ 3D ทำให้การรับส่งสัญญาณทำได้อย่างมีประสิทธิภาพมากกว่าสายอากาศที่ใช้ลายทองแดงของแผ่นวงจรพิมพ์

– รับไฟเลี้ยง +5V จากคอนเน็กเตอร์ microUSB บนโมดูล ESP32 หรือจากจุดต่ออะแดปเตอร์บนแผงวงจร

– มีสวิตช์เปิดปิดไฟเลี้ยงหลัก พร้อม LED แสดงสถานะไฟเลี้ยง

– มีสวิตช์ RESET


เริ่มต้นใช้งาน IPST-WiFi

1. เตรียมอุปกรณ์


2. ต่อ IPST-WIFI เข้ากับคอมพิวเตอร์ด้วยสาย Micro USB


3. ไม่พบไดรว์เวอร์

ถ้าเชื่อมต่อแล้ว คอมพิวเตอร์หาไดรว์เวอร์ไม่พบ สามารถดาวน์โหลดไดรว์เวอร์ CP210x USB to UART Bridge Virtual COM Port (VCP) ได้ที่เว็บไซต์ https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers


4. Upload Firmware

ดาวน์โหลด MicroUploader เพื่ออัปโหลดเฟิร์มแวร์เข้า IPST-WIFI https://microblock.app/download (อาจใช้โปรแกรม Microblock IDE ในข้อ 5.2 แทนได้)


5. เครื่องมือเขียนโปรแกรม

การเขียนโปรแกรมสามารถทำได้ 2 รูปแบบ คือ

5.1 แบบออนไลน์ สามารถใช้งานได้ที่ https://ide.microblock.app/

5.2 แบบออฟไลน์ สามารถดาวน์โหลดได้ที่ https://microblock.app/download


6. เริ่มต้นเขียนโปรแกรม แสดงผลข้อความ

6.1 เปิด microBlock IDE

6.2 คลิกที่ปุ่ม New Project


6.3 ตั้งชื่อ Project Name ตามต้องการ


6.4 เลือก Hardware เป็น IPST-WIFI

6.5 คลิกที่ปุ่ม Create

6.6 เลือกหมวดหมู่ Control เลือกคำสั่ง forever


6.7 เลือกหมวดหมู่ Display เลือกคำสั่ง Display show และ Display draw text


6.8 คำสั่ง Display draw text สามารถแก้ไขข้อความได้ตามต้องการ รวมถึงเลือกตำแหน่งที่จะแสดงผล


6.9 เลือกหมวดหมู่ Control เลือกคำสั่ง wait


6.10 เมื่อเขียนโปรแกรมเสร็จแล้ว คลิกที่ปุ่ม Upload เพื่อนำคำสั่งใส่ลงในบอร์ด


6.11 ถ้าใช้งานผ่านเว็บเบราเซอร์ ระบบจะถามหา serial port ดำเนินการเลือก แล้วคลิกที่ปุ่ม Connect


6.12 เมื่ออัปโหลดเสร็จแล้ว IPST-WIFI จะแสดงผลทันที


รู้จักหน้าต่างโปรแกรม


แถบคำสั่ง Display

แสดงข้อความที่พิกัด x , y


แสดงรูปภาพที่พิกัด x , y


ลากเส้นตรง


วาดสี่เหลี่ยม


เติมสีขาวเต็มรูปสี่เหลี่ยม


ล้างจอแสดงผล


ให้หน้าจอแสดงผลทำงาน


แถบคำสั่ง input

เหตุการณ์เมื่อกดสวิตช์ sw1


เหตุการณ์เมื่อปล่อยสวิตช์ sw1


ตรวจสอบการกดสวิตช์ sw1


ตรวจสอบการปล่อยสวิตช์


อ่านค่าสถานะของสวิตช์ sw1


อ่านค่าดิจิทัลของพอร์ต


อ่านค่าแอนะล็อกของพอร์ต


แถบคำสั่ง output

ขับเสียงตามความถี่และระยะเวลาที่กำหนด


ขับเสียงโน้ตดนตรีและระยะเวลาที่กำหนด


ปรับความดังของเสียง


ตั้งค่าการทำงานของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI


เลือกสีของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI


เลือกสีแบบ RGB


เติมสีทั้งหมดของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI


เลือกสีทั้งหมดของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI แบบ RGB


เปิดการแสดงผลของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI


ล้างการแสดงผลของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI


แสดงแสงสีรุ้งของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI


ปรับความสว่างของจอ SLED ที่อยู่บนบอร์ด IPST-WIFI


เขียนข้อมูลดิจิทัลไปยังขาพอร์ตที่กำหนด


เขียนข้อมูลสร้างสัญญาณ pwm ไปยังขาพอร์ตที่กำหนด


แถบคำสั่ง control

หน่วงเวลาตามกำหนด


ทำงานแบบวนซ้ำตลอดเวลา


ทำงานแบบวนซ้ำ จำนวนรอบตามกำหนด


นับค่าตามที่กำหนด


ตรวจสอบเงือนไข


ตรวจสอบเงือนไขมากกว่าหนึ่งเงื่อนไข


กำหนดให้รอจนกระทั่งครบเงื่อนไขที่กำหนด


กำหนดให้ทำงานจนกระทั่งครบเงื่อนไขที่กำหนด


แถบคำสั่ง operator

บวกค่า ลบค่า คูณค่า และหารค่า


สุ่มตัวเลข


สุ่มตัวเลขแบบกำหนดขอบเขต


คำนวณตรีโกณมิติ


ปรับค่าเลขทศนิยม


เปรียบเทียบค่ามากกว่า


เปรียบเทียบค่าน้อยกว่า


เปรียบเทียบค่าเท่ากับ


ประมวลผลลอจิก (and/or)


กลับสถานะลอจิก


ป้อนข้อความ


สร้างข้อความแบบมีข้อจำกัด


แถบคำสั่ง variable


แถบคำสั่ง function

สร้างฟังก์ชั่น


สร้างฟังก์ชั่นแบบมีการคืนค่า


กำหนดการทำงานของฟังก์ชั่น


แถบคำสั่ง advance

ส่งข้อมูลไปยัง Dashboard


ส่งข้อมูลไปยังหน้าต่าง Terminal


อ่านค่าอุณหภูมิและความชื้นจาก dht11/dht22 หรือ ds1820


อ่านค่าอุณหภูมิจาก ds1820


ตั้งค่าวัน/เวลา


อ่านค่าชั่วโมง


อ่านค่านาที


อ่านค่าวินาที


อ่านค่ามิลลิวินาที


อ่านค่าวันที่


อ่านค่าเดือน


อ่านค่าปี (ค.ศ.)


ตั้งเวลาเข้ากับเวลามาตรฐาน


กำหนดให้โปรแกรมทำงานเบื้องหลัง


กำหนดเวลาให้ทำงานในโหมดสลีป


กำหนดเวลาให้ทำงานในโหมดสลีปแบบลึก


ตรวจสอบการออกจากโหมดสลีป


รีเซ็ตการทำงาน


จอแสดงผล OLED

จอแสดงผลของบอร์ด IPST-WiFi เป็นแบบกราฟิกความละเอียด 128×64 pixel ขนาด 0.96 นิ้ว ใช้ชิปควบคุมการทำงานแบบ SSD1306 ติดต่อกับไมโครคอนเลอร์

บล็อกคำสั่งใช้งานจอแสดงผล

ใน microBlock IDE มีบล็อกคำสั่งที่ใช้สำหรับติดต่อกับจอแสดงผล OLED ในบอร์ด IPST-WiFi โดยอยู่ในหมวดหมู่ Display (นักเรียนสามารถศึกษาการใช้คำสั่งแต่ละบล็อกที่เกี่ยวกับ Display ได้ในบทเรียนด้านบน)


ตัวอย่างใช้บล็อกคำสั่งแสดงข้อความออกทางจอภาพ


ตัวอย่างโปรแกรมแสดงผลภาพออกทางจอภาพ OLED

1. ดาวน์โหลดโลโก้เก็บไว้ในเครื่องคอมพิวเตอร์ คลิกเพื่อดาวน์โหลด (สามารถใช้โลโก้อื่นๆ ได้ตามต้องการ)

2. เลือกหมวดหมู่ Control เลือกใช้บล็อกคำสั่ง forever

3. เลือกหมวดหมู่ Display เลือกบล็อกคำสั่ง Display clear เพื่อล้างค่าทุกอย่างที่แสดงผลออกจากจอ OLED ก่อนหน้านี้

4. ที่หมวดหมู่ Display เลือกบล็อกคำสั่ง Display show image จากนั้นคลิกที่รูปภาพ แล้วเลือก Choose Image เลือกรูปภาพตามต้องการ

5. ปรับตั้งค่า Threshold ตามความเหมาะสม เพื่อให้รูปภาพที่นำเข้ามาเปลี่ยนสีภาพขาวดำ (จอ OLED ในบอร์ด IPST-WiFi รองรับการแสดงผลเฉพาะขาว-ดำ)

6. ที่หมวดหมู่ Display เลือกบล็อกคำสั่ง Display show

7. เลือกหมวดหมู่ Control เลือกใช้บล็อกคำสั่ง wait

8. อัปโหลดโปรแกรมเข้าสู่บอร์ด แล้วดูการแสดงผลที่จอภาพ



อ้างอิง อินโนเวตีฟ เอ็กเพอริเมนต์, “IPST-WiFi”, https://inex.co.th/home/product/ipst-wifi-activity-kit/ สืบค้นวันที่ 4 พ.ย. 2564