Sommario:

Posso usare TinyLiDAR in Scratch?: 3 passaggi
Posso usare TinyLiDAR in Scratch?: 3 passaggi

Video: Posso usare TinyLiDAR in Scratch?: 3 passaggi

Video: Posso usare TinyLiDAR in Scratch?: 3 passaggi
Video: Technical Presentation of tinyLiDAR's Command Terminal Sketch 2024, Novembre
Anonim
Posso usare TinyLiDAR in… Scratch?
Posso usare TinyLiDAR in… Scratch?

Ogni tanto riceviamo richieste per chiedere se tinyLiDAR funzionerà sulla loro particolare piattaforma di elaborazione. Sebbene tinyLiDAR sia stato progettato come un sensore LiDAR semplice da usare per Arduino UNO, non c'è nulla che gli impedisca di essere utilizzato su altre piattaforme come Raspberry Pi (come mostrato nella precedente istruzione qui). Cioè, se la piattaforma ha un bus I2C e può supportare la funzione di allungamento del clock delle specifiche I2C. Quindi, cosa succede se la tua scheda non supporta nemmeno I2C? - lasciamo perdere le cose che allungano l'orologio… Beh, sarebbe uno scenario impegnativo, ma in realtà esiste per l'ultra popolare linguaggio di programmazione visuale chiamato "Scratch".

Cercalo su Google se non ne hai mai sentito parlare prima, ma in poche parole, è un ottimo primo linguaggio per chiunque voglia portare la propria mente nel regno della programmazione. Scratch è stato creato dal MIT Media Lab ed è in circolazione da oltre 16 anni. È la lingua di riferimento per insegnare ai bambini a programmare in tutto il mondo. Chiunque può iniziare a usarlo gratuitamente, poiché normalmente viene eseguito sul desktop in un browser web. Dai un'occhiata qui se ti va.

TL;versione DR

SÌ! Con una nuova funzionalità chiamata "Ultrasonic Emulation Mode" in tinyLiDAR f/w versione 1.3.9

Passaggio 1: gratta cosa?

Ci sono molti gusti di Scratch in natura ora. Gli appassionati di robotica tendono a utilizzare le versioni focalizzate su GPIO come ScratchGPIO o altre versioni modificate come ScratchX che possono essere realizzate per supportare qualsiasi "hardware sperimentale". Tutti questi sono ottimi per gli utenti avanzati, ma le versioni mainstream installate di default sul pi saranno il nostro obiettivo per questo istruibile in quanto hanno opzioni hardware piuttosto limitate.

Il Raspbian Stretch Desktop di pi viene fornito con due versioni di Scratch preinstallate. Vale a dire, "Scratch" e "Scratch 2". Useremo il primo alias "Scratch 1.4 (NuScratch)" e lo useremo "offline" in modo da poter utilizzare la funzione del server GPIO.

Puoi scaricare l'immagine desktop pi ufficiale qui.

Per qualsiasi motivo, i creatori di Scratch hanno deciso di supportare solo alcuni dei sensori più comunemente disponibili di grandi aziende come Lego, ecc. È interessante notare che hanno anche deciso di aggiungere il supporto per HC-SR04. Questo è, ovviamente, l'onnipresente sensore di distanza ad ultrasuoni che emette semplicemente una singola larghezza di impulso proporzionale alla distanza misurata.

La precisione della misurazione può variare leggermente a seconda della temperatura dell'aria, dell'umidità e del materiale target, come menzionato qui, qui e qui. Ma in generale, quasi tutte le piattaforme possono misurare l'uscita della larghezza di impulso di questo dispositivo.

Passaggio 2: nuova funzionalità

Nuova caratteristica
Nuova caratteristica

L'emissione di impulsi precisi in scala di microsecondi non è un problema per noi su tinyLiDAR poiché abbiamo timer hardware ad alta risoluzione di riserva all'interno del micro a 32 bit integrato. tinyLiDAR si calibra sempre automaticamente per la temperatura all'accensione, quindi non sono necessarie ulteriori regolazioni per l'ambiente operativo.

Facciamolo

Ok, potremmo, quindi abbiamo appena aggiunto una nuova funzionalità a tinyLiDAR (a partire dal firmware 1.3.9) chiamata "Modalità di emulazione ultrasonica". Puoi accedervi utilizzando il comando "u" dal terminale GUI di tinyLiDAR aggiornato.

Il suo utilizzo cambierà le impostazioni nella memoria non volatile in modo che tinyLiDAR assomigli a un generico sensore a ultrasuoni anche dopo averlo scollegato. Puoi riportarlo alla normale modalità I2C premendo il pulsante di ripristino ed emettendo il comando "az". Ulteriori dettagli sono nel manuale utente.

Per rendere la vita ancora più semplice, stiamo rendendo disponibile il sensore tinyLiDAR preimpostato per questa nuova modalità di emulazione ad ultrasuoni dal nostro sito web. Basta ordinare la versione "-u".

Guarda mamma, niente saldatura

Non è necessaria alcuna saldatura e nemmeno breadboard poiché i cavi "Grove to Female 4pin" inclusi si inseriranno direttamente nei pin dell'intestazione Raspberry pi. Il pin di attivazione è il filo giallo e il pin dell'eco è il filo bianco. Il nero e il rosso sono ovviamente per il potere. Fare riferimento all'immagine principale sopra per i dettagli.

A proposito, siamo andati oltre e abbiamo fatto sì che il pin giallo si comportasse come il sensore PING))) che utilizza un singolo filo sia per i segnali di trigger che di eco.

Per questo motivo, ora puoi eseguire misurazioni con tinyLiDAR utilizzando lo schizzo ultrasonico "PING" predefinito fornito con ogni IDE Arduino senza modifiche al codice! Puoi provarlo anche senza indugio.

Ovviamente, puoi impostare parametri come alta precisione, lunga distanza, ecc.

Pericolo, Will Robinson

Nota che il sensore a ultrasuoni SR04 necessita di alcuni resistori per evitare che l'alimentazione +5v danneggi il tuo pi. Ma poiché tinyLiDAR funziona nativamente da +3.3v, non c'è bisogno di resistori per interfacciarsi con il pi:)

Passaggio 3: codificarlo

Codificarlo
Codificarlo
Codificarlo
Codificarlo

Allora, qual è esattamente il codice di cui abbiamo bisogno per far funzionare tinyLiDAR in Scratch?

Felice che tu l'abbia chiesto!

È solo questione di trascinare alcuni semplici blocchi di trasmissione come mostrato nelle immagini sopra.

Per abilitare i pin GPIO possiamo emettere il "broadcast gpioserveron" Quindi per configurare il pin di trigger emettere il "broadcast config16out" Successivamente possiamo configurare il pin dell'eco tramite "broadcast config26in" e quindi avviare le misurazioni tramite "broadcast ultrasonictrigger16echo26". Ciò farà sì che le misurazioni vengano eseguite continuamente a una cadenza di circa 140 ms. È possibile leggere i dati misurati utilizzando il blocco di rilevamento "valore del sensore di distanza ad ultrasuoni".

Bene, per ora è tutto, grazie per la lettura e assicurati di dare un'occhiata al divertente piccolo programma demo di Scratch (condiviso qui) che abbiamo creato chiamato "tinyLiDAR_catch_me" e … Scratch On!;)

Consigliato: