Obsah:

Mohu použít TinyLiDAR v Scratch ?: 3 kroky
Mohu použít TinyLiDAR v Scratch ?: 3 kroky

Video: Mohu použít TinyLiDAR v Scratch ?: 3 kroky

Video: Mohu použít TinyLiDAR v Scratch ?: 3 kroky
Video: Teleskopický obušek - sebeobrana základy 2024, Červenec
Anonim
Mohu použít TinyLiDAR v … Scratch?
Mohu použít TinyLiDAR v … Scratch?

Každou chvíli dostáváme žádosti, abychom se zeptali, zda tinyLiDAR bude fungovat na jejich konkrétní výpočetní platformě. Ačkoli byl tinyLiDAR navržen jako snadno použitelný senzor LiDAR pro Arduino UNO, nic nebrání tomu, aby byl použit na jiných platformách, jako je Raspberry Pi (jak ukazuje předchozí instruktáž zde). To znamená, že pokud má platforma sběrnici I2C a může podporovat funkci roztažení hodin specifikace I2C. Takže - co když vaše deska nepodporuje ani I2C? - nevadí hodiny táhnoucí se … No, to by byl náročný scénář, ale ve skutečnosti ve skutečnosti existuje pro velmi populární vizuální programovací jazyk s názvem „Scratch“.

Vygooglete si to, pokud jste o tom ještě neslyšeli, ale v kostce, je to skvělý první jazyk pro každého, kdo může dostat svou mysl do oblasti programování. Scratch vytvořil MIT Media Lab a existuje již více než 16 let. Je to jazyk goto, který učí děti kódovat po celém světě. Kdokoli jej může začít používat zdarma - protože běžně běží na ploše ve webovém prohlížeči. Pokud se vám líbí, podívejte se sem.

Verze TL; DR

ANO! S novou funkcí nazvanou „Režim ultrazvukové emulace“v tinyLiDAR f/w verze 1.3.9

Krok 1: Scratch Co?

Ve volné přírodě je nyní mnoho příchutí Scratch. Nadšenci robotiky obvykle používají verze zaměřené na GPIO jako ScratchGPIO nebo jiné modifikované verze jako ScratchX, které lze vytvořit na podporu jakéhokoli „experimentálního hardwaru“. Všechny tyto jsou skvělé pro pokročilé uživatele, ale hlavní verze, které jsou ve výchozím nastavení nainstalovány na pi, se budou zaměřovat na tento návod, protože mají poměrně omezené možnosti hardwaru.

Plocha Raspbian Stretch Desktop pi je dodávána se dvěma předinstalovanými verzemi Scratch. Jmenovitě „Scratch“a „Scratch 2“. Budeme používat první alias „Scratch 1.4 (NuScratch)“a budeme jej používat „offline“, abychom mohli používat funkci serveru GPIO.

Zde si můžete stáhnout oficiální obrázek plochy pi.

Z jakéhokoli důvodu se tvůrci Scratch rozhodli podporovat pouze několik nejběžněji dostupných senzorů od velkých společností, jako je Lego atd. Zajímavé však je, že se také rozhodli přidat podporu pro HC-SR04. Toto je samozřejmě všudypřítomný ultrazvukový snímač vzdálenosti, který jednoduše vydává jedinou šířku impulsu, která je úměrná měřené vzdálenosti.

Přesnost měření se může trochu lišit v závislosti na teplotě vzduchu, vlhkosti a cílovém materiálu, jak je uvedeno zde, zde a zde. Obecně lze ale říci, že téměř jakákoli platforma může měřit výstup šířky pulsu tohoto zařízení.

Krok 2: Nová funkce

Nová vlastnost
Nová vlastnost

Výstup přesných pulsů v mikrosekundách pro nás není na tinyLiDAR žádný problém, protože uvnitř integrovaného 32bitového mikroskopu máme náhradní hardwarové časovače s vysokým rozlišením. tinyLiDAR také automaticky kalibruje teplotu při zapnutí, takže v operačním prostředí nejsou nutné žádné další úpravy.

Pojďme na to

Dobře - mohli jsme, takže jsme do tinyLiDAR (od firmwaru 1.3.9) přidali novou funkci s názvem „Ultrazvukový emulační režim“. Můžete se k němu dostat pomocí příkazu „u“z aktualizovaného GUI terminálu tinyLiDAR.

Jeho použitím se změní nastavení v energeticky nezávislé paměti, takže bude tinyLiDAR vypadat stejně jako obecný ultrazvukový senzor, i když jej odpojíte. Můžete jej vrátit zpět do normálního režimu I2C stisknutím resetovacího tlačítka a zadáním příkazu „az“. Další podrobnosti jsou v uživatelské příručce.

Aby byl život ještě jednodušší, zpřístupňujeme senzor tinyLiDAR dostupný přednastavený pro tento nový režim ultrazvukové emulace z našich webových stránek. Stačí si objednat verzi „-u“.

Podívej, Ma, žádné pájení

Není potřeba žádné pájení ani žádné prkénko, protože přiložené kabely „Grove to Female 4pin“se zapojí přímo do pinů záhlaví Raspberry pi. Spouštěcí pin je žlutý vodič a echo pin je bílý vodič. Černá a červená jsou samozřejmě pro sílu. Podrobnosti viz hlavní obrázek výše.

Btw, šli jsme o krok dále a přiměli žlutý pin, aby se choval jako snímač PING))), který používá jediný vodič pro signály spouště a echa.

Z tohoto důvodu můžete nyní provádět měření s tinyLiDAR pomocí výchozí ultrazvukové skici „PING“, která je dodávána s každým IDE Arduino bez jakýchkoli změn kódu! Můžete to také vyzkoušet bez zpoždění.

Před výběrem příkazu „u“můžete samozřejmě nastavit parametry, jako je vysoká přesnost, dlouhá vzdálenost atd. Měření LiDAR, a tato měření pak provede pokaždé, když uvidí pokles spouštěcího kolíku, jak je znázorněno na obrázku výše.

Nebezpečí, Will Robinsone

Ultrazvukový senzor SR04 potřebuje nějaké odpory, aby napájení +5v nepoškodilo vaše pí. Ale protože tinyLiDAR běží nativně od +3,3 V, není potřeba žádné rezistory k propojení s pi:)

Krok 3: Kódování

Kódování
Kódování
Kódování
Kódování

Jaký je tedy přesně kód, který potřebujeme, aby tinyLiDAR fungoval v programu Scratch?

Jsem rád, že ses zeptal!

Je to jen otázka přetažení několika jednoduchých vysílacích bloků, jak je znázorněno na obrázcích výše.

Chcete -li povolit piny GPIO, můžeme vydat „broadcast gpioserveron“. Poté pro konfiguraci spouštěcího pinu vydáme „broadcast config16out“. Dále můžeme nakonfigurovat pin echa pomocí „broadcast config26in“a poté zahájit měření pomocí „broadcast ultrasonictrigger16echo26“. To způsobí, že měření budou prováděna nepřetržitě s kadencí přibližně 140 ms. Naměřená data můžete přečíst pomocí snímacího bloku „hodnota ultrazvukového snímače vzdálenosti“.

Tak to je prozatím vše, díky za přečtení a nezapomeňte se podívat na zábavný malý demo program Scratch (sdílený zde), který jsme nazvali „tinyLiDAR_catch_me“a … Scratch On!;)

Doporučuje: