Πίνακας περιεχομένων:

MicroPython στο SPIKE Prime: 12 Βήματα
MicroPython στο SPIKE Prime: 12 Βήματα

Βίντεο: MicroPython στο SPIKE Prime: 12 Βήματα

Βίντεο: MicroPython στο SPIKE Prime: 12 Βήματα
Βίντεο: Running micropython on the Lego Spike Prime hub 2024, Νοέμβριος
Anonim
MicroPython στο SPIKE Prime
MicroPython στο SPIKE Prime

Μπορείτε να κωδικοποιήσετε το SPIKE Prime χρησιμοποιώντας το MicroPython, το οποίο είναι ένα υποσύνολο python για μικρούς μικροεπεξεργαστές.

Μπορείτε να χρησιμοποιήσετε οποιονδήποτε εξομοιωτή τερματικού για να κωδικοποιήσετε το διανομέα SPIKE Prime.

Προμήθειες

SPIKE Prime hub

Υπολογιστής με θύρα USB / bluetooth

Καλώδιο USB για σύνδεση του διανομέα στον υπολογιστή

Βήμα 1: Πιάστε έναν εξομοιωτή τερματικού

Πιάστε έναν εξομοιωτή τερματικού
Πιάστε έναν εξομοιωτή τερματικού
Πιάστε έναν εξομοιωτή τερματικού
Πιάστε έναν εξομοιωτή τερματικού

Υπάρχουν πολλές επιλογές για να διαλέξετε.

Το CoolTerm λειτουργεί σε όλες τις πλατφόρμες, συμπεριλαμβανομένου του Pi

Ο στόκος λειτουργεί στα παράθυρα

εντολή οθόνης στο τερματικό σε λειτουργικό σύστημα unix

Βήμα 2: Συνδέστε το SPIKE Prime στη θύρα USB

Συνδέστε το SPIKE Prime στη θύρα USB
Συνδέστε το SPIKE Prime στη θύρα USB
Συνδέστε το SPIKE Prime στη θύρα USB
Συνδέστε το SPIKE Prime στη θύρα USB

Χρησιμοποιήστε καλώδιο microUSB για να συνδέσετε το SPIKE Prime στον υπολογιστή.

Βήμα 3: Βρείτε τη θύρα

Βρείτε το λιμάνι
Βρείτε το λιμάνι
Βρείτε το λιμάνι
Βρείτε το λιμάνι

Πρέπει να γνωρίζουμε σε ποια σειριακή θύρα είναι συνδεδεμένος ο διανομέας SPIKE Prime.

Σε mac, πληκτρολογήστε

ls /dev/tty.usbmodem*

Σε έναν υπολογιστή, ανατρέξτε στον διαχειριστή της συσκευής σας κάτω από τη σειρά για να δείτε ποιες σειριακές θύρες έχετε συνδέσει

Στο pi, θα είναι κάτι σαν ttyAMC0 - ελέγξτε τον /dev /φάκελό σας

Βήμα 4: Συνδεθείτε

Συνδεθείτε επάνω
Συνδεθείτε επάνω
Συνδεθείτε επάνω
Συνδεθείτε επάνω

Συνδεθείτε στη δεξιά θύρα (από το προηγούμενο βήμα) στα 115200 baud

Στο τερματικό, πληκτρολογήστε

usercomputer $ screen / dev / 115200

Σε άλλο IDE, πατήστε Άνοιγμα/ σύνδεση (μετά τη ρύθμιση των θυρών και baudrates)

Σημείωση: χωρίς ισοτιμία, 8 bit δεδομένων και 1 bit stop

Βήμα 5: Έναρξη του REPL

Έναρξη του REPL
Έναρξη του REPL
Έναρξη του REPL
Έναρξη του REPL
Έναρξη του REPL
Έναρξη του REPL

Όταν συνδέεστε στο SPIKE Prime από το τερματικό/ PUTTY θα δείτε μια ροή αριθμών και χαρακτήρων. Αυτά είναι δεδομένα από εσωτερικούς αισθητήρες του διανομέα SPIKE Prime. Για να ξεκινήσετε πατήστε το πλήκτρο ελέγχου + c

Θα διακόψει τη σειριακή θύρα και θα πρέπει να δείτε κάτι τέτοιο.

MicroPython v1.9.4-1146-gca9944357 στις 2019-09-25 LEGO Technic Large Hub με STM32F413xx Τύπος "help ()" για περισσότερες πληροφορίες.

Τώρα είστε έτοιμοι για κωδικοποίηση.

Βήμα 6: Ο πρώτος κωδικός σας

Ο πρώτος σας κωδικός
Ο πρώτος σας κωδικός

κόμβος εισαγωγής

hub.display.show (‘Tufts’)

Παρατηρήστε την εντολή "εισαγωγή" - που εισάγει μια βιβλιοθήκη python που σας επιτρέπει να μιλήσετε με το SPIKE Prime. Θα πρέπει να δείτε Tufts γραμμένα στη μήτρα LED στο διανομέα.

Βήμα 7: Εμφάνιση του ονόματός σας

τώρα δοκιμάστε να πληκτρολογήσετε

hub.display.show ('')

Σημειώστε ότι δεδομένου ότι έχετε ήδη εισαγάγει διανομέα παραπάνω, είναι ήδη στη μνήμη. Αν δεν ήταν, θα λάβετε ένα σφάλμα όπως:

Traceback (τελευταία κλήση τελευταία): Αρχείο "", γραμμή 1, inNameError: το όνομα "κόμβος" δεν έχει οριστεί

Βήμα 8: Χρήση REPL

Ένα από τα πιο ισχυρά χαρακτηριστικά της Python είναι ότι μπορείτε να δοκιμάσετε οτιδήποτε πριν γράψετε κώδικα στο REPL (διαβάστε βρόχο εκτύπωσης eval).

Θα εκτελέσει οποιαδήποτε εντολή python - δοκιμάστε να πληκτρολογήσετε 2 + 2 παρακάτω και να δείτε τι λέει:

2+2

Βήμα 9: Εξερεύνηση του MicroPython στο SPIKE Prime

Τώρα είναι ώρα για εξερεύνηση.

Το hub έχει πολλές λειτουργίες - μπορείτε να το μάθετε πληκτρολογώντας απλά "hub". (μην ξεχνάτε την περίοδο μετά τον κόμβο) και στη συνέχεια πατώντας το πλήκτρο TAB στην REPL. Αυτό θα σας δείξει όλους τους διαφορετικούς τρόπους με τους οποίους μπορείτε να ολοκληρώσετε την εντολή.

Πρόκληση: Δείτε αν μπορείτε να διαβάσετε την επιτάχυνση.

Βήμα 10: Ανάγνωση τιμών αισθητήρα… 1

Τα δεδομένα επιτάχυνσης επιστρέφουν ως μια σειρά τιμών. οπότε αν θέλετε απλώς την τιμή Χ, μπορείτε να δοκιμάσετε

hub.motion.accelerometer () [0]

ή ένας ωραιότερος τρόπος κωδικοποίησης θα ήταν να χρησιμοποιήσετε μεταβλητές όπως αυτή:

κόμβος εισαγωγής

accel = hub.motion.accelerometer () xAccel = accel [0] hub.display.show (str (xAccel))

Βήμα 11: Ανάγνωση τιμών αισθητήρα… 2

Ανάγνωση τιμών αισθητήρα… 2
Ανάγνωση τιμών αισθητήρα… 2

Θα μπορούσατε επίσης να εμφανίσετε και τις τρεις επιταχύνσεις χρησιμοποιώντας ένα βρόχο.

Θα εισαγάγουμε επίσης το ωράριο της βιβλιοθήκης, ώστε να μπορούμε να διακόψουμε και να σας δώσουμε χρόνο για να διαβάσετε τον αριθμό στην οθόνη.

Δοκιμάστε αυτόν τον κωδικό:

hub import, utimeaccel = hub.motion.accelerometer () για Acc in accel: hub.display.show (str (Acc)) utime.sleep (0,8)

Σε αυτό το σημείο μερικά πράγματα γίνονται σημαντικά:

διαστήματα - Η Python αφορά την εσοχή δεξιά - παρόμοια με τις αγκύλες σε άλλες γλώσσες, η εσοχή σας λέει τι υπάρχει μέσα στον βρόχο for και τι όχι.

όταν χρησιμοποιείτε το REPL, θα παρατηρήσετε ότι όταν κάνετε εσοχή, δεν εκτελεί πλέον τη γραμμή αλλά περιμένει να τελειώσετε τις γραμμές για τον βρόχο for πριν την εκτέλεση (και το >>> αντικαθίσταται από…). Για να ολοκληρώσετε τον βρόχο for, απλώς πατήστε επιστροφή τρεις φορές και ο βρόχος θα εκτελεστεί.

Βήμα 12: Πρόκληση

Στη συνέχεια, δείτε αν μπορείτε να καταλάβετε τι κάνει ο παρακάτω κώδικας - και δοκιμάστε να τον εκτελέσετε για να δείτε αν έχετε δίκιο.

hub εισαγωγής, utime

while True: accel = hub.motion.accelerometer () για Acc σε accel: hub.display.show (str (Acc)) utime.sleep (0,8) if hub.port. B.device.get (): break

Υπόδειξη -χρειάζεστε έναν αισθητήρα στη θύρα Β.

Συνιστάται: