Indholdsfortegnelse:

Kan jeg bruge TinyLiDAR i Scratch ?: 3 trin
Kan jeg bruge TinyLiDAR i Scratch ?: 3 trin

Video: Kan jeg bruge TinyLiDAR i Scratch ?: 3 trin

Video: Kan jeg bruge TinyLiDAR i Scratch ?: 3 trin
Video: Как использовать 2 или более лазерных датчиков расстояния VL53L0X 2024, Juli
Anonim
Kan jeg bruge TinyLiDAR i… Scratch?
Kan jeg bruge TinyLiDAR i… Scratch?

Vi får nu og da anmodninger om at spørge, om tinyLiDAR vil fungere på deres særlige computerplatform. Selvom tinyLiDAR var designet som en brugervenlig LiDAR -sensor til Arduino UNO, er der intet i vejen for, at den kan bruges på andre platforme som Raspberry Pi (som vist i den tidligere instruerbare her). Det vil sige, hvis platformen har en I2C -bus og kan understøtte ure -stretch -funktionen i I2C -specifikationen. Så hvad nu hvis dit bord ikke engang understøtter I2C? - ligeglad med uret, der strækker sig … Godt det ville være et udfordrende scenario, men i virkeligheden eksisterer det faktisk for det ultra populære visuelle programmeringssprog kaldet "Scratch".

Google det, hvis du ikke har hørt om det før, men i en nøddeskal er det et godt førstesprog for alle at få deres mening om programmeringsområdet. Scratch blev oprettet af MIT Media Lab og har eksisteret i over 16 år nu. Det er goto -sproget for at lære børn at kode rundt om i verden. Alle kan begynde at bruge det gratis - da det normalt kører på dit skrivebord i en webbrowser. Tjek det ud her, hvis du kan lide det.

TL; DR version

JA! Med en ny funktion kaldet "Ultrasonic Emulation Mode" i tinyLiDAR f/w version 1.3.9

Trin 1: Skrab hvad?

Der er mange varianter af Scratch i naturen nu. Robotikentusiaster har en tendens til at bruge de GPIO -fokuserede versioner som ScratchGPIO eller andre modded versioner som ScratchX, som kan laves til at understøtte enhver 'eksperimentel hardware'. Alle disse er gode til avancerede brugere, men de almindelige versioner, der er installeret som standard på pi, vil være vores fokus for dette instruerbare, da de har ret begrænsede hardware muligheder.

Pi's Raspbian Stretch Desktop leveres med to versioner af Scratch forudinstalleret. Nemlig "Scratch" og "Scratch 2". Vi vil bruge den første, også kaldet "Scratch 1.4 (NuScratch)" og vil bruge den "offline", så vi kan bruge GPIO -serverfunktionen.

Du kan downloade det officielle pi -desktopbillede her.

Af en eller anden grund besluttede Scratch-skaberne kun at støtte nogle få af de mest almindeligt tilgængelige sensorer fra store virksomheder som Lego etc. Interessant nok besluttede de også at tilføje support til HC-SR04. Dette er naturligvis den allestedsnærværende ultralydsafstandssensor, der simpelthen udsender en enkelt pulsbredde, der er proportional med den målte afstand.

Målenøjagtigheden kan variere en smule afhængigt af lufttemperatur, fugtighed og målmateriale som nævnt her, her og her. Men generelt kan næsten enhver platform måle denne enheds pulsbreddeudgang.

Trin 2: Ny funktion

Ny funktion
Ny funktion

At udsende nøjagtige mikrosekundskala-impulser er ikke et problem for os på tinyLiDAR, da vi har ekstra hardwareopløsere med høj opløsning inde i den indbyggede 32bit mikro. tinyLiDAR kalibrerer også altid automatisk for temperaturen, da den tændes, så ingen yderligere justeringer er nødvendige for driftsmiljøet.

Lad os gøre det

Okay - vi kunne, så vi tilføjede bare en ny funktion til tinyLiDAR (fra firmware 1.3.9) kaldet "Ultrasonic Emulation Mode". Du kan få adgang til den ved at bruge kommandoen "u" fra den opdaterede tinyLiDAR GUI Terminal.

Brug af det vil ændre indstillingerne i ikke-flygtig hukommelse, så det får tinyLiDAR til at ligne en generisk ultralydssensor, selv efter at du har slukket den. Du kan ændre det tilbage til normal I2C -tilstand ved at trykke på reset -knappen og udsende kommandoen "az". Yderligere detaljer findes i brugermanualen.

For at gøre livet endnu enklere gør vi den lilleLiDAR -sensor tilgængelig forudindstillet til denne nye ultralydsemuleringstilstand fra vores websted. Bare bestil "-u" versionen.

Se Ma, ingen lodning

Ingen lodning og heller ikke brødbræt er nødvendig, da de medfølgende "Grove to Female 4pin" kabler tilsluttes direkte til Raspberry pi header pins. Udløserstiften er den gule ledning og ekkostangen er den hvide ledning. Sort og rød er naturligvis til strøm. Se hovedbilledet ovenfor for detaljer.

Btw, vi gik et skridt videre og fik den gule pin til at opføre sig som PING))) sensoren, der bruger en enkelt ledning til både trigger- og ekkosignalerne.

På grund af dette kan du nu foretage målinger med tinyLiDAR ved hjælp af standard "PING" ultralydskitsen, der leveres med hver Arduino IDE uden nogen kodeændringer! Du kan også prøve det uden forsinkelse.

Selvfølgelig kan du indstille parametre som høj nøjagtighed, langdistance osv. For dine LiDAR -målinger, før du vælger "u" -kommandoen, og den vil derefter foretage disse målinger hver gang den ser aftrækkertappen falde som vist i diagrammet ovenfor.

Fare, Will Robinson

Bemærk, at SR04 ultralydssensoren har brug for nogle modstande for at forhindre +5v forsyningen i at beskadige din pi. Men da tinyLiDAR kører indfødt fra +3.3v, er der ikke behov for nogen modstande til at interface med pi'en:)

Trin 3: Kodning af det

Koder det
Koder det
Koder det
Koder det

Så hvad er den kode, vi har brug for, for tinyLiDAR at fungere i Scratch?

Godt du spurgte!

Det er kun et spørgsmål om at trække et par enkle udsendelsesblokke som vist på billederne ovenfor.

For at aktivere GPIO -benene kan vi udstede "broadcast gpioserveron" Derefter for at konfigurere trigger -pin udsteder vi "broadcast config16out" Dernæst kan vi konfigurere ekkopinden ved "broadcast config26in" og derefter starte målingerne med "broadcast ultrasonictrigger16echo26". Dette vil medføre, at målinger foretages kontinuerligt ved en kadence på 140 ms. Du kan aflæse de målte data ved hjælp af følelsesblokken "ultralydsafstandssensorværdi".

Nå det er det for nu, tak fordi du læste og sørg for at tjekke det sjove lille Scratch demo -program (delt her), vi lavede kaldet "tinyLiDAR_catch_me" og … Scratch On!;)

Anbefalede: