Cuprins:

Pot folosi TinyLiDAR în Scratch ?: 3 pași
Pot folosi TinyLiDAR în Scratch ?: 3 pași

Video: Pot folosi TinyLiDAR în Scratch ?: 3 pași

Video: Pot folosi TinyLiDAR în Scratch ?: 3 pași
Video: Как использовать 2 или более лазерных датчиков расстояния VL53L0X 2024, Iulie
Anonim
Pot folosi TinyLiDAR în … Scratch?
Pot folosi TinyLiDAR în … Scratch?

Primim solicitări din când în când pentru a întreba dacă tinyLiDAR va funcționa pe platforma lor specială de calcul. Deși tinyLiDAR a fost conceput ca un senzor LiDAR simplu de utilizat pentru Arduino UNO, nu există nimic care să îl împiedice să fie utilizat pe alte platforme, cum ar fi Raspberry Pi (așa cum se arată în instructajul anterior aici). Adică, dacă platforma are un autobuz I2C și poate suporta caracteristica de întindere a ceasului din specificația I2C. Deci - ce se întâmplă dacă placa dvs. nu acceptă nici măcar I2C? - Nu vă deranjați de ceasul care întinde lucrurile … Ei bine, acesta ar fi un scenariu provocator, dar în realitate există de fapt pentru limbajul de programare vizual ultra popular numit „Scratch”.

Google-l dacă nu ați auzit de asta înainte, dar pe scurt, este o limbă excelentă pentru oricine să-și pătrundă mintea în domeniul programării. Scratch a fost creat de MIT Media Lab și există de peste 16 ani. Este limba pentru a învăța copiii să codeze în întreaga lume. Oricine poate începe să-l folosească gratuit - deoarece rulează în mod normal pe desktopul dvs. într-un browser web. Verifică-l aici dacă îți place.

TL; versiunea DR

DA! Cu o nouă funcție numită „Modul de emulare cu ultrasunete” în versiunea tinyLiDAR f / w 1.3.9

Pasul 1: Scratch What?

Există multe arome de Scratch în sălbăticie acum. Pasionații de robotică au tendința de a utiliza versiunile axate pe GPIO precum ScratchGPIO sau alte versiuni modificate precum ScratchX, care pot fi făcute pentru a sprijini orice „hardware experimental”. Toate acestea sunt excelente pentru utilizatorii avansați, dar versiunile principale instalate în mod implicit pe pi vor fi obiectivul nostru pentru acest lucru instructiv, deoarece au opțiuni hardware destul de limitate.

Raspbian Stretch Desktop al lui pi vine cu două versiuni de Scratch preinstalate. Și anume „Scratch” și „Scratch 2”. Vom folosi primul numit „Scratch 1.4 (NuScratch)” și îl vom folosi „offline”, astfel încât să putem utiliza caracteristica serverului GPIO.

Puteți descărca imaginea oficială de pe desktop aici.

Indiferent de motiv, creatorii Scratch au decis să sprijine doar câțiva dintre senzorii cei mai frecvent disponibili de la companii mari, cum ar fi Lego etc. Interesant este că, de asemenea, au decis să adauge suport pentru HC-SR04. Acesta este, desigur, omniprezentul senzor de distanță cu ultrasunete care scoate pur și simplu o singură lățime de impuls proporțională cu distanța măsurată.

Precizia de măsurare poate varia puțin în funcție de temperatura aerului, umiditatea și materialul țintă, așa cum s-a menționat aici, aici și aici. Dar, în general, aproape orice platformă poate măsura lățimea impulsului de ieșire a acestui dispozitiv.

Pasul 2: Funcție nouă

Optiune noua
Optiune noua

Emiterea de impulsuri precise la scară de microsecundă nu este o problemă pentru noi pe tinyLiDAR, deoarece avem temporizatoare hardware de rezoluție înaltă în interiorul micro-ului de 32 de biți de la bord. De asemenea, tinyLiDAR se calibrează automat întotdeauna pentru temperatură, deoarece se alimentează, astfel încât nu sunt necesare alte ajustări pentru mediul de operare.

Hai să o facem

Bine - am putut, așa că am adăugat doar o nouă caracteristică la tinyLiDAR (începând cu firmware-ul 1.3.9) numit „Modul de emulare cu ultrasunete”. Puteți să-l accesați utilizând comanda „u” din terminalul GUI tinyLiDAR actualizat.

Folosirea acestuia va schimba setările din memoria non-volatilă, astfel încât tinyLiDAR va arăta la fel ca un senzor ultrasonic generic chiar și după ce l-ați dezactivat. Puteți să îl schimbați din nou la modul I2C normal apăsând butonul de resetare și lansând comanda „az”. Mai multe detalii sunt în manualul de utilizare.

Pentru a face viața și mai simplă, punem la dispoziție senzorul tinyLiDAR presetat la acest nou mod de emulare cu ultrasunete de pe site-ul nostru. Doar comandați versiunea „-u”.

Uite Ma, fără lipire

Nu este necesară lipirea și, de asemenea, nici o placă de măsurare, deoarece cablurile "Grove la femelă cu 4 pini" incluse se vor conecta direct la pinii de antet Raspberry pi. Știftul de declanșare este firul galben, iar știftul de ecou este firul alb. Negrul și roșul sunt, desigur, pentru putere. Consultați imaginea principală de mai sus pentru detalii.

Btw, am făcut un pas mai departe și am făcut pinul galben să se comporte ca senzorul PING))) care folosește un singur fir atât pentru declanșare, cât și pentru semnalele de ecou.

Din acest motiv, puteți face acum măsurători cu tinyLiDAR folosind schița cu ultrasunete implicită "PING" care este livrată cu fiecare IDE Arduino fără modificări de cod! Puteți încerca și fără întârziere.

Desigur, puteți seta parametri precum precizia ridicată, distanța lungă etc. a măsurătorilor LiDAR înainte de a selecta comanda „u” și apoi va lua acele măsurători de fiecare dată când observă căderea pinului de declanșare, așa cum se arată în diagrama de mai sus.

Pericol, Will Robinson

Rețineți că senzorul cu ultrasunete SR04 are nevoie de unele rezistențe pentru a preveni ca sursa de + 5v să vă deterioreze pi-ul. Dar, din moment ce tinyLiDAR rulează nativ de la + 3.3v, nu este nevoie de rezistențe pentru interfața cu pi:)

Pasul 3: Codificarea acestuia

Codificându-l
Codificându-l
Codificându-l
Codificându-l

Deci, care este exact codul de care avem nevoie pentru ca tinyLiDAR să funcționeze în Scratch?

Mă bucur că ai întrebat!

Este doar o chestiune de a trage câteva blocuri de difuzare simple așa cum se arată în imaginile de mai sus.

Pentru a activa pinii GPIO putem emite „broadcast gpioserveron” Apoi pentru a configura pinul de declanșare emitem „broadcast config16out” Apoi putem configura pinul ecou prin „broadcast config26in” și apoi putem începe măsurătorile prin „broadcast ultrasonictrigger16echo26”. Acest lucru va face ca măsurătorile să fie luate continuu la o cadență de aproximativ 140 ms. Puteți citi datele măsurate utilizând blocul de sens "valoarea senzorului de distanță ultrasonic".

Ei bine, asta e deocamdată, vă mulțumim pentru lectură și asigurați-vă că ați verificat programul de demonstrație Scratch (distractiv aici) pe care l-am făcut numit „tinyLiDAR_catch_me” și … Scratch On!;)

Recomandat: