Innholdsfortegnelse:

CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trinn
CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trinn

Video: CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trinn

Video: CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trinn
Video: Cytron Edu:bit with Adafruit CLUE and tinyLiDAR - servo-mounted scanning 2024, Juli
Anonim
CircuitPython og TinyLiDAR: Enkelt eksempel
CircuitPython og TinyLiDAR: Enkelt eksempel

MicroElectronicDesign tinyLiDAR er en ST VL53L0X-basert time-of-flight (ToF) -modul med en i2c-bussforbindelse. Adafruit -mikrokontrollerkortene kobles enkelt til denne sensoren, ettersom de kan snakke i2c -protokollen over datapinnene.

M0/M4 -serien har fordelen i forhold til andre brett fordi de støtter et delsett av Python som gjør programmering mer tilgjengelig for et bredere publikum enn C på en Arduino. Dette er et enkelt eksempel ved å bruke CircuitPython på et Gemma M0-kort for å lese avstandsverdiene fra en tinyLiDAR og angi avstanden ved å variere lysstyrken til den innebygde RGB-LED-en. Brettet må være M0 -versjonen for python -støtte.

Merk: Adafruit lager også forskjellige avstandsfølerbrett, inkludert et basert på VL53L0X.

Trinn 1: CircuitPython -kode

  1. Last ned lib/adafruit_dotstar.mpy og lib/adafruit_bus_device/i2c_device.mpy hvis du ikke allerede har dem. Disse er en del av den valgfrie bibliotekspakken, se første del av CircuitPython I2C for notater om hvordan du installerer disse. Disse filene må gå i lib- og lib/adafruit_bus_device -katalogene på Gemma M0.
  2. Last ned gemma-m0-tinylidar-simple.py, gi den nytt navn til main.py og kopier til rotkatalogen til Gemma M0.

Programmet skriver utgang til seriekonsollen, samt varierer lysstyrken til Gemma MO RGB LED i forhold til avstanden som er lest. Gemma M0 -ledningen veksler mellom på og av for lesing, så den blinker på omtrent 5 Hz, og standard oppførselen til tinyLiDAR -kortet er å blinke den blå lysdioden per kommando ved 10 Hz.

Bussen kjøres på 100 kHz, noe som fungerer bra for dette tilfellet. Som enhver buss er kommunikasjonshastigheten kommunikasjonshastigheten begrenset av egenskapene til overføringslinjen (e), så det bør tas hensyn til lengde, kapasitans og andre faktorer.

Trinn 2: Koble TinyLiDAR til en Gemma M0

Koble TinyLiDAR til en Gemma M0
Koble TinyLiDAR til en Gemma M0

Bildet viser et effektivt, men uelegant midlertidig oppsett for å koble tinyLiDAR til et Gemma M0 -kort. Den lilleLiDARs “Grove” 4 -pinners universalkontakt brukes via en Seeed Grove -konverteringskabel, et ekstra topptekst og krokodilleklips for å koble til Gemma M0. Noe skille mellom tappene på hodet fjerner risikoen for en utilsiktet short. Tilkoblingene er:

  • Svart: gnd til gnd
  • Rød: +V til 3Vo
  • Hvit: SDA til D0 (data)
  • Gul: SCL til D2 (klokke)

Adafruit -brettene har noen pins som støtter i2c -protokollen effektivt i maskinvare. Når det gjelder Gemma M0, må disse brukes, D0 for data og D2 for klokke.

En i2c-buss krever en opptrekkmotstand på data- og klokkelinjene. I dette tilfellet gir tinyLiDAR noen 4,7K innebygde motstander. Hvis disse er fjernet fra kretsen ved å kutte linjene, må ekvivalenter legges til kretsen.

Trinn 3: Seriell utgang

Seriell utgang
Seriell utgang

Programmet skriver utgang til seriekonsollen som viser avstanden målt, her er et eksempel på et skjermbilde av en terminal som viser et objekt som beveger seg bort fra sensoren.

Anbefalt: