
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04

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ă

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


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:
CircuitPython și TinyLiDAR: Exemplu simplu: 3 pași

CircuitPython și TinyLiDAR: exemplu simplu: MicroElectronicDesign tinyLiDAR este un modul de variație a timpului de zbor (ToF) bazat pe ST VL53L0X cu o conexiune de magistrală i2c. Plăcile de microcontroler Adafruit sunt ușor conectate la acest senzor, deoarece pot vorbi protocolul i2c peste pinul lor de date
TinyLiDAR în garajul tău !: 10 pași

TinyLiDAR in Your Garage !: DIY WiFi Garage Door Opener Project Lumea IoT abia începe să explodeze - fiecare companie de tehnologie din întreaga lume încearcă să afle cum se vor potrivi în această nouă lume. Este doar o mare oportunitate! Deci, pentru acest instructabil, eu
TinyLiDAR pentru IoT: 3 pași

TinyLiDAR pentru IoT: Dacă te uiți în jur, vei observa că multe dispozitive inteligente sunt folosite în viața de zi cu zi. În mod obișnuit, acestea sunt alimentate cu baterii și, de obicei, sunt conectate la Internet (cunoscut și sub numele de „nor”). Acestea sunt toate ceea ce numim dispozitive „IoT” și ele
TinyLiDAR pe un Pi ?: 9 pași (cu imagini)

TinyLiDAR pe un Pi?: Bună ziua! Ei bine, acum că ați petrecut ceva timp de calitate cu tinyLiDAR și Arduino - Raspberry Pi poate că se simte cam singur;) Pi are un port I2C nu? Deci, de ce să nu-l conectați și să-l încercați acolo ?! Un plan bun, dar dacă ați încercat deja
O soluție Media Center Până și soția și copiii vor folosi: 9 pași

O soluție Media Center, chiar și soția și copiii vor folosi. Acesta nu este un PVR cum și nu vă permite să înregistrați sau să întrerupeți televiziunea live, deși vă voi sugera o alternativă bună