LEGO MINDSTORMS Education EV3 + MicroPython: การเขียนโปรแกรมชุดสิ่งก่อสร้างสำหรับเด็กในภาษาสำหรับผู้ใหญ่

สวัสดีฮับ! พวกเราพร้อมแล้ว บอก เกี่ยวกับแพลตฟอร์ม LEGO MINDSTORMS Education EV3 วัตถุประสงค์หลักของแพลตฟอร์มนี้คือการเรียนรู้ผ่านตัวอย่างที่ใช้งานได้จริง การพัฒนาทักษะ STEAM และการพัฒนากรอบความคิดทางวิศวกรรม สามารถใช้สำหรับงานห้องปฏิบัติการเพื่อศึกษากลศาสตร์และพลศาสตร์ได้ ม้านั่งในห้องปฏิบัติการที่ทำจากอิฐ LEGO และอุปกรณ์อรรถประโยชน์สำหรับการบันทึกและประมวลผลข้อมูลทำให้การทดลองน่าสนใจและเป็นภาพมากยิ่งขึ้น และช่วยให้เด็กๆ เข้าใจฟิสิกส์ได้ดีขึ้น ตัวอย่างเช่น นักเรียนสามารถรวบรวมข้อมูลจุดหลอมเหลวและใช้แอปเพื่อจัดระเบียบและนำเสนอในรูปแบบกราฟ แต่นี่เป็นเพียงจุดเริ่มต้น: วันนี้เราจะบอกคุณถึงวิธีเสริมชุดนี้ด้วยสภาพแวดล้อมการเขียนโปรแกรม MicroPython และใช้เพื่อสอนวิทยาการหุ่นยนต์

LEGO MINDSTORMS Education EV3 + MicroPython: การเขียนโปรแกรมชุดสิ่งก่อสร้างสำหรับเด็กในภาษาสำหรับผู้ใหญ่

เรียนรู้การเขียนโปรแกรมโดยใช้ EV3

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

สภาพแวดล้อมการเขียนโปรแกรม EV3 พื้นฐานนั้นใช้ภาษากราฟิก LabVIEW และอนุญาตให้คุณระบุอัลกอริธึมสำหรับหุ่นยนต์ด้วยสายตา: คำสั่งจะแสดงในรูปแบบของบล็อกที่สามารถลากและเชื่อมต่อได้

LEGO MINDSTORMS Education EV3 + MicroPython: การเขียนโปรแกรมชุดสิ่งก่อสร้างสำหรับเด็กในภาษาสำหรับผู้ใหญ่

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

มีเคล็ดลับเล็กๆ น้อยๆ ที่นี่ หนึ่งในนั้นคือการแสดงให้เห็นว่าโค้ดทำสิ่งเดียวกันกับบล็อก ในสภาพแวดล้อม EV3 สิ่งนี้เป็นไปได้ผ่านการผสานรวม MicroPython ดังนั้นเด็กๆ จึงสามารถสร้างโปรแกรมเดียวกันได้ทั้งในสภาพแวดล้อมการเขียนโปรแกรมบล็อกพื้นฐานและ Python ใน Visual Studio Code ของ Microsoft พวกเขาเห็นว่าทั้งสองวิธีทำงานเหมือนกัน แต่การแก้ปัญหาที่ซับซ้อนโดยใช้โค้ดนั้นสะดวกกว่า

เปลี่ยนเป็น MicroPython

สภาพแวดล้อม EV3 สร้างขึ้นบนโปรเซสเซอร์ ARM9 และนักพัฒนาจงใจเปิดสถาปัตยกรรมทิ้งไว้ โซลูชันนี้ทำให้สามารถเปิดตัวเฟิร์มแวร์สำรองได้ ซึ่งหนึ่งในนั้นคือรูปภาพสำหรับการทำงานกับ MicroPython ช่วยให้คุณสามารถใช้ Python เพื่อตั้งโปรแกรม EV3 ของคุณ ทำให้ชุดอุปกรณ์ใกล้เคียงกับงานในชีวิตจริงมากยิ่งขึ้น 

ในการเริ่มต้น คุณต้องดาวน์โหลด ภาพ EV3 MicroPython บนการ์ด microSD ใด ๆ ให้ติดตั้งลงในไมโครคอมพิวเตอร์ EV3 แล้วเปิดใช้งาน จากนั้นคุณจะต้องติดตั้ง ขยายฟรี สำหรับวิชวลสตูดิโอ และคุณสามารถเริ่มทำงานได้ 

การเขียนโปรแกรมหุ่นยนต์ตัวแรกใน MycroPython

LEGO MINDSTORMS Education EV3 + MicroPython: การเขียนโปรแกรมชุดสิ่งก่อสร้างสำหรับเด็กในภาษาสำหรับผู้ใหญ่

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

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

สำหรับงานเราต้องการ:

  • ชุดหลัก LEGO MINDSTORMS Education EV3; 
  • กระดาษตาหมากรุกแผ่นใหญ่
  • เครื่องหมายสี 

การประกอบหุ่นยนต์เข้าแล้ว คำแนะนำและเราจะดูตัวอย่างการเขียนโปรแกรม

ขั้นแรกเราเริ่มต้นไลบรารีโมดูล EV3:

#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Color, ImageFile
from pybricks.tools import wait

เราสร้างแพลตฟอร์มที่หมุนด้ามจับเหมือนมอเตอร์ในพอร์ต B เราตั้งค่าอัตราทดเกียร์ของชุดเกียร์สองขั้นด้วยจำนวนฟัน 20-12-28 ตามลำดับ

turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])

เรากำหนดค่ากลไกการยกสำหรับที่จับเป็นมอเตอร์ในพอร์ต C:

seesaw_motor = Motor(Port.C)

เรากำหนดค่าไจโรสโคปซึ่งวัดมุมเอียงของที่จับในพอร์ต 2:

gyro_sensor = GyroSensor(Port.S2)

เรากำหนดค่าเซ็นเซอร์สีในพอร์ต 3 เซ็นเซอร์ใช้ในการตรวจจับกระดาษสีขาวใต้เครื่องวาดภาพ:

color_sensor = ColorSensor(Port.S3)

เรากำหนดค่าเซ็นเซอร์สัมผัสในพอร์ต 4 หุ่นยนต์เริ่มวาดเมื่อเซ็นเซอร์ถูกกด:

touch_sensor = TouchSensor(Port.S4)

เรากำหนดฟังก์ชั่นที่ยกและลดจุดจับ:

def pen_holder_raise():
  seesaw_motor.run_target(50, 25, Stop.HOLD)
  wait(1000)

def pen_holder_lower():
  seesaw_motor.run_target(50, 0, Stop.HOLD)
  wait(1000)

เรากำหนดฟังก์ชันเพื่อหมุนที่จับไปยังมุมที่กำหนดหรือมุมใดมุมหนึ่ง:

def pen_holder_turn_to(target_angle):
  if target_angle > gyro_sensor.angle():

หากมุมเป้าหมายมากกว่ามุมเซ็นเซอร์ไจโรปัจจุบัน ให้ดำเนินการต่อตามเข็มนาฬิกาด้วยความเร็วบวก:

    turntable_motor.run(70)
	
while gyro_sensor.angle() < target_angle:
  	
pass
  elif target_angle < gyro_sensor.angle():

หากมุมเป้าหมายน้อยกว่าเซ็นเซอร์ไจโรปัจจุบัน ให้เลื่อนทวนเข็มนาฬิกา:

    turntable_motor.run(-70)
	
while gyro_sensor.angle() > target_angle:
  	
pass

หยุดแท่นหมุนเมื่อถึงมุมเป้าหมาย:

  turntable_motor.stop(Stop.BRAKE)

กำหนดตำแหน่งเริ่มต้นของที่จับในตำแหน่งบน:

pen_holder_raise()

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

เมื่ออุปกรณ์ไม่พร้อม ไฟ LED บนตัวควบคุมจะเปลี่ยนเป็นสีแดงและภาพ "ยกนิ้วโป้งลง" จะแสดงบนหน้าจอ LCD:

while True:
  brick.light(Color.RED)
  brick.display.image(ImageFile.THUMBS_DOWN)

เรารอจนกระทั่งเซ็นเซอร์สีนับสีน้ำเงินหรือสีขาว ตั้งค่าสี LED เป็นสีเขียว แสดงภาพ "ยกนิ้วโป้ง" บนหน้าจอ LCD และรายงานว่าอุปกรณ์พร้อมใช้งาน:

  while color_sensor.color() not in (Color.BLUE, Color.WHITE):
	
wait(10)
  brick.light(Color.GREEN)
  brick.display.image(ImageFile.THUMBS_UP)

เรารอให้กดเซ็นเซอร์สัมผัสกำหนดค่ามุม 0 ให้กับเซ็นเซอร์ไจโรสโคปิกแล้วเริ่มวาด:

  while not touch_sensor.pressed():
	
wait(10)
  gyro_sensor.reset_angle(0)
  pen_holder_turn_to(15)
  pen_holder_lower()
  pen_holder_turn_to(30)
  pen_holder_raise()
  pen_holder_turn_to(45)
  pen_holder_lower()
  pen_holder_turn_to(60)

ยกที่ยึดปากกาขึ้นแล้วคืนไปยังตำแหน่งเดิม:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

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

ตัวอย่างดังกล่าวให้อะไร?

LEGO MINDSTORMS Education EV3 + MicroPython: การเขียนโปรแกรมชุดสิ่งก่อสร้างสำหรับเด็กในภาษาสำหรับผู้ใหญ่

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

การรองรับ MicroPython ทำให้แพลตฟอร์ม EV3 เหมาะสำหรับการสอนในโรงเรียนมัธยมศึกษาตอนปลาย นักศึกษาสามารถทดลองตัวเองเป็นโปรแกรมเมอร์ในภาษาสมัยใหม่ที่ได้รับความนิยมมากที่สุดภาษาหนึ่ง และทำความคุ้นเคยกับวิชาชีพที่เกี่ยวข้องกับการเขียนโปรแกรมและการออกแบบทางวิศวกรรม ชุด EV3 แสดงให้เห็นว่าการเขียนโค้ดไม่น่ากลัว ช่วยเตรียมคุณให้พร้อมสำหรับความท้าทายทางวิศวกรรมที่จริงจัง และช่วยให้คุณก้าวแรกสู่การเรียนรู้ทักษะทางเทคนิค และสำหรับผู้ที่ทำงานในโรงเรียนและเกี่ยวข้องกับการศึกษาเราก็ได้เตรียมไว้ โปรแกรมบทเรียน และสื่อการเรียนรู้ โดยจะอธิบายรายละเอียดว่าทักษะใดบ้างที่ได้รับการพัฒนาเมื่อปฏิบัติงานบางอย่าง และทักษะที่ได้รับนั้นเกี่ยวข้องกับมาตรฐานการฝึกอบรมอย่างไร

ที่มา: will.com

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster