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 της Microsoft. Βλέπουν ότι και οι δύο μέθοδοι λειτουργούν το ίδιο, αλλά η επίλυση σύνθετων προβλημάτων με χρήση κώδικα είναι πιο βολική.

Μετάβαση σε MicroPython

Το περιβάλλον EV3 είναι χτισμένο σε έναν επεξεργαστή ARM9 και οι προγραμματιστές άφησαν σκόπιμα την αρχιτεκτονική ανοιχτή. Αυτή η λύση κατέστησε δυνατή την ανάπτυξη εναλλακτικού υλικολογισμικού, ένα από τα οποία ήταν μια εικόνα για εργασία με τη MicroPython. Σας επιτρέπει να χρησιμοποιήσετε την Python για να προγραμματίσετε το EV3 σας, φέρνοντας το κιτ ακόμα πιο κοντά σε πραγματικές εργασίες. 

Για να ξεκινήσετε, πρέπει να κάνετε λήψη Εικόνα EV3 MicroPython σε οποιαδήποτε κάρτα microSD, εγκαταστήστε την στον μικροϋπολογιστή EV3 και ενεργοποιήστε την. Στη συνέχεια, πρέπει να εγκαταστήσετε δωρεάν επέκταση για το Visual Studio. Και μπορείτε να αρχίσετε να εργάζεστε. 

Προγραμματισμός του πρώτου ρομπότ στο 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

Στήσαμε μια πλατφόρμα που περιστρέφει τη λαβή σαν κινητήρας στη θύρα Β. Ρυθμίσαμε την σχέση μετάδοσης κίνησης ενός γραναζιού δύο σταδίων με αριθμό δοντιών 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 δείχνουν ότι η κωδικοποίηση δεν είναι τρομακτική, σας προετοιμάζει για σοβαρές προκλήσεις μηχανικής και σας βοηθούν να κάνετε το πρώτο βήμα προς την απόκτηση τεχνικών δεξιοτήτων. Και για όσους εργάζονται στα σχολεία και συνδέονται με την εκπαίδευση, έχουμε προετοιμαστεί προγράμματα μαθημάτων και εκπαιδευτικό υλικό. Περιγράφουν λεπτομερώς ποιες δεξιότητες αναπτύσσονται κατά την εκτέλεση ορισμένων εργασιών και πώς οι δεξιότητες που αποκτήθηκαν σχετίζονται με τα πρότυπα εκπαίδευσης.

Πηγή: www.habr.com

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster