Kazalo:

Ali lahko uporabljam TinyLiDAR v Scratch?: 3 koraki
Ali lahko uporabljam TinyLiDAR v Scratch?: 3 koraki

Video: Ali lahko uporabljam TinyLiDAR v Scratch?: 3 koraki

Video: Ali lahko uporabljam TinyLiDAR v Scratch?: 3 koraki
Video: Основные ошибки при шпатлевке стен и потолка. #35 2024, December
Anonim
Ali lahko uporabljam TinyLiDAR v… Scratch?
Ali lahko uporabljam TinyLiDAR v… Scratch?

Vsake toliko dobimo zahteve, da vprašamo, ali bo tinyLiDAR deloval na njihovi določeni računalniški platformi. Čeprav je bil tinyLiDAR zasnovan kot enostaven za uporabo senzor LiDAR za Arduino UNO, ga nič ne ovira pri uporabi na drugih platformah, kot je Raspberry Pi (kot je prikazano v prejšnjih navodilih tukaj). To pomeni, če ima platforma vodilo I2C in lahko podpira funkcijo raztezanja ure specifikacij I2C. Torej - kaj, če vaša plošča niti ne podpira I2C? - ne glede na raztezanje ure … No, to bi bil zahteven scenarij, v resnici pa res obstaja za izjemno priljubljen vizualni programski jezik, imenovan "Scratch".

Poiščite v Googlu, če še niste slišali za to, vendar na kratko, to je odličen prvi jezik za vsakogar, ki se lahko zamisli na področju programiranja. Scratch je ustvaril MIT Media Lab in obstaja že več kot 16 let. To je goto jezik za učenje otrok kodiranja po vsem svetu. Vsakdo ga lahko začne uporabljati brezplačno - saj običajno deluje na namizju v spletnem brskalniku. Če želite, preverite tukaj.

TL; DR različica

DA! Z novo funkcijo, imenovano "Ultrasonic Emulation Mode" v tinyLiDAR f/w različici 1.3.9

1. korak: Kaj opraskati?

Zdaj je v naravi veliko okusov Scratcha. Ljubitelji robotike ponavadi uporabljajo različice, osredotočene na GPIO, kot je ScratchGPIO, ali druge modificirane različice, kot je ScratchX, ki lahko podpirajo katero koli "eksperimentalno strojno opremo". Vse to je odlično za napredne uporabnike, vendar bodo glavne različice, ki so privzeto nameščene na pi, naš poudarek pri tem navodilu, saj imajo precej omejene možnosti strojne opreme.

Pi's Raspbian Stretch Desktop ima dve vnaprej nameščeni različici programa Scratch. Namreč »Scratch« in »Scratch 2«. Prvega bomo uporabljali kot "Scratch 1.4 (NuScratch)" in ga uporabljali "brez povezave", da bomo lahko uporabljali funkcijo strežnika GPIO.

Uradno sliko namizja pi lahko prenesete tukaj.

Ustvarjalci programa Scratch so se iz kakršnega koli razloga odločili podpreti le nekaj najpogosteje dostopnih senzorjev velikih podjetij, kot je Lego itd. Zanimivo pa je, da so se odločili tudi za dodajanje podpore za HC-SR04. To je seveda vseprisotni ultrazvočni senzor razdalje, ki preprosto oddaja eno širino impulza, ki je sorazmerna z izmerjeno razdaljo.

Natančnost merjenja se lahko nekoliko razlikuje glede na temperaturo zraka, vlažnost in ciljni material, kot je omenjeno tukaj, tukaj in tukaj. Na splošno pa lahko skoraj vsaka platforma meri širino impulza te naprave.

2. korak: Nova funkcija

Nova funkcija
Nova funkcija

Izdajanje natančnih impulzov v mikrosekundnem merilu za nas na malemLiDAR-u ni problem, saj imamo v notranjosti vgrajenega 32-bitnega mikro vgrajenih strojnih merilnikov visoke ločljivosti. tinyLiDAR prav tako vedno samodejno umerja temperaturo, ko se vklopi, zato nadaljnje prilagoditve za delovno okolje niso potrebne.

Naredimo to

V redu - lahko bi torej dodali novo funkcijo v tinyLiDAR (od vdelane programske opreme 1.3.9), imenovano "Ultrasonic Emulation Mode". Do njega lahko dostopate z ukazom "u" iz posodobljenega terminala tinyLiDAR GUI.

Z njegovo uporabo boste spremenili nastavitve v nehlapnem pomnilniku, tako da bo majhen LiDAR videti tudi kot generični ultrazvočni senzor, tudi ko ga izklopite. S pritiskom na gumb za ponastavitev in izdajo ukaza "az" ga lahko spremenite nazaj v običajni način I2C. Dodatne podrobnosti so v uporabniškem priročniku.

Za poenostavitev življenja na našem spletnem mestu za ta novi ultrazvočni način emulacije prednastavimo senzor tinyLiDAR. Samo naročite različico "-u".

Poglej mama, brez spajkanja

Spajkanje in tudi plošča ni potrebna, saj se priloženi kabli "Grove to Female 4pin" priklopijo neposredno na zatiče glave Raspberry pi. Sprožilni zatič je rumena žica, odmevni zatič pa bela žica. Črna in rdeča sta seveda za moč. Za podrobnosti glejte zgornjo sliko.

Btw, šli smo še korak dlje in naredili, da se rumeni pin obnaša kot PING))) senzor, ki uporablja eno žico tako za sprožilne kot za odmevne signale.

Zaradi tega lahko zdaj izvajate meritve s pomočjo tinyLiDAR -a z uporabo privzete ultrazvočne skice "PING", ki je priložena vsakemu Arduino IDE brez kakršnih koli sprememb kode! Lahko poskusite tudi brez odlašanja.

Seveda lahko nastavite parametre, kot so visoka natančnost, dolga razdalja itd. Vaših meritev LiDAR, preden izberete ukaz "u", nato pa jih bo izvedel vsakič, ko opazi padec sprožilnega zatiča, kot je prikazano na zgornjem diagramu.

Nevarnost, Will Robinson

Upoštevajte, da ultrazvočni senzor SR04 potrebuje nekaj uporov, da prepreči, da bi napajanje +5v poškodovalo vašo pi. Ker pa tinyLiDAR deluje izvirno od +3,3 V, ni potrebe po nobenem uporu za vmesnik s pi:)

3. korak: kodiranje

Kodiranje
Kodiranje
Kodiranje
Kodiranje

Torej, kaj točno koda potrebujemo, da tinyLiDAR deluje v Scratchu?

Lepo, da ste vprašali!

Gre le za povlečenje nekaj preprostih blokov za oddajanje, kot je prikazano na zgornjih slikah.

Za omogočanje zatičev GPIO lahko izdamo "oddajanje gpioserverona". Nato za konfiguriranje sprožilnega zatiča izdamo "oddajanje config16out". Nato lahko konfiguriramo eho pin z "oddajanjem config26in" in nato začnemo meritve z "oddajanjem ultrazvočnega trigerja16echo26". To bo povzročilo neprekinjeno merjenje pri približno 140 ms kadence. Izmerjene podatke lahko berete s senzorskim blokom "vrednost ultrazvočnega senzorja razdalje".

No, to je to zaenkrat, hvala za branje in si oglejte zabavni mali demo program Scratch (v skupni rabi tukaj), ki smo ga naredili z imenom "tinyLiDAR_catch_me" in … Scratch On!;)

Priporočena: