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

0
48

อะไรคือ 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