เริ่มต้นใช้งาน microBlock IDE เวอร์ชั่นเว็บ

microBlock IDE เป็นเครื่องมือที่ใช้เขียนโปรแกรมให้บอร์ด KidBright ด้วยภาษาบล็อกและ Python มี 2 เวอร์ชั่น คือ เวอร์ชั่นเว็บ (ออนไลน์) และเวอร์ชั่นโปรแกรม (ออฟไลน์) ในบทความนี้จะมาแนะนำขั้นตอนการจัดเตรียม และใช้งาน microBlock IDE เวอร์ชั่นเว็บเบื้องต้น

เตรียมความพร้อมก่อนเริ่มใช้ microBlock IDE เวอร์ชั่นเว็บ

microBlock IDE เวอร์ชั่นเว็บจำเป็นจะต้องมีการจัดเตรียมฮาร์ดแวร์และเว็บเบราว์เซอร์ก่อน จึงจะเริ่มใช้งานได้

การจัดเตรียมฮาร์ดแวร์

microBlock IDE ทำหน้าที่เป็น User interface ให้ผู้ใช้ป้อนคำสั่งที่ต้องการลงไปเท่านั้น คำสั่งโปรแกรมที่สร้างขึ้นจะถูกประมวลผลด้วยเฟิร์มแวร์ MicroPython บนบอร์ด KidBright ดังนั้นเพื่อให้บอร์ด KidBright ใช้งานกับ microBlock IDE เวอร์ชั่นเว็บได้ จำเป็นจะต้องติดตั้งเฟิร์มแวร์ MicroPython ลงไปก่อน

เฟิร์มแวร์ MicroPython ที่ใช้งานได้ จะต้องเป็นเฟิร์มแวร์ที่ปรับแต่งมาเฉพาะเท่านั้น สำหรับบอร์ด KidBright โครงการ microBlock ได้จัดทำเฟิร์มแวร์ MicroPython for KidBright ขึ้นมา ซึ่งเป็นเฟิร์มแวร์ที่ฝังไลบารี่เกี่ยวกับอุปกรณ์บนบอร์ด KidBright มาให้แล้ว ทำให้สามารถเรียกใช้ modules เพื่อเขียนโปรแกรมควบคุมสั่งงานอุปกรณ์ต่าง ๆ บนบอร์ดได้เลย

การอัพโหลดเฟิร์มแวร์ MicroPython for KidBright32 สามารถใช้เครื่องมือได้หลายตัว ในบทความนี้จะแนะนำให้ใช้ MicroUploader ซึ่งเป็นโปรแกรมที่โครงการ microBlock จัดทำขึ้น เพื่อใช้อัพโหลดเฟิร์มแวร์ MicroPython โดยเฉพาะ

การใช้โปรแกรม MicroUploader อัพโหลดเฟิร์มแวร์ MicroPython for KidBright32 มีขั้นตอนดังนี้

ดาวน์โหลดโปรแกรม MicroUploader ได้ที่ https://microblock.app/download โดยเลื่อนลงไปด้านล่าง แล้วกดเลือกดาวน์โหลดโปรแกรม MicroUploader ตามระบบปฏิบัติการ ตัวอย่างบทความนี้ใช้ Windows 10 64 บิต จึงเลือก ดาวน์โหลดโปรแกรมสำหรับ Windows 64 บิต

เมื่อดาวน์โหลดมาแล้ว ให้คลายไฟล์ ZIP ออกมา จะได้ไฟล์ MicroUploader.exe มา ให้ดับเบิลคลิกเปิดโปรแกรมได้เลย

หน้าต่างโปรแกรม MicroUploader จะแสดงขึ้นมา (ดังรูป)

เสียบบอร์ด KidBright เข้ากับเครื่องคอมพิวเตอร์ แล้วตั้งค่าในโปรแกรมดังนี้

  1. เลือกบอร์ดเป็น KidBright32
  2. เลือกพอร์ตของบอร์ดให้ถูกต้อง
  3. เลือกเวอร์ชั่นของเฟิร์มแวร์ MicroPython for KidBright32 แนะนำให้เลือกอันแรกสุด

หลังจากตั้งค่าครบแล้ว กดปุ่ม Upload (4) เพื่อเริ่มการอัพโหลดได้เลย

รอโปรแกรม MicroUploader อัพโหลดเฟิร์มแวร์ซักครู่

เมื่ออัพโหลดเสร็จแล้ว โปรแกรมจะแจ้งผลการอัพโหลดให้ทราบ สามารถกดปิดโปรแกรมไปได้เลย

การจัดเตรียมโปรแกรม Google Chrome

microBlock IDE เวอร์ชั่นเว็บเชื่อมต่อกับบอร์ด KidBright ผ่าน Web Serial API ซึ่งปัจจุบันยังไม่ได้รับการเพิ่มเข้า Google Chrome อย่างเป็นทางการ การใช้งานจำเป็นต้องเปิดการตั้งค่าใน Google Chrome ก่อน

การเปิดใช้งาน Web Serial API ให้เปิดโปรแกรม Google Chrome ขึ้นมา จากนั้นเข้าไปที่ chrome://flags (1) ค้นหา #enable-experimental-web-platform-features (2) ตรง Experimental Web Platform features ให้เปลี่ยนเป็น Enabled (3) เป็นอันเสร็จสิ้นการเปิดใช้งาน Web Serial API

การใช้งาน microBlock IDE เวอร์ชั่นเว็บเบื้องต้น

หลังจากเตรียมฮาร์ดแวร์และโปรแกรม Google Chrome เรียบร้อยแล้ว สามารถเข้าใช้งาน microBlock IDE เวอร์ชั่นเว็บได้ที่ https://ide.microblock.app/

การสร้างโปรเจคใหม่

การเข้าใช้งานครั้งแรก บอร์ดจะถูกเลือกเป็น KidBright32 V1.3 & V1.4 หากใช้งานบอร์ด KidBright32 เวอร์ชั่นอื่น จำเป็นต้องเลือกบอร์ดใหม่ก่อน การเลือกบอร์ดใหม่ทำได้โดยสร้างโปรเจคใหม่

กดที่ปุ่ม New Project เพื่อเริ่มขั้นตอนสร้างโปรเจคใหม่

โปรแกรมจะแจ้งเตือนว่า การสร้างโปรเจคใหม่จะทำให้โค้ดโปรแกรมที่เขียนไว้ทั้งหมดถูกลบ (หากไม่ได้บันทึกไว้ก่อน) ให้กด Yes เพื่อยืนยันสร้างโปรเจคใหม่

หน้าต่างตั้งค่าโปรเจคใหม่จะแสดงขึ้นมา ให้ตั้งค่าต่าง ๆ ดังนี้

  1. ตั้งชื่อโปรเจค
  2. เลือกบอร์ด KidBright ที่ใช้ ตัวอย่างใช้ KidBright32 V1.3 จึงเลือก KidBright32 V1.3 & V1.4
  3. เลือกระดับของผู้ใช้ ปัจจุบันมีระดับเดียว
  4. กดปุ่ม Create เพื่อสร้างโปรเจคใหม่

เป็นอันเสร็จสิ้นการสร้างโปรเจคใหม่และเลือกบอร์ดใหม่

ดูบอร์ดที่เลือกปัจจุบันได้ โดยสังเกตที่แถบด้านล่างของโปรแกรม

ทดสอบอัพโหลดโปรแกรม

ทดสอบสร้างโปรแกรมแสดงผลข้อความวิ่ง Hello! บนแอลอีดี 16×8 บนบอร์ด KidBright

คลิกที่หมวด Display (1) จากนั้นคลิกเม้าส์ซ้ายค้างที่บล็อก display show scroll แล้วลากออกมาวางที่พื่นที่ทำงาน (2)

อัพโหลดโปรแกรมโดยกดที่ปุ่ม Upload

Google Chrome จะขึ้นแจ้งเตือนว่า microBlock IDE ต้องการเชื่อมต่อกับบอร์ด KidBright ให้กดเลือกพอร์ต (1) แล้วกดปุ่ม เชื่อมต่อ (2)

โค้ดโปรแกรมจะถูกอัพโหลดลงบอร์ด KidBright ทันที เมื่ออัพโหลดเสร็จแล้ว จะขึ้นข้อความแจ้งเตือน (ดังรูป)

ที่บอร์ด KidBright จะแสดงข้อความวิ่ง Hello! บนแอลอีดี 16×8

ข้อความ Hello! จะแสดงครั้งเดียว หากต้องการให้แสดงตลอดเวลา ให้ใช้บล็อก forever มาซ้อนบล็อก display show scroll (ดังรูป)

อัพโหลดโปรแกรมใหม่อีกครั้ง จะพบว่า ข้อความ Hello! แสดงผลตลอดเวลา แล้ว

การติดตั้ง microBlock IDE เวอร์ชั่นเว็บลงในเครื่อง

เพื่อความสะดวกในการใช้งาน microBlock IDE เวอร์ชั่นเว็บ ผู้พัฒนาได้ใช้เทคโนโลยี Progressive Web App ทำให้ microBlock IDE เวอร์ชั่นเว็บสามารถติดตั้งลงในเครื่องได้ ทำให้ใช้งานแบบออฟไลน์ได้ และเพิ่มความสะดวกในการใช้งานมากยิ่งขึ้น

การติดตั้ง microBlock IDE เวอร์ชั่นเว็บลงในเครื่อง ทำได้โดยคลิกที่ปุ่ม Install microBlock to your PC หรือกดเครื่องหมาย + บนแถบ Address ของ Google Chrome

Google Chrome จะขึ้นหน้าต่างให้ยืนยันการติดตั้ง ใหเกดปุ่ม ติดตั้ง เพื่อยืนยันการติดตั้ง microBlock IDE เวอร์ชั่นเว็บ ลงในเครื่อง

Google Chrome จะติดตั้ง microBlock IDE ลงในเครื่อง และแสดงหน้าต่าง microBlock IDE ที่ไม่มีแถบ Address Bar ขึ้นมา สามารถเขียนโปรแกรมและอัพโหลดโปรแกรมได้เลย

ที่หน้าเดสก์ท็อปจะแสดงไอค่อนของ microBlock IDE ขึ้นมา ในครั้งถัดไปสามารถดับเบิลคลิปที่ไอค่อนดังกล่าวเพื่อเปิด microBlock IDE ขึ้นมาได้เลย


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)

เริ่มต้นใช้งาน microBlock IDE เวอร์ชั่นโปรแกรม

microBlock IDE เวอร์ชั่นโปรแกรม มีให้ไฟล์โปรแกรมหลากหลายให้เลือกใช้งาน บทความนี้จะมาแนะนำวิธีการเลือกไฟล์ วิธีการติดตั้งโปรแกรมแต่ละ OS และการใช้งาน microBlock IDE เวอร์ชั่นโปรแกรม เบื้องต้น

การติดตั้งโปรแกรม microBlock IDE

การติดตั้งโปแกรม microBlock IDE แตกต่างกันในแต่ละระบบปฏิบัติการ ดังนี้

ระบบปฏิบัติการ Windows

บนระบบปฏิบัติการ Windows จะแยกเป็น 2 แบบ คือ 1) microBlock IDE สำหรับ Windows 32 บิต และ 2) microBlock IDE สำหรับ Windows 64 บิต การตรวจสอบว่า Windows ที่ใช้ เป็นรุ่น 32 บิต หรือ 64 บิต สามารถอ่านได้จาก วิธีการ เช็คว่า Windows ของคุณเป็นเวอร์ชั่น 32 bit หรือ 64 bit

หลังจากทราบแล้วว่า Windows ที่ใช้เป็นรุ่น 32 บิต หรือ 64 บิต ขั้นตอนต่อมาคือการดาวน์โหลดโปรแกรม microBlock IDE ซึ่งสามารถดาวน์โหลดได้โดยเข้าไปที่ https://microblock.app/download

ในหน้าดาวน์โหลดโปรแกรม microBlock IDE สำหรับระบบปฏิบัติการ Windows จะมีให้เลือกดาวน์โหลด 4 ตัวเลือก โดยมีทั้งแบบไฟล์ติดตั้ง และแบบไม่ต้องติดตั้ง

แบบติดตั้ง

มีขั้นตอนการติดตั้งดังนี้

เปิดไฟล์ติดตั้งที่ดาวน์โหลดมา

หน้าต่างติดตั้งโปรแกรมจะแสดงขึ้นมา ให้รอจนกว่าจะติดตั้งเสร็จ

เมื่อติดตั้งเสร็จ โปรแกรม microBlock IDE จะเปิดขึ้นมาอัตโนมัติ

แบบไม่ต้องติดตั้ง

เมื่อดาวน์โหลดโปรแกรม microBlock IDE แบบไม่ต้องติดตั้งมา จะได้เป็นไฟล์ ZIP สามารถใช้โปรแกรม 7-zip WinRAR หรือโปรแกรมอื่น ๆ คลายไฟล์ออกมา จะได้ไฟล์โปรแกรม microBlock IDE.exe มา ดับเบิลคลิกเพื่อเปิดโปรแกรมได้เลย

สำหรับระบบปฏิบัติการ mac OS

เข้าไปที่หน้าดาวน์โหลดโปรแกรม microBlock IDE https://microblock.app/download ให้ดาวน์โหลดโปรแกรมของ mac OS มา

จะได้ไฟล์ .dmg มา ให้ดับเบิลคลิกเปิดไฟล์ขึ้นมา

จากนั้นรอเปิดไฟล์ซักครู่

หน้าต่างโปรแกรม microBlock IDE จะแสดงขึ้นมา สามารถดำเนินการได้ 2 รูปแบบ

  1. ลากไอค่อน microBlock IDE ไปใส่ในโฟลเดอร์ Applications เพื่อติดตั้งโปรแกรม และเรียกใช้โปรแกรม microBlock IDE ได้จากโฟลเดอร์ Applications ในครั้งต่อไป
  2. ดับเบิลคลิกที่ไอค่อน microBlock IDE เพื่อเปิดโปรแกรม

ตัวอย่างเลือกดับเบิลคลิกเปิดโปรแกรม รอซักครู่ หน้าต่างแจ้งเตือนการเข้าถึงโฟลเดอร์ Documents จะแสดงขึ้นมา กด OK เพื่อยืนยันให้เข้าถึงโฟลเดอร์ Documents

จากนั้นโปรแกรม microBlock IDE ก็แสดงขึ้นมา (ดังรูป)

สำหรับระบบปฏิบัติการ Ubuntu

โปรแกรม microBlock IDE บนระบบปฏิบัติการ Ubuntu สามารถดาวน์โหลดได้ที่ https://microblock.app/download เลือกหัวข้อ ดาวน์โหลดโปรแกรมสำหรับ Ubuntu 64 บิต (ไม่ต้องติดตั้ง)

จะได้ไฟล์นามสกุล .AppImage มา

ไฟล์ .AppImage สามารถดับเบิลคลิกที่ไฟล์เพื่อเปิดโปรแกรมได้เลย แต่จะไม่สามารถอัพโหลดโค้ดโปรแกรมได้ เพราะโปรแกรม microBlock IDE จำเป็นต้องเชื่อมต่อกับบอร์ด KidBright ผ่าน Serial แต่บน Ubuntu การใช้งาน Serial จำเป็นจะต้องใช้สิทธิ์ root

ดังนั้นการเปิดโปรแกรม microBlock IDE จำเป็นจะต้องทำผ่าน Terminal โดยเข้าไปที่โฟลเดอร์เก็บไฟล์ .AppImage แล้วเปิดไฟล์ด้วยคำสั่ง sudo แล้วเพิ่มพารามิเตอร์ –no-sandbox เข้าไปต่อท้าย

โปรแกรม microBlock IDE จะแสดงขึ้นมา สามารถเขียนโค้ดแล้วอัพโหลดโปรแกรมลงบอร์ดได้เลย

การใช้งานโปรแกรม microBlock IDE เบื้องต้น

การติดตั้งเฟิร์มแวร์ MicroPython

เนื่องจากโปรแกรม microBlock IDE ใช้ MicroPython ที่อยู่ในบอร์ด KidBright ในการประมวลผลโค้ดโปรแกรม ดังนั้นในการใช้งานครั้งแรกจึงจำเป็นต้องติดตั้ง MicroPython ลงบอร์ดก่อน

การติดตั้ง MicroPython ลงบอร์ด KidBright ในโปรแกรม microBlock IDE มีขั้นตอนดังนี้

เชื่อมต่อบอร์ด KidBright เข้ากับเครื่องคอมพิวเตอร์ จากนั้นกดที่ Board เลือก Update Firmware

หน้า Firmware Upgrade จะแสดงขึ้นมา ให้กดปุ่ม Upgrade Firmware เพื่อเริ่มการติดตั้ง MicroPython ลงในบอร์ด KidBright

รออัพโหลด MicroPython ซักครู่

เมื่ออัพโหลดเฟิร์มแวร์ MicroPython เสร็จเรียบร้อยแล้ว จะแสดงข้อความ Firmware Upgrade Successful (ดังรูป) ให้กดปุ่ม Close เพื่อปิดหน้าต่างนี้ไปได้เลย

ทดสอบอัพโหลดโปรแกรม

ทดสอบสร้างโปรแกรมแสดงผลข้อความวิ่ง Hello! บนแอลอีดี 16×8 บนบอร์ด KidBright

คลิกที่หมวด Display (1) จากนั้นคลิกเม้าส์ซ้ายค้างที่บล็อก display show scroll แล้วลากออกมาวางที่พื่นที่ทำงาน (2)

อัพโหลดโปรแกรมโดยกดที่ปุ่ม Upload

โค้ดโปรแกรมจะถูกอัพโหลดลงบอร์ด KidBright ทันที เมื่ออัพโหลดเสร็จแล้ว จะขึ้นข้อความแจ้งเตือน (ดังรูป)

ที่บอร์ด KidBright จะแสดงข้อความวิ่ง Hello! บนแอลอีดี 16×8

ข้อความ Hello! จะแสดงครั้งเดียว หากต้องการให้แสดงตลอดเวลา ให้ใช้บล็อก forever มาซ้อนบล็อก display show scroll (ดังรูป)

อัพโหลดโปรแกรมใหม่อีกครั้ง จะพบว่า ข้อความ Hello! แสดงผลตลอดเวลา แล้ว


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)

ทำเครื่องจ่ายน้ำอัตโนมัติด้วย KidBright32

เคยสงสัยหรือไม่ว่า ตู้น้ำหยอดเหรียญที่ตั้งอยู่ในสถานที่ต่าง ๆ เช่น หอพัก ร้านค้า และสถานที่อื่น ๆ มีหลักการทำงานอย่างไร ตู้วัดประมาณน้ำอย่างไร ในบทความนี้เราจะมาเรียนรู้หลักการวัดและควบคุมปริมาณการจ่ายน้ำ และทดลองทำเครื่องจ่ายน้ำด้วยบอร์ด KidBright กัน

หลักการวัดและควบคุมปริมาณการจ่ายน้ำ

แบ่งออกได้ 2 วิธี

1.การวัดโดยตรง

คือ การวัดปริมาณน้ำที่ไหลผ่านท่อ หรือวัดน้ำหนักของน้ำในภาชนะโดยตรง โดยใช้เซ็นเซอร์ต่าง ๆ เข้าไปวัดโดยตรง

  • ข้อดี คือ ปริมาณน้ำที่จ่ายมีความเที่ยงตรงสูง และเชื่อถือได้
  • ข้อเสีย คือ ค่าใช้จ่ายในการจัดทำและบำรุงรักษาสูงกว่าวิธีจับเวลา

2.การจับเวลา

คือ การวัดว่าใน 1 วินาทีจ่ายน้ำได้กี่ลิตร จากนั้นจึงเทียบบัญญัติไตรยางค์เพื่อควบคุมปริมาณน้ำที่จ่าย เช่น วัดแล้วว่าใน 1 วินาทีจ่ายน้ำได้ 5 ลิตร หากต้องการให้จ่ายน้ำ 15 ลิตร ให้จ่ายน้ำเป็นเวลา 3 วินาที เป็นต้น

  • ข้อดี คือ บำรุงรักษาง่าย ใช้อุปกรณ์น้อย
  • ข้อเสีย คือ มีความน่าเชื่อถือต่ำ ไม่สามารถจ่ายน้ำได้ละเอียดมากนัก ปริมาณน้ำที่จ่ายได้ขึ้นอยู่กับหลายปัจจัย เช่น ปริมาณน้ำในถังเก็บ แรงดันน้ำ เป็นต้น

การใช้บอร์ด KidBright ร่วมกับปั้มน้ำ

การเชื่อมต่อปั้มน้ำเข้ากับบอร์ด KidBright แนะนำให้ใช้งานปั้มน้ำ USB ซึ่งมีลักษณะดังรูปด้านล่างนี้

รูปที่ 1 ปั้มน้ำ USB ที่ใช้ในโครงงานนี้

ปั้มน้ำแบบ USB สามารถเชื่อมต่อกับบอร์ด KidBright ได้โดยตรงผ่านช่อง USB โดยปั้มน้ำที่นำมาต่อจะต้องใช้กระแสไฟฟ้าไม่เกิน 300mA สำหรับปั้มน้ำ USB ในรูปที่ 1 ใช้กระแสไฟฟ้าประมาณ 200mA ดังนั้นจึงต่อเข้ากับบอร์ด KidBright ได้โดยตรง ดังรูปที่ 2

รูปที่ 2 การเชื่อมต่อปั้มน้ำ USB เข้ากับบอร์ด KidBright ผ่านช่อง USB

ทดสอบเขียนโปรแกรมสั่งงานปั้มน้ำ

ในการเขียนโปรแกรมสั่งงานปั้มน้ำ บทความนี้ใช้ microBlock IDE ในการเขียนโปรแกรม โดยเลือกใช้การเขียนโปแกรมแบบภาษา Python ในการสั่งงาน

1) เปิดโปรแกรม microBlock IDE ขึ้นมา กดปุ่มสร้างโปรเจคใหม่

2) ตั้งชื่อโปรเจค (1) เลือกบอร์ดที่ใช้งาน ตัวอย่างใช้บอร์ด KidBright32 V1.3 (2) กดปุ่ม Create

3) กดปุ่มเปลี่ยนเป็นโหมด Code จะเห็นว่าสามารถพิมพ์โค้ดโปรแกรม Python ได้แล้ว

4) กดปุ่มใด ๆ บนคีย์บอร์ด โปรแกรมจะแจ้งเตือนเปลี่ยนเป็นโหมดเขียนโค้ด ให้กด Yes เพื่อยืนยันการเปลี่ยนโหมดการเขียนโปรแกรม

5) เขียนโปรแกรมทดสอบสั่งงานปั้มน้ำดังนี้

import usb # นำเข้าโมดูล usb เพื่อให้เขียนคำสั่งสั่งงาน USB ได้
from time import sleep # นำเข้าคำสั่ง sleep จากโมดูล time

usb.on() # สั่งให้อุปกรณ์ที่ต่อช่อง USB ทำงาน
sleep(1) # หน่วงเวลาเป็นเวลา 1 วินาที
usb.off() # สั่งให้อุปกรณ์ที่ต่อช่อง USB หยุดทำงาน

6) กดปุ่มอัพโหลดโปรแกรมลงบอร์ด KidBright

ผลการทำงาน คือ ปั้มน้ำทำงาน 1 วินาที แล้วหยุดทำงาน สามารถกดปุ่ม Reset เพื่อดูผลการทำงานซ้ำได้

**ปั้มน้ำต้องทำงานได้ในขั้นตอนนี้ จึงจะไปในขั้นตอนถัดไปได้**

การควบคุมการจ่ายน้ำด้วยวิธีจับเวลา

ข้อมูลจากผู้ขายปั้มน้ำได้ระบุไว้ว่า ปั้มน้ำ USB ตามรูปที่ 1 สามารถปั้มน้ำได้ปริมาณ 1.2 – 1.6 ลิตร/นาที ค่ากลางคือ 1.4 ลิตร/นาที สร้างเป็นสูตรหาค่าเวลาที่ปั้มน้ำต้องทำงานเมื่อกำหนดปริมาณน้ำที่กำหนด ได้ดังนี้

1.4 ลิตร / 60 วินาที = 23.33 มิลลิลิตร/วินาที

1 มิลลิลิตร = 1 / 23.33 มิลลิลิตร/วินาที = 0.042 วินาที

ดังนั้น

ปริมาณน้ำที่ต้องการในหน่วยมิลลิลิตร * 0.042 = ระยะเวลาที่ปั้มน้ำต้องทำงานในหน่วยวินาที

จากสูตรด้านบน ทดสอบหาค่ากลับ หากต้องการปริมาณน้ำ 1.4 ลิตร หรือ 1400 มิลลิลิตร ระยะเวลาที่ปั้มน้ำทำงานควรจะประมาณ 60 วินาที

1400 มิลลิลิตร * 0.042 = 58.8 วินาที

ค่าที่ได้ใกล้เคียง 60 วินาที แสดงว่าสูตรคำนวณถูกต้องแล้ว

ทดสอบเขียนโปรแกรมให้ปั้มน้ำจ่ายน้ำออกมา 100 มิลลิลิตร ดังนี้

import usb # นำเข้าโมดูล usb เพื่อให้เขียนคำสั่งสั่งงาน USB ได้ 
from time import sleep # นำเข้าคำสั่ง sleep จากโมดูล time

waterWant = 100 # สร้างตัวแปร กำหนดปริมาณน้ำที่ต้องการ 100 มิลลิลิตร
timeOn = waterWant * 0.042 # คำนวณหาค่าเวลาที่ปั้มน้ำต้องทำงานในหน่วยวินาที เก็บผลการคำนวณลงตัวแปร timeOn

usb.on() # สั่งให้ปั้มน้ำทำงาน 
sleep(timeOn) # หน่วงเวลาตามค่าที่อยู่ในตัวแปร timeOn
usb.off() # สั่งให้ปั้มน้ำหยุดทำงาน

อัพโหลดโปรแกรมเพื่อทดสอบการทำงาน ผลที่ได้ ปั้มน้ำควรจ่ายน้ำออกมา 100 มิลลิลิตร

จากการทดสอบด้วยเครื่องมือที่มีจำนวน 10 ครั้ง พบว่าใส่น้ำลงภาชนะปริมาณ 600 มิลลิลิตร หลังปั้มน้ำออก พบว่าน้ำเหลือประมาณ 360 มิลลิลิตร แสดงว่าปั้มน้ำจ่ายน้ำออกไป 600 – 360 = 240 มิลลิลิตร ซึ่งผิดจากที่คำนวณไว้ถึง 140 มิลลิลิตร แสดงว่าสูตรคำนวณด้านบนนั้น ไม่สามารถนำมาใช้จริงได้

รูปที่ 3 ปริมาณน้ำก่อนปั้มน้ำทำงาน
รูปที่ 4 ปริมาณน้ำที่เหลือในภาชนะหลังปั้มน้ำทำงาน

แก้ไขสูตรคำนวณใหม่ โดยเทียบบัญญัติไตรยางค์เช่นเดิม จากโค้ดโปรแกรม 100 * 0.042 = 4.2 แสดงว่า ปั้มน้ำทำงาน 4.2 วินาที ได้ 240 มิลลิลิตร เทียบบัญญัติไตรยางค์ใหม่ได้ 4.2 / 240 = 0.0175 วินาที/มิลลิลิตร

จากโค้ดโปรแกรมด้านบน แก้ไขโค้ดโปรแกรมบรรทัดที่ 5 เป็น * 0.0175 แทน แล้วอัพโหลดโปรแกรมทดสอบการทำงานอีกครั้ง

ทดสอบการทำงาน 10 ครั้ง พบว่า * 0.0175 ปริมาณน้ำที่ปั้มออกยังขาดอีกเล็กน้อย

รูปที่ 5 ปริมาณน้ำที่เหลือในภาชนะ (จาก 600 mL) หลังแก้ไขโค้ดโปรแกรมบรรทัดที่ 5 เป็น * 0.0175

จึงปรับค่า 0.0175 แบบสุ่ม โดยปริมาณน้ำที่ต้องการ 100 มิลลิลิตร แต่จ่ายน้ำได้ไม่ถึง 100 มิลลิลิตร แสดงว่าต้องเพิ่มค่า 0.0175 ขึ้น เพื่อให้ปั้มทำงานนานขึ้น

จากการทดสอบสุ่มค่าไปเรื่อย ๆ พบว่าค่า 0.02 ทำให้จ่ายน้ำได้ใกล้เคียง 100 มิลลิลิตรมากที่สุด

รูปที่ 6 ปริมาณน้ำที่เหลือในภาชนะ (จาก 600 mL) หลังแก้ไขโค้ดโปรแกรมบรรทัดที่ 5 เป็น * 0.02

ทำเครื่องจ่ายน้ำ

รูปแบบของเครื่องจ่ายน้ำที่ทำในบทความนี้ แสดงดังรูปที่ 7

รูปที่ 7 ภาพสามมิติของเครื่องจ่ายน้ำอัตโนมัติ

โครงสร้างของเครื่องทำจากกระดาษลังตัดแบ่งเป็น 5 ส่วน แต่ละส่วนมีขนาดดังรูปที่ 8

รูปที่ 8 ขนาดของชิ้นส่วนต่าง ๆ ที่ใช้ประกอบเป็นเครื่องจ่ายน้ำ

ประกอบแต่ละส่วนตามแบบรูปที่ 1 ได้ผลดังรูปที่ 9

รูปที่ 9 เครื่องจ่ายน้ำที่ประกอบเสร็จแล้ว

เขียนโปรแกรมใหม่ให้จ่ายน้ำ 300 มิลลิลิตรต่อเมื่อปล่อยปุ่ม S1 ได้โค้ดโปรแกรมดังนี้

import usb # นำเข้าโมดูล usb เพื่อให้เขียนคำสั่งสั่งงาน USB ได้ 
from time import sleep # นำเข้าคำสั่ง sleep จากโมดูล time 
import switch # นำเข้าโมดูล switch เพื่อให้เขียนโปรแกรมรับคำสั่งจากสวิตช์ S1 & S2 ได้
import display # นำเข้าโมดูล display เพื่อให้เขียนโปรแกรมควบคุมแอลอีดี 16x8 ได้

waterWant = 200 # สร้างตัวแปร กำหนดปริมาณน้ำที่ต้องการ 200 มิลลิลิตร 
timeOn = waterWant * 0.02 # คำนวณหาค่าเวลาที่ปั้มน้ำต้องทำงานในหน่วยวินาที เก็บผลการคำนวณลงตัวแปร timeOn 

while True: # วนรอบทำคำสั่งต่อไปนี้
    display.raw(b"\x00\x00\x00\x00\x38\x44\x42\x21\x42\x44\x38\x00\x00\x00\x00\x00") # แสดงรูปหัวใจ
    if switch.value(switch.S1) == 1: # ถ้ากดปุ่ม S1
        display.raw(b"\x00\x00\x00\x00\x08\x04\x02\xff\x02\x04\x08\x00\x00\x00\x00\x00") # แสดงรูปลูกศร
        usb.on() # สั่งให้ปั้มน้ำทำงาน 
        sleep(timeOn) # หน่วงเวลาตามค่าที่อยู่ในตัวแปร timeOn 
        usb.off() # สั่งให้ปั้มน้ำหยุดทำงาน
    sleep(0.05) # หน่วงเวลาทำงาน 0.05 วินาที

ผลที่ได้ เป็นดังวีดีโอด้านล่าง


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)

microBlock IDE V2.0.0 เปิดให้ดาวน์โหลดแล้ว

microBlock IDE offline เป็นโปรแกรมบนเครื่องคอมพิวเตอร์ใช้พัฒนาโปรแกรมบนบอร์ด KidBright32 ด้วยภาษาบล็อกและภาษาไพทอน (MicroPython)

ความสามารถ

  • เขียนโปรแกรมลงบอร์ด KidBright ด้วยภาษาบล็อกและภาษาไพทอน (MicroPython)
  • มีระบบให้คำแนะนำการเขียนโค้ด (Auto Completion)
  • ใช้งานบล็อกแอลอีดีและบล็อกสร้างเสียงเพลงได้ง่านกว่าโปรแกรมใด ๆ
  • มีระบบตรวจสอบและให้คำแนะนำในการติดตั้ง MicroPython
  • อัพโหลดโปรแกรมรวดเร็วเพียง 2 วินาที
  • มีระบบค้นหาและเชื่อมต่อกับบอร์ด KidBright อัตโนมัติ
  • ดีบัคและดูผลการทำงานของโปรแกรมได้ด้วย Terminal
  • รองรับการเพิ่มบล็อกในโปรแกรมด้วย Extension
  • มีระบบบันทึกไฟล์อัตโนมัติ หมดปัญหาไฟดับแล้วงานหาย
  • รองรับการแปลงโค้ดแบบบล็อกเป็นโค้ดภาษาไพทอนเพื่อเรียนรู้หลักการเขียนโค้ดโปรแกรมไพทอน

อุปกรณ์ที่รองรับ

  • บอร์ด KidBright32 V1.3 และ V1.4
  • บอร์ด KidBright32 V1.5
  • บอร์ด KidBright32i (V1.5i by INEX)
  • บอร์ด KidBright32 V1.6 by Gravitech

ระบบปฏิบัติการที่รองรับ

  • Windows 64 บิต (ไฟล์ติดตั้ง และใช้งานแบบไม่ติดตั้ง)
  • Windows 32 บิต (ไฟล์ติดตั้ง และใช้งานแบบไม่ติดตั้ง)
  • macOS (ไฟล์ติดตั้ง และใช้งานแบบไม่ติดตั้ง)
  • Ubuntu (ใช้งานแบบไม่ติดตั้ง)

ดาวน์โหลดได้แล้วที่ ดาวน์โหลด microBlock IDE

การใช้งาน Dashboard ใน microBlock IDE

โปรแกรม microBlock IDE เวอร์ชั่น 2.1.0 ออกอัพเดทใหม่ เพิ่มหน้า Dashboard ทำให้แสดงผลข้อมูลแบบข้อความ หลอดไฟ เกจ กราฟ และ Log ได้ ในบทความนี้จะมาแนะนำการใช้ Dashboard แสดงผลค่าต่าง ๆ จากบอร์ด KidBright / OpenKB / IPST-WiFi

การส่งข้อมูลขึ้นหน้า Dashboard

ข้อมูลจากบอร์ด KidBright32 / OpenKB / IPST-WiFi จะส่งผ่านสาย USB เข้ามาที่เครื่องคอมพิวเตอร์และเข้าไปที่หน้า Dashboard จากนั้นหน้า Dashboard จึงแสดงผลข้อมูลที่ได้รับ ดังนั้น ณ ปัจจุบัน microBlock IDE จะส่งข้อมูลมาแสดงผลบนหน้า Dashboard ได้ต่อเมื่อเชื่อมต่อบอร์ดเข้ากับเครื่องคอมพิวเตอร์ผ่านสาย USB เท่านั้น

การส่งข้อมูลขึ้นไปยัง Dashboard ทำได้โดยใช้บล็อก send … to dashboard ซึ่งอยู่ในหมวดหมู่ Advanced ของทุกบอร์ด

บล็อก send … to dashboard มีพารามิเตอร์ 2 ตัว คือ

  1. ข้อมูลที่ต้องการส่ง (Data) เป็นตัวเลข หรือตัวอักษร ที่ต้องการส่งขึ้นไปแสดงผลบนหน้า Dashboard
  2. ชื่อข้อมูล (Source) เป็นชื่อของข้อมูลนั้น ๆ ควรตั้งให้สื่อความหมาย เช่น ข้อมูลความเข้มของแสง ควรตั้ง light หรือ light_level ชื่อข้อมูลที่ตั้งไม่ควรมีเว้นวรรค ไม่ควรใช้ข้อความภาษาไทย

บทความนี้ใช้บอร์ด KidBright32 V1.3 ส่งค่าจากเซ็นเซอร์วัดความเข้มของแสงบนบอร์ดไปแสดงบน Dashboard ด้วยชื่อข้อมูล (Source) light อัพเดทค่าทุก ๆ 0.1 วินาที เขียนโปรแกรมได้ดังนี้

อัพโหลดโปรแกรมลงบอร์ด จากนั้นเปิด Terminal ขึ้นมา ค่าความเข้มแสงที่วัดได้จะแสดงผลในรูปแบบ <Source>=<Data> ดังรูป

การจัดการ Dashboard

การใช้งาน Dashboard เบื้องต้น

เปิด Dashboard ขึ้นมา โดยกดปุ่ม Dashboard

หน้า Dashboard จะแสดงขึ้นมา (ดังรูป)

เมื่อเปิด Dashboard ครั้งแรก จะไม่มี Widget ใด ๆ แสดงเลย ให้กดตรง Toolbox เพื่อเปิดส่วนเลือก Widget ที่ต้องการสร้าง จากนั้นคลิกเลือก Widget ที่ต้องการสร้างได้เลย

การใช้ Widget ข้อความ

กดเปิด Toolbox ขึ้นมา (1) จากนั้นกดเลือก Widget Text (2) Widget ข้อความจะถูกเพิ่มขึ้นมา (3) ดังรูป

Widget ที่สร้างขึ้นมา สามารถย้ายตำแหน่งได้โดยคลิกเมาส์ค้างที่บริเวณส่วนหัวของ Widget แล้วลากเพื่อย้ายตำแหน่ง

สามารถปรับขนาดของ Widget ได้โดยคลิกเมาส์บริเวณมุมขวาล่างของ Widget แล้วลากเพื่อปรับขนาด

(1) กดปุ่มรูปเฟืองบริเวณมุมขวาบนของ Widget

(2) จากนั้นกล่องตั้งค่า Widget จะแสดงขึ้นมา สำหรับ Widget ข้อความ มีให้ตั้งค่าดังรูป โดย Name คือชื่อของ Widget นั้น ๆ สามารถตั้งเป็นอะไรก็ได้ ตัวอย่างตั้งเป็น Light level ส่วน Source คือชื่อข้อมูลที่ต้องการให้แสดงผล จากโค้ดโปรแกรมที่เขียนไว้ด้านบน เขียนโปรแกรมตั้งชื่อข้อมูลความเข้มของแสงไว้ที่ light จึงเลือก light สุดท้าย Unit คือข้อความที่ต้องการให้ต่อท้าย เนื่องจากค่าของแสงวัดได้เป็น % ในช่อง Unit จึงใส่ % ลงไป

(3) กดที่พื้นที่ว่างเพื่อปิดกล่องตั้งค่า Widget

ค่าแสงที่วัดได้ก็จะแสดงใน Widget ข้อความแล้ว

การใช้ Widget หลอดไฟ

Widget หลอดไฟมีให้ตั้งค่าดังนี้

  1. Name – ชื่อของ Widget สามารถเปลี่ยนได้ตามต้องการ
  2. Source – ชื่อข้อมูล

โดย Widget หลอดไฟ หากข้อมูลที่เข้ามาผ่าน Source มีค่าเป็น 0 หลอดไฟจะดับ หากเป็นค่าที่ไม่ใช่ 0 หลอดไฟจะติด

ตัวอย่างการใช้งาน Widget หลอดไฟ แสดงดังรูป

การใช้ Widget เกจ

Widget เกจมีให้ตั้งค่าดังนี้

  1. Name – ชื่อของ Widget สามารถเปลี่ยนได้ตามต้องการ
  2. Source – ชื่อข้อมูล
  3. Min – ค่าต่ำสุดที่เกจแสดงผลได้
  4. Max – ค่าสูงสุดที่เกจแสดงผลได้

โดย Widget เกจจะรับข้อมูลเป็นตัวเลขเท่านั้น หากส่งข้อมูลที่เป็นข้อความเข้ามา เกจจะแสดงผลเป็น 0 เสมอ ตัวอย่างเกจแสดงผลค่า 60 แสดงดังรูป

ตัวอย่างการใช้งาน Widget เกจ แสดงดังรูป

การใช้งาน Widget กราฟ

Widget กราฟมีให้ตั้งค่าดังนี้

  1. Name – ชื่อของ Widget สามารถเปลี่ยนได้ตามต้องการ
  2. Source – ชื่อข้อมูล
  3. Min – ค่าต่ำสุดที่กราฟแสดงผลได้
  4. Max – ค่าสูงสุดที่กราฟแสดงผลได้
  5. Limit – จำนวนข้อมูลสูงสุดที่ให้นำมาแสดงเป็นกราฟ

โดย Widget กราฟจะรับข้อมูลเป็นตัวเลขเท่านั้น หากส่งข้อมูลที่เป็นข้อความเข้ามา กราฟจะแสดงผลเป็น 0 เสมอ ตัวอย่างกราฟแสดงผลค่าแสงที่เปลี่ยนแปลงตลอดเวลา แสดงดังรูป

ตัวอย่างการใช้งาน Widget กราฟ แสดงดังรูป

การใช้งาน Widget Log

Widget Log มีให้ตั้งค่าดังนี้

  1. Name – ชื่อของ Widget สามารถเปลี่ยนได้ตามต้องการ
  2. Source – ชื่อข้อมูล
  3. Limit – จำนวนข้อมูลสูงสุดที่ให้นำมาแสดง

ตัวอย่าง Log ค่าแสง แสดงดังรูป

ตัวอย่างการใช้งาน Widget Log แสดงดังรูป


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)

สื่อสารระหว่างบอร์ด KidBright ด้วย ESP-NOW เขียนโปรแกรมด้วย microBlock IDE

microBlock IDE เวอร์ชั่น 2.1.0 ได้เพิ่มเฟิร์มแวร์ MicroPython for KidBright32 V1.4.0 เข้ามา ซึ่งเฟิร์มแวร์เวอร์ชั่นนี้รองรับการเขียนโปรแกรมสื่อสารผ่าน ESP-NOW แล้ว ช่วยให้บอร์ด KidBright32 สามารถสื่อสารกันโดยไม่ต้องเชื่อมต่อก่อน

ติดตั้งส่วนเสริม ESP-NOW

เปิดโปรแกรม microBlock IDE ขึ้นมา กดที่เมนู Extension

จากนั้นค้นหา ESP-NOW แล้วกดปุ่ม Install

รอจนกว่าติดตั้งเสร็จ เมื่อติดตั้งเสร็จจะแสดงเครื่องหมายถูกต่อท้ายชื่อส่วนเสริม (ดังรูป)

ปิดหน้าต่าง Extension ไป ที่เมนูเลือกบล็อก จะมี ESP-NOW เพิ่มขึ้นมาแล้ว

รูปแบบการรับ-ส่งข้อมูล

การรับ-ส่งข้อมูลมี 2 รูปแบบ

  1. แบบ 1 ต่อ 1 (Unicast) คือ การส่งข้อมูลไปที่ตัวรับแบบเจาะจงผู้รับ ผ่านการกำหนด MAC Address โดยบอร์ด KidBright32 บอร์ดอื่น ๆ ที่มีหมายเลข MAC Address ไม่ตรงกับที่กำหนด จะไม่ได้รับข้อมูล เหมาะสำหรับบอร์ด KidBright32 ที่ใช้เป็นตัวรับมีหน้าที่ต่างกัน
  2. แบบ 1 ต่อทั้งหมด (Broadcast) คือ การส่งข้อมูลไปให้ทุกผู้รับที่อยู่ในระยะสัญญาณ บอร์ด KidBright32 ที่คอยรับข้อมูลทุกบอร์ดจะได้รับข้อมูลแบบเดียวกัน

ทดลองเขียนโปรแกรมออดไร้สาย

ตัวอย่างนี้ใช้บอร์ด KidBright32 จำนวน 3 ตัว แต่ละตัวแบ่งหน้าที่กันดังนี้

  1. ตัวแม่ – เป็นตัวส่งข้อมูลและใช้กดส่งสัญญาณกริ่ง
  2. ตัวลูก 1 – เป็นตัวรับสัญญาณจากตัวแม่ และส่งสัญญาณเสียงผ่านบัสเซอร์
  3. ตัวลูก 2 – เป็นตัวรับสัญญาณจากตัวแม่ และส่งสัญญาณเสียงผ่านบัสเซอร์

ส่งข้อมูลแบบ Broadcast

สมมติติดตั้งอุปกรณ์ภายในบ้าน

  • ตัวแม่ ถูกติดตั้งอยู่หน้าประตูบ้าน
  • ตัวลูก 1 ติดตั้งอยู่ในห้องครัว
  • ตัวลูก 2 ติดตั้งในห้องนั่งเล่น

ลักษณะการใช้งานคือ เมื่อมีคนมาเรียกหน้าบ้าน ให้กดปุ่มบนตัวแม่ ที่ติดอยู่หน้าประตูบ้าน จากนั้น ตัวลูก 1 และ ตัวลูก 2 จะส่งเสียงออกมา ทำให้คนที่อยู่ในบ้านออกมาดูได้

ตัวแม่ เมื่อกดสวิตช์จะส่งเลข 1 แบบ Broadcast ผ่าน ESP-NOW ไปที่บอร์ด KidBright32 ตัวอื่น ๆ เมื่อฝั่งรับ (ตัวลูก 1 และตัวลูก 2) ได้รับข้อมูล ก็จะส่งเสียงออกมา

ที่ตัวแม่ เขียนโปรแกรมได้ดังนี้

ฝั่งตัวลูก 1 และลูก 2 เพียงตรวจสอบว่ามีข้อมูลเข้ามาหรือไม่ เมื่อมีข้อมูลเข้ามา ก็ให้ส่งเสียงออกมา เขียนโปรแกรมได้ดังนี้

ผลที่ได้ เมื่อกดปุ่ม S1 ที่ตัวแม่ ที่ตัวลูก 1 และตัวลูก 2 จะมีเสียงดังออกมา

ส่งข้อมูลแบบ Unicast

สมมติ ติดตั้งอุปกรณ์ภายในสนามบิน

  • ตัวแม่ ติดตั้งอยู่ในหอบังคับการบิน ซึ่งจะมองเห็นรันเวย์ เรียกหน่วยดับเพลิง และหน่วยฉุกเฉินอื่น ๆ ได้ กรณีเกิดอุบัติเหตุใด ๆ ก็ตามขึ้น
  • ตัวลูก 1 ติดตั้งอยู่ที่ทำการหน่วยดับเพลิง
  • ตัวลูก 2 ติดตั้งอยู่ที่ทำการหน่วยปฐมพยาบาลฉุกเฉิน

ลักษณะการใช้งานคือ เมื่อหอบังคับการบินมองเห็นอุบัติเหตุ หอจะเลือกกดปุ่มใดปุ่มหนึ่ง ดังนี้

  • ปุ่ม S1 เรียกหน่วยดับเพลิง
  • ปุ่ม S2 เรียกหน่วยปฐมพยาบาล

โดยหลังจากกดปุ่มแล้ว หน่วยนั้น ๆ จะได้ยินเสียงออด เพื่อเป็นสัญญาณว่ามีอุบัติเหตุเกิดขึ้นแล้ว

จากหลักการดังกล่าว ที่ฝั่งตัวลูก 1 และตัวลูก 2 สามารถเขียนโปรแกรมได้ดังนี้

จากโปรแกรมด้านบน หลักการทำงานคือ การทำงานครั้งแรก ให้แสดง MAC Address ของตัวเองบน Terminal จากนั้นวนรอบตรวจสอบว่าได้รับข้อมูลผ่าน ESP-NOW หรือไม่ ถ้าใช่ ให้ส่งเสียงออกมาผ่านบัสเซอร์

หลังจากอัพโหลดโปรแกรมแล้ว ให้เปิด Terminal ขึ้นมา แล้วสังเกตหมายเลข MAC Address ให้เก็บ MAC Address ของตัวลูก 1 และตัวลูก 2 ไว้ (จำเป็นต้องใช้ในการเขียนโปรแกรมฝั่งตัวแม่) ตัวอย่างได้หมายเลข B4:E6:2D:AA:70:89 และ 8C:AA:B5:96:66:D8 ตามลำดับ

ฝั่งตัวแม่ ซึ่งติดตั้งอยู่ในหอบังคับการบิน เขียนโปรแกรมแบบเดียวกับตัวแม่ที่ส่งแบบ Broadcast แต่เปลี่ยนบล็อกจาก ESP-NOW send … เป็น ESP-NOW send … to … ซึ่งบล็อกใหม่นี้จะกำหนดผู้รับได้โดยกำหนด MAC Address และเพิ่ม on press , on release มาเป็น 2 ชุด

จากโค้ดโปรแกรมด้านบน แก้ไขบล็อก ESP-NOW send … to … ให้เป็น MAC Address ของตัวลูก 1 และตัวลูก 2 แล้วอัพโหลดโปรแกรมลงบอร์ดได้เลย

ผลที่ได้ เป็นไปตามวีดีโอนี้


บทความนี้จัดทำโดย สนธยา นงนุช ผู้เขียนบทความด้านสมองกลฝังตัวกว่า 100 บทความบนเว็บไซต์ ร้านไอโอเอ็กซ์ฮ๊อบ อนุญาตให้คัดลอก ทำซ้ำ ดัดแปลง เผยแพร่ ส่วนหนึ่งส่วนใดหรือทั้งหมดของบทความนี้ได้ โดยต้องระบุแหล่งที่มา (สัญญาอนุญาต CC-BY-4.0)