LEGO® Education > Σχέδια Μαθήματος > ΣΧΕΔΙΟ ΕΝΟΤΗΤΑΣ:
Έλεγχος καλαθιού
Οι μαθητές θα εξερευνήσουν τον αισθητήρα απόστασης για τον έλεγχο των κινήσεων.
45 λεπτά
Τάξεις Ε’ Δημοτικού- Α’ Γυμνασίου
Αρχάριοι
Ερωτήσεις προς διερεύνηση
- Πώς μπορεί να χρησιμοποιηθεί ένας αισθητήρας απόστασης για την παροχή πληροφοριών για τη λήψη αποφάσεων;
- Πώς μπορούν να χρησιμοποιηθούν αισθητήρες για πιο ακριβείς κινήσεις;
Προετοιμασία ( Prepare )
- Βεβαιωθείτε ότι οι κόμβοι SPIKE Prime είναι φορτισμένοι, ειδικά αν η σύνδεση γίνεται μέσω Bluetooth.
Συμμετοχή ( Engage )
(Ολόκληρη η τάξη, 5 λεπτά)
- Ενεργοποιήστε τους μαθητές να σκεφτούν τους τρόπους με τους οποίους χρησιμοποιούμε τις αυτόματες μηχανές.
- Προτρέψτε τους μαθητές να σκεφτούν πώς αυτά τα μηχανήματα χρησιμοποιούν αισθητήρες για να μην προσκρούουν σε αντικείμενα.
- Εξετάστε το ενδεχόμενο να δείξετε εικόνες και βίντεο από διάφορες μηχανές συσκευασίας ή αποστολής ως παραδείγματα. Μπορείτε επίσης να προτρέψετε τους μαθητές να ερευνήσουν και να βρουν τα δικά τους παραδείγματα.
- Συζητήστε με τους μαθητές πώς βλέπουν τα αυτοματοποιημένα μηχανήματα να κινούνται με επιτυχία.
Ανακάλυψη ( Explore )
(Μικρές ομάδες, 20 λεπτά)
Οι μαθητές θα κατασκευάσουν ένα μοντέλο καροτσιού παράδοσης για να διερευνήσουν διαφορετικούς τρόπους κίνησης με τον αισθητήρα απόστασης.
- Κατευθύνετε τους μαθητές στην ενότητα BUILD στην εφαρμογή SPIKE. Εδώ οι μαθητές μπορούν να έχουν πρόσβαση στις οδηγίες κατασκευής για το μοντέλο του καροτσιού παράδοσης. Ζητήστε από τους μαθητές να κατασκευάσουν το μοντέλο. Οι οδηγίες κατασκευής είναι επίσης διαθέσιμες στη διεύθυνση https://education.lego.com/en-us/support/spike-prime/building-instructions.
- Καθοδηγήστε τους μαθητές να ανοίξουν ένα νέο έργο στον καμβά προγραμματισμού Python. Ζητήστε από τους μαθητές να διαγράψουν τυχόν κώδικα που υπάρχει ήδη στην περιοχή προγραμματισμού. Οι μαθητές θα πρέπει να συνδέσουν τον κόμβο τους.
Καρότσι υπό έλεγχο
Οι μαθητές θα διερευνήσουν τον τρόπο χρήσης του αισθητήρα απόστασης.
Ζητήστε από τους μαθητές να επανεξετάσουν αυτό το πρόγραμμα. Συζητήστε μαζί τους αν υπάρχουν σφάλματα. Όταν συνειδητοποιήσουν ότι δεν υπάρχουν, ρωτήστε τους γιατί αυτό το πρόγραμμα δεν πρόκειται να λειτουργήσει καλά. Οι μαθητές θα πρέπει να συνειδητοποιήσουν ότι ο κινητήρας θα συνεχίσει να τρέχει για πάντα και τελικά θα πέσει πάνω σε κάτι.
from spike import MotorPair
\# Initialize the motor
motor_pair=MotorPair(‘A’,’E’)
\# Run motor
motor_pair.start()
- Προτρέψτε τους μαθητές να σκεφτούν τρόπους για να μην προσκρούσει το καρότσι σε κάποιο αντικείμενο. Οι μαθητές μπορεί να σκεφτούν να συμπεριλάβουν ένα στοπ στο πρόγραμμα ή να προσθέσουν έναν αισθητήρα δύναμης στο καρότσι με βάση προηγούμενες εμπειρίες. Πείτε στους μαθητές ότι θα χρησιμοποιήσουν έναν διαφορετικό αισθητήρα.
- Ζητήστε από τους μαθητές να εντοπίσουν τον αισθητήρα απόστασης που κατασκεύασαν στο κάτω μέρος του αμαξιδίου τους. Δώστε στους μαθητές αυτό το δείγμα κώδικα για να μετακινήσουν το καρότσι χρησιμοποιώντας τον αισθητήρα απόστασης. Οι μαθητές θα πρέπει να πληκτρολογήσουν αυτό το πρόγραμμα στον καμβά προγραμματισμού.
- Ζητήστε από τους μαθητές να εξετάσουν κάθε γραμμή κώδικα με τους συνεργάτες τους. Καθορίστε τι προορίζεται να κάνει το πρόγραμμα.
- Ζητήστε από τους μαθητές να εκτελέσουν το πρόγραμμα.
from spike import DistanceSensor, MotorPair
\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor(‘B’)
motor_pair = MotorPair(‘E’, ‘A’)
\# Move your hand slowly away from the distance sensor to start the motor
distance_sensor.wait_for_distance_farther_than(20, ‘cm’)
motor_pair.start(0, -50)
\# Move your hand slowly toward the distance sensor to stop the motor
distance_sensor.wait_for_distance_closer_than(20, ‘cm’)
motor_pair.stop()
Αν οι μαθητές δυσκολεύονται να κάνουν το πρόγραμμα να λειτουργήσει, δώστε τους μια συμβουλή. Οι μαθητές θα πρέπει να κρατήσουν ένα αντικείμενο, όπως ένα βιβλίο ή ένα χέρι, μπροστά από τον αισθητήρα απόστασης όταν ξεκινούν το πρόγραμμα. Μόλις το πρόγραμμα τρέξει πάρτε το αντικείμενο μακριά, το καρότσι θα πρέπει να αρχίσει να κινείται. Τοποθετήστε ξανά το αντικείμενο μπροστά από τον αισθητήρα και αυτό θα πρέπει να σταματήσει.
Αφήστε τους μαθητές να εξερευνήσουν το πρόγραμμα μεταβάλλοντας την απόσταση εκκίνησης από το αντικείμενο και εκτελώντας ξανά το πρόγραμμα αρκετές φορές.
Σημείωση: Η απόσταση για την εκκίνηση των κινητήρων δεν χρειάζεται να είναι ίση με την απόσταση για τη διακοπή των κινητήρων.
Εξηγήστε το ( Explain )
(Ολόκληρη η ομάδα, 5 λεπτά)
Επανεξετάστε το πρόγραμμα από κοινού ως ομάδα.
Θέστε στους μαθητές πρόσθετες ερωτήσεις όπως:
- Τι λένε οι γραμμές wait_for_distance_further_than και wait_for_distance_closer than στο καρότσι να κάνει;
- Γιατί χρειαζόταν ένα αντικείμενο για να λειτουργήσει το πρόγραμμα;
- Τι συμβαίνει όταν ξεκινάτε το καρότσι πιο πίσω από το αντικείμενο;
- Πώς λειτουργεί ο αισθητήρας απόστασης;
- Εξηγήστε στους μαθητές ότι ο αισθητήρας απόστασης στο καρότσι είναι ένας αισθητήρας υπερήχων. Ζητήστε από τους μαθητές να κοιτάξουν την επάνω αριστερή περιοχή του καμβά προγραμματισμού κοντά στο σημείο όπου συνδέουν τον κόμβο τους. Εδώ θα πρέπει να βλέπουν ζωντανά δεδομένα που έρχονται από το καρότσι. Όλο το υλικό που είναι συνδεδεμένο στο καρότσι, κινητήρες και αισθητήρες, θα παρέχει ζωντανά δεδομένα.
- Ζητήστε από τους μαθητές να κοιτάξουν τον αισθητήρα απόστασης και στη συνέχεια να μετακινήσουν τα χέρια τους κοντά σε αυτόν και στη συνέχεια πιο μακριά. Ο αριθμός θα πρέπει να αλλάζει, αυξάνοντας όσο το χέρι απομακρύνεται περισσότερο. Περιγράψτε πώς λειτουργεί ο αισθητήρας στέλνοντας έναν ηχητικό παλμό από έναν κύκλο ή “μάτι”, ο οποίος θα αναπηδήσει σε τυχόν αντικείμενα μπροστά από τον αισθητήρα και θα επιστρέψει πίσω στον άλλο κύκλο ή “μάτι”. Ο αισθητήρας χρησιμοποιεί το χρόνο που χρειάζεται αυτός ο παλμός για να επιστρέψει για να “μετρήσει” την απόσταση από το αντικείμενο. Ο αισθητήρας χρησιμοποιεί έναν μαθηματικό τύπο για να μετατρέψει το χρόνο σε μέτρηση απόστασης.
Εξελίξτε το ( Elaborate )
(Μικρές ομάδες, 10 λεπτά)
Οι μαθητές μπορεί να έχουν παρατηρήσει ότι οι πίσω τροχοί του αμαξιδίου μπορούν να εμποδίσουν το αμαξίδιο να κινηθεί σε ευθεία γραμμή. Κατά την εκτέλεση του παραπάνω προγράμματος, οι μαθητές μπορεί να είδαν ότι το καρότσι στρίβει προς τη μία πλευρά, εκτός αν οι πίσω τροχοί είναι ευθείες. Εξετάστε το ενδεχόμενο επίδειξης για τους μαθητές.
Ρωτήστε τους μαθητές γιατί ένα καρότσι που στρίβει μπορεί να αποτελεί πρόβλημα για τον αισθητήρα απόστασης όταν αυτός ανιχνεύει την απόσταση από ένα αντικείμενο χρησιμοποιώντας έναν παλμό υπερήχων. Συζητήστε ιδέες με τους μαθητές σχετικά με το πώς να διατηρηθεί η ευθεία κίνηση του αμαξιδίου.
Οι μαθητές θα πρέπει να αναγνωρίσουν ότι επειδή οι πίσω τροχοί είναι συνδεδεμένοι με έναν κινητήρα, μπορεί να προστεθεί ένα κομμάτι κώδικα που θα βοηθήσει το καρότσι να παραμείνει ευθεία. Οι μαθητές μπορεί επίσης να σκεφτούν να αλλάξουν την κατασκευή για να στερεώσουν τον κινητήρα στη θέση του. Εξετάστε το ενδεχόμενο να συζητήσετε πώς αυτό θα μπορούσε να περιορίσει την κίνηση του αμαξιδίου και επικεντρώστε τους μαθητές ξανά στον κώδικα.
Δώστε στους μαθητές αυτό το δείγμα κώδικα για να ρυθμίσουν το πίσω μοτέρ και τους τροχούς σε ευθεία θέση. Οι μαθητές θα πρέπει να μετακινήσουν σκόπιμα το μεγάλο μοτέρ με τους πίσω τροχούς για να βεβαιωθούν ότι δεν είναι ευθεία. Ζητήστε από τους μαθητές να εκτελέσουν το πρόγραμμα.
from spike import DistanceSensor, MotorPair, Motor
from spike.control import wait_for_seconds
\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor(‘B’)
motor_pair = MotorPair(‘E’, ‘A’)
motor_back = Motor(‘C’)
\# Move toward object. Stop at 20 cm
motor_back.run_to_position(0, ‘shortest path’, 75)
motor_pair.start(0, -50)
distance_sensor.wait_for_distance_closer_than(20, ‘cm’)
motor_pair.stop()
Συζητήστε το πρόγραμμα με τους μαθητές και πώς η εξασφάλιση ότι οι πίσω τροχοί είναι ευθείες επιτρέπει στον αισθητήρα να λειτουργεί πιο αποτελεσματικά. Όταν ο αισθητήρας είναι κάθετος σε ένα αντικείμενο, τα ηχητικά κύματα ανακλώνται πιο άμεσα δίνοντας μια καλή ένδειξη.
Αποσφαλμάτωση
Ζητήστε από τους μαθητές να επανεξετάσουν το ακόλουθο πρόγραμμα για να σκεφτούν πώς να αντιμετωπίσουν το μήνυμα σφάλματος που λαμβάνουν.
Δραστηριότητα αποσφαλμάτωσης #1
from spike import MotorPair, Motor
from spike.control import wait_for_seconds
\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor(‘B’)
motor_pair = MotorPair(‘E’, ‘A’)
motor_back = Motor(‘C’)
\# Move toward object. Stop at 20 cm
motor_back.run_to_position(0, ‘shortest path’, 75)
motor_pair.start(0, -50)
distance_sensor.wait_for_distance_closer_than(20, ‘cm’)
motor_pair.stop()
File “lib/hub/flash/programrunner/__init__.py”, line 1, in start_program
File “./projects/22622.py”, line 9
NameError: name ‘DistanceSensor’ isn’t defined
Συζητήστε το μήνυμα σφάλματος με τους μαθητές. Οι μαθητές θα πρέπει να αναγνωρίσουν ότι το σφάλμα αναφέρεται στη γραμμή 9. Ωστόσο, το σφάλμα βρίσκεται στην πραγματικότητα στη γραμμή 1. Το ζήτημα είναι ότι στο πρόγραμμα χρησιμοποιείται ένας αισθητήρας απόστασης, αλλά ο αισθητήρας απόστασης δεν εισάγεται στη γραμμή 1.
Δραστηριότητα εντοπισμού σφαλμάτων #2
from spike import DistanceSensor, MotorPair, Motor
from spike.control import wait_for_seconds
\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor(‘B’)
motor_pair = MotorPair(‘B’, ‘A’)
motor_back = Motor(‘C’)
\# Move toward object. Stop at 20 cm
motor_back.run_to_position(0, ‘shortest path’, 75)
motor_pair.start(0, -50)
distance_sensor.wait_for_distance_closer_than(20, ‘cm’)
motor_pair.stop()
File “lib/hub/flash/programrunner/__init__.py”, line 1, in start_program
File “./projects/23262.py”, line 6
File “lib/hub/flash/spike/motorpair.py”, line 1, in __init__
RuntimeError: Ένα ή και τα δύο Ports δεν έχουν συνδεδεμένο μοτέρ.
Συζητήστε το μήνυμα σφάλματος με τους μαθητές. Οι μαθητές θα πρέπει να αναγνωρίσουν ότι το σφάλμα υποδεικνύει διάφορες γραμμές. Το πρόβλημα είναι ότι η μεταβλητή MotorPair δεν έχει οριστεί ως θύρα που έχει συνδεδεμένο κινητήρα. Το σφάλμα εκτέλεσης υποδεικνύει ότι οι θύρες δεν έχουν συνδεδεμένο κινητήρα. Οι μαθητές θα πρέπει να ελέγξουν τις θύρες στις οποίες είναι συνδεδεμένοι οι κινητήρες και να αλλάξουν τη μεταβλητή ώστε να οριστούν οι σωστές θύρες.
Αξιολόγηση ( Evaluate )
(Ομαδική άσκηση, 5 λεπτά)
Παρατήρηση του δασκάλου
Συζητήστε το πρόγραμμα με τους μαθητές. Κάντε στους μαθητές ερωτήσεις όπως:
- Πώς λειτούργησε ο αισθητήρας απόστασης για τον έλεγχο του αμαξιδίου σας;
- Πώς ο σχεδιασμός του πίσω τροχού επηρεάζει τον τρόπο με τον οποίο κινείται το καρότσι και ενδεχομένως την αποτελεσματικότητα του αισθητήρα;
- Ποιοι είναι κάποιοι τρόποι με τους οποίους θα μπορούσατε να χρησιμοποιήσετε τον αισθητήρα απόστασης;
Αυτοαξιολόγηση
- Ζητήστε από τους μαθητές να απαντήσουν στα ακόλουθα στο ημερολόγιό τους:
- Τι μάθατε σήμερα σχετικά με τη χρήση του αισθητήρα απόστασης για να μην προσκρούετε σε αντικείμενα;
- Ποια χαρακτηριστικά ενός καλού συμπαίκτη επέδειξα σήμερα;
- Ζητήστε από τους μαθητές να βαθμολογήσουν τον εαυτό τους σε κλίμακα 1-3, σχετικά με τη διαχείριση του χρόνου τους σήμερα.
- Ζητήστε από τους μαθητές να βαθμολογήσουν τον εαυτό τους σε κλίμακα 1-3, σχετικά με τη διαχείριση των υλικών (εξαρτημάτων) που έκαναν σήμερα.
Υποστήριξη εκπαιδευτικών
Οι μαθητές θα:
- Προγραμματίσουν τον αισθητήρα απόστασης.
- Εξερευνήσουν τις κινήσεις με την απόσταση.
- Κατανοήσουν τους υπερήχους.
Πράγματα που θα χρειαστείτε
- Σετ SPIKE Prime έτοιμο για χρήση από τους μαθητές.
- Συσκευές με εγκατεστημένη την εφαρμογή SPIKE.
- Ημερολόγια μαθητών
Εκπαιδευτικά πρότυπα
CSTA
2-CS-02 Σχεδιασμός έργων που συνδυάζουν στοιχεία υλικού και λογισμικού για τη συλλογή και ανταλλαγή δεδομένων.
2-AP-10 Χρήση διαγραμμάτων ροής ή/και ψευδοκώδικα για την αντιμετώπιση σύνθετων προβλημάτων ως αλγορίθμων.
2-AP-13 Να αναλύουν προβλήματα και υποπροβλήματα σε μέρη για να διευκολύνουν το σχεδιασμό, την υλοποίηση και την αναθεώρηση προγραμμάτων.
2-AP-16 Ενσωμάτωση υπάρχοντος κώδικα, μέσων και βιβλιοθηκών σε πρωτότυπα προγράμματα και απόδοση των στοιχείων αυτών.
2-AP-17 Συστηματική δοκιμή και τελειοποίηση προγραμμάτων χρησιμοποιώντας μια σειρά περιπτώσεων δοκιμής.
2-AP-19 Τεκμηρίωση προγραμμάτων προκειμένου να διευκολύνεται η παρακολούθηση, ο έλεγχος και η αποσφαλμάτωση.