Categories
Pets คุณทำเองได้ (DIY)

ใช้ micro:bit กับเครื่องให้อาหารแมวอัตโนมัติ (Update-210220)

เนื่องจากโครงงานเครื่องให้อาหารแมวอัตโนมัตินั้น มีผู้สนใจจำนวนมาก ส่วนใหญ่ไม่เคยเขียนโปรแกรมและไม่มีความรู้ด้านอิเล็กทรอนิกส์มาก่อน โดยในบทความกึ่งโครงงานนี้ จึงขอแนะนำบอร์ดไมโครคอนโทรลเลอร์ที่ทำหน้าที่เดียวกับบอร์ด POP-168 (Arduino) ที่แนะนำในโครงงานฯ และที่จะแนะนำในบทความนี้ก็คือบอร์ด micro:bit (อ่านรายละเอียดเพิ่มเติม) ที่เหมาะอย่างยิ่งสำหรับน้องๆ นักเรียน ที่ยังไม่เคยเขียนโปรแกรมมาก่อน

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

อุปกรณ์ที่ต้องใช้

1. บอร์ด micro:bit V1 หรือ V2 ก็ได้
ใช้สำหรับสำหรับเขียนโปรแกรมเพื่อควบคุมการทำงาน (คลิกสั่งซื้อ)

2. บอร์ด AX-microBIT+
สำหรับเชื่อมต่ออุปกรณ์อินพุต เอาต์พุต หรืออุปกรณ์ภายนอกอื่นๆ (คลิกสั่งซื้อ)

3. ZX-SONAR หรือ ZX-SONAR1M (ใช้แทน ZX-SONAR ได้)
แผงวงจรวัดระยะทางด้วยคลื่นอัลตร้าโซนิกแบบให้ผลการทำงานเป็นแรงดันไฟตรงแบบแอนะล็อก (คลิกสั่งซื้อ ZX-SONAR) (คลิกสั่งซื้อ ZX-SONAR1M)

4. KSERVO-270J
 เซอร์โวมอเตอร์กำลังไฟฟ้าต่ำ ขั้วต่อเป็นแบบ JST 2.0 มม. ตัวเมีย 3 ขา สำหรับใช้งานไมโครคอนโทรลเลอร์สมัยใหม่ที่ใช้ไฟเลี้ยง 3.3V (คลิกสั่งซื้อ)

5. อะแดปเตอร์ไฟตรง 9 โวลต์ (คลิกสั่งซื้อ)

ขั้นตอนการเชื่อมต่ออุปกรณ์และพัฒนาโค้ดโปรแกรม

(1) ติดตั้งบอร์ดไมโครบิตเข้ากับแผงวงจร AX-microBIT+  จากนั้นเชื่อมต่อโมดูลวัดระยะทาง กับจุดต่อ 1/AN1

(2) เชื่อมต่อเซอร์โวมอเตอร์ เข้ากับจุดต่อ 12 ของแผงวงจร AX-microBIT+


ภาพแสดงการเชื่อมต่ออุปกรณ์ทั้งหมดเข้าด้วยกัน

(3) อ่านค่าจากโมดูลวัดระยะทาง (ZX-Sonar) ให้แสดงผลด้วย LED บนบอร์ดไมโครบิต เพื่อหาค่าระยะห่างเมื่อแมวเข้ามากินอาหารที่ชาม

(3.1) วิธีการคือเปิดเว็บเบราเซอร์ไปที่ https://makecode.microbit.org/ ลากบล็อก show number จากกลุ่มคำสั่ง Basic วางในบล็อก forever แล้วลากบล็อก analog read pin จากกลุ่มคำสั่ง Pins วางในบล็อก show number โดยกำหนดให้เป็นจุด P1 (เพราะเราเชื่อมต่อเซนเซอร์วัดระยะทางไว้ที่ P1)

(3.2) เสียบสาย microUSB เข้ากับบอร์ดไมโครบิตและคอมพิวเตอร์ จะพบไดรฟ์ที่ชื่อ MICROBIT ปรากฎขึ้นมาในเครื่องคอมพิวเตอร์ของเรา จากนั้นคลิกปุ่ม Download (ด้านล่างซ้ายมือ) แล้วเลือกวางไฟล์โค้ดไปยังไดรฟ์ MICROBIT

(3.3) ทดลองนำ ZX-Sonar เคลื่อนเข้าหาวัตถุในตำแหน่งที่เหมาะสม (ระยะห่างที่แมวเดินเข้ามาหาชามอาหาร) แล้วบันทึกค่าที่อ่านได้จากหน้าจอ LED ของ micro:bit  (ZX-Sonar จะให้ค่าต่ำลงเมื่อมีวัตถุเข้าใกล้) ในตัวอย่างนี้เราจะได้ค่า 95 เพื่อนำไปสร้างเงื่อนไขต่อไป

 

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

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

จากบล็อกข้างต้นได้สร้างเงื่อนไขจากค่าของโมดูลวัดระยะทาง ZX-Sonar ที่เราอ่านได้จากขั้นตอนที่แล้ว โดยใช้บล็อก if then else จากกลุ่มคำสั่ง Logic มาเป็นส่วนสรางเงื่อนไข โดยถ้าค่าที่อ่านได้น้อยกว่า 95 ให้ทำตามคำสั่งในส่วน then (เงื่อนไจเป็นจริง) ที่ประกอบไปด้วย

  • แสดงหน้ายิ้มด้วยบล็อกคำสั่ง show icon (สามารถเลือกไอคอนได้มากถึง 40 แบบ)
  • สั่งให้เซอร์โวมอเตอร์หมุนด้วยบล็อก servo write pin (จากกลุ่มคำสั่ง  Pins) เลือกพอร์ต P12 และกำหนดองศาการหมุนเป็น 90 องศา เพื่อหมุนตีลูกบอลเปิดให้อาหารแมวหล่นลงมา
  • หน่วงเวลาการหมุน (ให้ค้างตำแหน่งไว้) 2 วินาที (ค่า 1000 = 1 วินาที) ด้วยบล็อกคำสั่ง pause
  • สั่งให้เซอร์โวมอเตอร์หมุนด้วยบล็อก servo write pin เลือกพอร์ต P12 และกำหนดองศาการหมุนเป็น 0 องศา เพื่อให้ก้านตีออกจากลูกบอลและกลับไปยังตำแหน่งเดิม
  • ใช้บล็อกคำสั่ง pause หน่วงเวลาที่ต้องการ ในตัวอย่างจะเท่ากับ 12 วินาที (จริงๆ แล้วควรนานกว่านี้) ในส่วนการหน่วงเวลาส่วนที่สองนี้คือการเผื่อเวลาให้แมวกินเสร็จ ก็ลองพิจารณาดูนะครับ ว่าควรกำหนดค่าไว้กี่วินาที โดยค่า 1000 เท่ากับ 1 วินาที

อีกส่วนหนึ่งคือส่วนที่หากค่าที่อ่านได้จาก ZX-Sonar มากกว่า 95 (เงื่อนไขเป็นเท็จ) แสดงว่าแมวยังไม่เดินมาที่ชามอาหาร ให้ข้ามไปทำส่วน else โดยให้แสดงเป็นรูปหัวใจกำลังเต้นด้วยบล็อกคำสั่งต่อไปนี้

  • โชว์รูปหัวใจด้วยบล็อก show icon แล้วเลือกไอคอนรูปหัวใจดวงใหญ่
  • หน่วงเวลา 100 มิลลิวินาที ด้วยบล็อก pause 
  • โชว์รูปหัวใจด้วยบล็อก show icon แล้วเลือกไอคอนรูปหัวใจดวงเล็ก
  • หน่วงเวลา 100 มิลลิวินาที ด้วยบล็อก pause 

เสร็จแล้วก็อย่าลืมดาวน์โหลดลงบนไมโครบิตแล้วทดสอบ

ทั้งหมดนี้ก็คือการใช้บอร์ด micro:bit มาควบคุมเครื่องให้อาหารแมวของเรา แทนการใช้บอร์ด Arduino ซึ่งง่ายและเหมาะสำหรับน้องๆ ที่ไม่เคยเคยโปรแกรมและไม่มีความรู้ด้านอิเล็กทรอนิกส์มาก่อน สำหรับใครที่ต้องการสร้างหรือใช้งานไมโครบิตในรูปแบบอื่นๆ สามารถสั่งซื้อหนังสือคู่มือไว้ศึกษาเพิ่มเติมได้จากลิงก์นี้เลย https://inex.co.th/home/product/book-microbit-coding-beginner

การประดิษฐ์โครงสร้างเครื่องให้อาหารแมว

บทความแนะนำ micro:bit


 

Categories
รีวิว

micro:bit แผงวงจรไมโครคอนโทรลเลอร์สำหรับผู้เริมต้นสร้างสิ่งประดิษฐ์อัตโนมัติ

micro:bit (ไมโครบิต) บอร์ดไมโครคอนโทรลเลอร์สำหรับมือใหม่ทุกระดับจากประเทศอังกฤษ ที่สามารถเขียนโปรแกรมควบคุมได้อย่างง่าย เพียงลากบล็อกคำสั่งมาเรียงต่อกันตามแนวคิดของผู้ใช้ที่ต้องการให้อุปกรณ์หรือสิ่งประดิษฐ์ของเราทำงานด้วยเงื่อนไขใดๆ

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

อีกหนึ่งคุณสมบัติที่น่าสนใจคือการจะเขียนโปรแกรมควบคุมบอร์ดไมโครบิตได้นั้น คุณไม่จำเป็นต้องติดตั้งซอฟต์แวร์เพิ่มเติมแต่อย่างใด เพียงแค่เชื่อมต่ออินเทอร์เน็ตแล้วเปิดเว็บเบราเซอร์เข้าไปที่เว็บ https://makecode.microbit.org/  คุณจะพบตัวอย่างมากมายให้ได้ทดลองทำตาม หรือจะเริ่มสร้างโค้ดของคุณเองก็ทำได้ โดยการคลิกที่ New Project แล้วเริ่มลากบล็อคได้เลย


ภาพหน้าจอ makecode


ภาพตัวอย่างโครงงานที่เราลองทำตามได้


ภาพตัวอย่างการเขียนโค้ดควบคุมเซอร์โวมอเตอร์ สังเกตุซ้ายมือจะมีบอร์ดจำลองพร้อมตัวอย่างเชื่อมต่อเซอร์โวมอเตอร์

แต่ที่เด็ดก็คือตัวซอฟต์แวร์ที่นอกจากจะง่าย แถมยังรันบนเว็บเบราเซอร์โดยไม่ต้องติดตั้งในเครื่องแล้ว ด้ายซ้ายมือยังมีบอร์ดไมโครบิตเสมือน (Simulator) ที่สามารถทดสอบการทำงานของโค้ดคำสั่งที่เราวางได้แบบเรียลไทม์เลยทีเดียว แถมยังสามารถสโลว์โมชั่นการทำงานของบล็อคคำสั่งได้อีกต่างหาก เพียงคลิกที่ไอคอนรูปหอยทาก ก็จะเกิดกรอบสีเหลืองไล่เรียงการทำงานแต่ละบล็อกคำสั่งอย่างช้าๆ พร้อมแสดงผลการทำงานที่บอร์ดจำลองด้านซ้ายไปด้วย


ภาพตัวอย่างเมื่อเราคลิกไอคอนรูปหอยทาก เพื่อดูการทำงานของบล็อกอย่างช้าๆ

การดาวน์โหลดโปรแกรมลงบอร์ดไมโครบิต

เมื่อเขียนโค้ดจนพอใจแล้วให้เชื่อมต่อไมโครบิตเข้ากับเครื่องคอมพิวเตอร์ ด้วยสาย microUSB จากนั้นที่เครื่องคอมพิวเตอร์จะมองเห็นไมโครบิตเป็นไดร์ฟเพิ่มมาอีกหนึ่งไดร์ฟ (คล้ายกับที่เราเสียบแฟลชไดร์ฟ) จากนั้นคลิกที่ปุ่มดาวน์โหลด ระบบจะทำการแปลงบล็อกของเราเป็นไฟล์นามสกุล .hex

จากนั้นจะมีข้อความแนะนำดังรูปด้านล่าง

ต่อไปให้คลิกที่ปุ่มสีเขียวแล้วเลือกที่ดาวน์โหลดไปที่ไดร์ฟ Microbit ดังรูป

ขณะดาวน์โหลดลงบอร์ดไมโครบิตจะสังเกตุเห็นไฟ LED บนบอร์ดกะพริบรัวๆ หากไฟหยุดกะพริบแสดงว่าการดาวน์โหลดเสร็จสิ้น พร้อมสำหรับการนำไปใช้งานแล้ว

คุณสมบัติที่น่าสนใจบนแผงวงจร

• ใช้ไมโครคอนโทรลเลอร์ ARM Cortex 32 บิต
• หน่วยความจำแรม 16 กิโลไบต์
• รองรับการเชื่อมต่อไร้สายแบบบลูทูธ 4.0 ใช้พลังงานต่ำ
• มี LED บนบอร์ด 25 ดวง (5×5)
• มีสวิตช์แบบปุ่มกดบนบอร์ด 2 ตัว
• มีโมดูลเข็มทิศ
• มีโมดูลตรวจจับความเอียง
• มีพอร์ตอะนาลอกและดิจิตอล 3 พอร์ต
• มีจุดต่อจ่ายไฟบนบอร์ดและคอนเน็กเตอร์สำหรับต่อกะบะถ่าน 3 โวลต์
• ใช้แหล่งจ่ายไฟตรง 3 โวลต์

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

การควบคุมอุปกรณ์ภายนอก

ความจริงแล้วไมโครบิตถูกออกแบบมาสำหรับการเรียนรู้ทั้งการเขียนโปรแกรมและวจรไฟฟ้า-อิเล็กทรอนิกส์พื้นฐานไปพร้อมกัน จึงเห็นว่าที่ด้านล่างของตัวบอร์ดจะมีแถบทองแดงที่มีตัวเลขกำกับโดยตัวเลข 0 1 และ 2 คือตำแหน่งของขาพอร์ตของไมโครคอนโทรลเลอร์ ส่วน 3V และ GND คือขาสำหรับต่อไฟเลี้ยงขั้วบวก 3 โวลต์ และขั้วลบ หรือขากราวด์นั้นเอง ทำให้สามารถเชื่อมต่อกับอุปกรณ์ภายนอกอย่างง่ายๆ โดยใช้ปากคีบหนีบกับแถบหมายเลขตามความต้องการใช้งานได้เลย ส่วนที่เป็นซี่เล็กๆ ก็คือขาพอร์ตอื่นๆ ดังรูปต่อไปนี้

แต่เพื่อความสะดวกในการใช้งาน ผู้เขียนขอแนะนำแผงวงจร AX-microBIT+ ที่ทำหน้าที่เชื่อมต่อกับอุปกรณ์ภายนอกไม่ว่าจะเป็นเซ็นเซอร์และเซอร์โวมอเตอร์ นอกจากนั้นยังมีภาคจ่ายไฟแยกอิสระถึง 2 แรงดัน คือ 3 โวลต์ และ 5 โวลต์ และจุดต่ออิสระเพื่อความสะดวกในการเชื่อมต่อกับอุปกรณ์อิเล็กทรอนิกส์อื่นๆ เพื่อสร้างต้นแบบสิ่งประดิษฐ์

คุณสมบัติของแผงวงจร AX-microBIT+

• มีคอนเน็กเตอร์ 80 ขา แบบตั้ง และแบบนอนสำหรับติดตั้ง micro:bit

• มีสวิตช์เปิดปิด

• มีจุดต่อไฟเลี้ยง +5V เป็นแจ๊กอะแดปเตตอร์ พร้อมวงจรควบคุมไฟเลี้ยงคงที่ +3.3V และวงจรป้องกันการต่อไฟกลับขั้ว

• มีจุดต่อพอร์ตสำคัญแบบ JST เพื่อต่อกับอุปกรณ์อินพุตเอาต์พุตของ INEX

• มีจุดต่อพอร์ตทั้งหมดของ micro:bit เป็นแบบ IDC ตัวผูัและตัวเมีย ทำให้ต่อสายสำหรับต่อวงจรบนเบรดบอร์ดได้สะดวก

• มีจุดต่อชุบทองขนาดรู 4 มม. 5 จุด เพื่อใช้งานกับสายปากคีบได้ ต่อตรงมาจากขาพอร์ต 0,1,2, +3V และ GND

• มีสวิตช์กดติดปล่อยดับ 2 ตัว ต่อมาจาก Button A และ B ของ micro:bit

• มีตัวต้าทานปรับค่าได้สำหรับทดลองอินพุตอะนาลอก

• ผลิตจากแผ่นวงจรพิมพ์ 2 หน้า PTH พร้อมชุบทองที่จุดบัดกรีทั้งหมด

ดาวน์โหลดคู่มือ AX-microBIT+ 

ซื้อหามาใช้

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

ซื้อ micro:bit ที่ลาซาด้า

ซื้อ micro:bit ที่ INEX https://inex.co.th/home/product-category/education-board/microbit/


 

Exit mobile version