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

Μπορώ να χρησιμοποιήσω το TinyLiDAR στο Scratch ;: 3 βήματα
Μπορώ να χρησιμοποιήσω το TinyLiDAR στο Scratch ;: 3 βήματα

Βίντεο: Μπορώ να χρησιμοποιήσω το TinyLiDAR στο Scratch ;: 3 βήματα

Βίντεο: Μπορώ να χρησιμοποιήσω το TinyLiDAR στο Scratch ;: 3 βήματα
Βίντεο: Πώς να χρησιμοποιήσετε 2 ή περισσότερους αισθητήρες απόστασης λέιζερ VL53L0X 2024, Ιούλιος
Anonim
Μπορώ να χρησιμοποιήσω το TinyLiDAR στο … Scratch
Μπορώ να χρησιμοποιήσω το TinyLiDAR στο … Scratch

Λάβαμε αιτήματα κάθε τόσο για να ρωτήσουμε αν το tinyLiDAR θα λειτουργήσει στη συγκεκριμένη υπολογιστική πλατφόρμα τους. Αν και ο tinyLiDAR σχεδιάστηκε ως απλός στη χρήση LiDAR αισθητήρας για το Arduino UNO, δεν υπάρχει τίποτα που να τον εμποδίζει να χρησιμοποιηθεί σε άλλες πλατφόρμες όπως το Raspberry Pi (όπως φαίνεται στο προηγούμενο διδακτικό εδώ). Δηλαδή, εάν η πλατφόρμα διαθέτει ένα δίαυλο I2C και μπορεί να υποστηρίξει τη λειτουργία τεντώματος ρολογιού της προδιαγραφής I2C. Λοιπόν - τι γίνεται αν ο πίνακας σας δεν υποστηρίζει καν I2C; - δεν πειράζει το ρολόι … Αυτό θα ήταν ένα δύσκολο σενάριο, αλλά στην πραγματικότητα υπάρχει στην πραγματικότητα για την εξαιρετικά δημοφιλή οπτική γλώσσα προγραμματισμού που ονομάζεται "Scratch".

Γκουγκλάρετε το αν δεν το έχετε ξανακούσει αλλά με λίγα λόγια, είναι μια εξαιρετική πρώτη γλώσσα για οποιονδήποτε να πάρει το μυαλό του στον τομέα του προγραμματισμού. Το Scratch δημιουργήθηκε από το MIT Media Lab και υπάρχει εδώ και πάνω από 16 χρόνια. Είναι η γκότο γλώσσα για τη διδασκαλία των παιδιών σε κώδικα σε όλο τον κόσμο. Ο καθένας μπορεί να ξεκινήσει να το χρησιμοποιεί δωρεάν - καθώς συνήθως εκτελείται στην επιφάνεια εργασίας σας σε ένα πρόγραμμα περιήγησης ιστού. Δες το εδώ αν σου αρέσει.

TL; έκδοση DR

ΝΑΙ! Με μια νέα δυνατότητα που ονομάζεται "Ultrasonic Emulation Mode" σε έκδοση tinyLiDAR f/w 1.3.9

Βήμα 1: Ξύστε τι;

Υπάρχουν πολλές γεύσεις Scratch στην άγρια φύση τώρα. Οι λάτρεις της ρομποτικής τείνουν να χρησιμοποιούν τις εκδόσεις με επίκεντρο το GPIO όπως το ScratchGPIO ή άλλες τροποποιημένες εκδόσεις όπως το ScratchX, οι οποίες μπορούν να κατασκευαστούν για να υποστηρίζουν οποιοδήποτε «πειραματικό υλικό». Όλα αυτά είναι εξαιρετικά για προχωρημένους χρήστες, αλλά οι βασικές εκδόσεις που είναι εγκατεστημένες από προεπιλογή στο pi θα είναι το επίκεντρό μας σε αυτό το διδακτικό, καθώς έχουν μάλλον περιορισμένες επιλογές υλικού.

Το Raspbian Stretch Desktop του pi έρχεται με δύο εκδόσεις προεγκατεστημένου Scratch. Δηλαδή, "Scratch" και "Scratch 2". Θα χρησιμοποιήσουμε το πρώτο γνωστό ως "Scratch 1.4 (NuScratch)" και θα το χρησιμοποιούμε "εκτός σύνδεσης", ώστε να μπορούμε να χρησιμοποιήσουμε τη λειτουργία διακομιστή GPIO.

Μπορείτε να κατεβάσετε την επίσημη εικόνα της επιφάνειας εργασίας pi εδώ.

Για οποιονδήποτε λόγο, οι δημιουργοί του Scratch αποφάσισαν να υποστηρίξουν μόνο μερικούς από τους πιο κοινά διαθέσιμους αισθητήρες από μεγάλες εταιρείες όπως η Lego κ.λπ. Αυτός είναι, φυσικά, ο πανταχού παρών υπερηχητικός αισθητήρας απόστασης που εξάγει απλώς ένα πλάτος παλμού που είναι ανάλογο με τη μετρούμενη απόσταση.

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

Βήμα 2: Νέα λειτουργία

Νέα λειτουργία
Νέα λειτουργία

Η έξοδος ακριβών παλμών μικροδευτεροβάθμιας κλίμακας δεν αποτελεί πρόβλημα για εμάς στο tinyLiDAR, καθώς διαθέτουμε εφεδρικά χρονοδιακόπτες υλικού υψηλής ανάλυσης στο εσωτερικό του ενσωματωμένου μικροϋπολογιστή 32bit. Το tinyLiDAR επίσης βαθμονομεί πάντα αυτόματα για τη θερμοκρασία καθώς ενεργοποιείται, οπότε δεν απαιτούνται περαιτέρω προσαρμογές για το περιβάλλον λειτουργίας.

Ας το κάνουμε

Εντάξει - θα μπορούσαμε έτσι απλά προσθέσαμε μια νέα λειτουργία στο tinyLiDAR (από το υλικολογισμικό 1.3.9) που ονομάζεται "Ultrasonic Emulation Mode". Μπορείτε να έχετε πρόσβαση χρησιμοποιώντας την εντολή "u" από το ενημερωμένο τερματικό tinyLiDAR GUI.

Η χρήση του θα αλλάξει τις ρυθμίσεις στη μη πτητική μνήμη, ώστε να κάνει το tinyLiDAR να μοιάζει με έναν γενικό αισθητήρα υπερήχων, ακόμη και μετά την απενεργοποίησή του. Μπορείτε να το αλλάξετε ξανά στην κανονική λειτουργία I2C πατώντας το κουμπί επαναφοράς και εκδίδοντας την εντολή "az". Περισσότερες λεπτομέρειες υπάρχουν στο εγχειρίδιο χρήσης.

Για να κάνουμε τη ζωή ακόμη πιο απλή, θέτουμε τον αισθητήρα tinyLiDAR διαθέσιμο προκαθορισμένο σε αυτήν τη νέα λειτουργία υπερηχητικής εξομοίωσης από τον ιστότοπό μας. Απλώς παραγγείλετε την έκδοση "-u".

Κοιτάξτε Μαμά, χωρίς συγκόλληση

Δεν απαιτείται συγκόλληση και ούτε ψωμί, καθώς τα καλώδια "Grove to Female 4pin" που περιλαμβάνονται θα συνδέονται απευθείας στις ακίδες κεφαλίδας Raspberry pi. Ο πείρος σκανδάλης είναι το κίτρινο σύρμα και ο πείρος ηχώ είναι το λευκό σύρμα. Το Μαύρο και το Κόκκινο είναι φυσικά για δύναμη. Ανατρέξτε στην κύρια εικόνα παραπάνω για λεπτομέρειες.

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

Εξαιτίας αυτού, μπορείτε τώρα να κάνετε μετρήσεις με το tinyLiDAR χρησιμοποιώντας το προεπιλεγμένο σκίτσο υπερήχων "PING" που αποστέλλεται με κάθε Arduino IDE χωρίς αλλαγές κώδικα! Μπορείτε επίσης να το δοκιμάσετε χωρίς καθυστέρηση.

Φυσικά, μπορείτε να ορίσετε παραμέτρους όπως υψηλή ακρίβεια, μεγάλες αποστάσεις κ.λπ. των μετρήσεων LiDAR σας προτού επιλέξετε την εντολή "u" και στη συνέχεια θα τις λάβει κάθε φορά που βλέπει την πείρο σκανδάλης να πέφτει όπως φαίνεται στο παραπάνω διάγραμμα.

Κίνδυνος, Γουίλ Ρόμπινσον

Σημειώστε ότι ο αισθητήρας υπερήχων SR04 χρειάζεται κάποιες αντιστάσεις για να αποτρέψει την παροχή +5v από το να καταστρέψει το pi σας. Αλλά δεδομένου ότι το tinyLiDAR τρέχει εγγενώς από +3.3v, δεν χρειάζεται καμία αντίσταση για διασύνδεση με το pi:)

Βήμα 3: Κωδικοποίηση

Κωδικοποίηση του
Κωδικοποίηση του
Κωδικοποίηση του
Κωδικοποίηση του

Λοιπόν, ποιος ακριβώς είναι ο κώδικας που χρειαζόμαστε για να λειτουργήσει το tinyLiDAR στο Scratch;

Χαίρομαι που ρωτήσατε!

Το μόνο που χρειάζεται είναι να σύρετε μερικά απλά μπλοκ μετάδοσης όπως φαίνεται στις παραπάνω εικόνες.

Για να ενεργοποιήσετε τις καρφίτσες GPIO μπορούμε να εκδώσουμε το "broadcast gpioserveron" Στη συνέχεια, για να διαμορφώσετε την καρφίτσα σκανδάλης εκδίδουμε το "broadcast config16out" Στη συνέχεια μπορούμε να διαμορφώσουμε το pin ηχώ με "broadcast config26in" και στη συνέχεια να ξεκινήσουμε τις μετρήσεις με το "broadcast ultrasonictrigger16echo26". Αυτό θα προκαλέσει συνεχείς μετρήσεις με ταχύτητα περίπου 140ms. Μπορείτε να διαβάσετε τα μετρημένα δεδομένα χρησιμοποιώντας το μπλοκ αίσθησης "τιμή αισθητήρα υπερηχητικής απόστασης".

Λοιπόν, αυτό είναι προς το παρόν, ευχαριστούμε που διαβάσατε και φροντίστε να δείτε το διασκεδαστικό μικρό πρόγραμμα επίδειξης Scratch (κοινόχρηστο εδώ) που φτιάξαμε με το όνομα "tinyLiDAR_catch_me" και … Scratch On!;)

Συνιστάται: