Cuprins:
Video: Pot folosi TinyLiDAR în Scratch ?: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
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:
Schimbați culorile LED-urilor folosind un POT și ATTINY85: 3 pași
Schimbarea culorilor LED-urilor folosind un POT și ATTINY85: în acest proiect folosim un potențiometru (POT) pentru a schimba culorile într-un LED folosind un ATTINY85. Unele definiții - Un potențiometru este un dispozitiv cu un mic șurub / mecanism de rotire care, atunci când este rotit, produce diferite rezistențe electrice. Tu poți
Copiii pot face și oglinzile Infinity !: 8 pași (cu imagini)
Kids Can Make Infinity Mirrors Too !: Dream AcadeME este o organizație de educație alternativă non-profit. Filozofia noastră se concentrează pe învățarea centrată pe copil legată de STEAM (Știință, Tehnologie, Inginerie, Arte și Matematică), natură și social-constructivism, o abordare în care copilul
Scaune emoționale care pot fi rele: 5 pași (cu imagini)
Scaune emoționale care pot fi rele: Un scaun este o piesă de mobilier atât de de bază, de multe ori fiind luată ca atare. Cu un design robust cu 4 picioare și o zonă de relaxare moale, așa că îi invită pe oameni să se simtă și să se bucure de prezența sa. Este o tehnologie de încredere dovedită construită
Led pot Pin Control de estompare: 3 pași
Led Pot Pin Fade Control: Acest instructable va permite utilizatorului să rotească butonul pe un potențiometru și să parcurgă toate cele 6 led-uri bazate pe poziția potențiometrului. De asemenea, a fost adăugat cod pentru a estompa ledurile învecinate pe baza poziției potențiomului
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ă