INHOUDSOPGAWE:

CircuitPython en TinyLiDAR: Eenvoudige voorbeeld: 3 stappe
CircuitPython en TinyLiDAR: Eenvoudige voorbeeld: 3 stappe

Video: CircuitPython en TinyLiDAR: Eenvoudige voorbeeld: 3 stappe

Video: CircuitPython en TinyLiDAR: Eenvoudige voorbeeld: 3 stappe
Video: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Julie
Anonim
CircuitPython en TinyLiDAR: Eenvoudige voorbeeld
CircuitPython en TinyLiDAR: Eenvoudige voorbeeld

Die MicroElectronicDesign tinyLiDAR is 'n ST VL53L0X-gebaseerde tyd-tot-vlug (ToF) -module met 'n i2c-busverbinding. Die Adafruit -mikrobeheerborde kan maklik aan hierdie sensor gekoppel word, aangesien hulle die i2c -protokol oor hul datapennetjies kan spreek.

Die M0/M4 -reeks het die voordeel bo ander planke omdat hulle 'n subset van Python ondersteun, wat programmeerbaar vir 'n groter publiek toegankliker maak as C op 'n Arduino. Dit is 'n eenvoudige voorbeeld deur CircuitPython op 'n Gemma M0-bord te gebruik om die afstandwaardes van 'n tinyLiDAR af te lees en die afstand aan te dui deur die helderheid van die ingeboude RGB LED te verander. Die bord moet die M0 -weergawe wees vir python -ondersteuning.

Let wel: Adafruit maak ook verskillende afstandswaarnemingsborde, waaronder een gebaseer op die VL53L0X.

Stap 1: CircuitPython -kode

  1. Laai lib/adafruit_dotstar.mpy en lib/adafruit_bus_device/i2c_device.mpy af as u dit nog nie het nie. Dit is deel van die opsionele biblioteekbundel, sien die eerste afdeling van CircuitPython I2C vir aantekeninge oor hoe om dit te installeer. Hierdie lêers moet in die lib- en lib/adafruit_bus_device -dopgehou op die Gemma M0 verskyn.
  2. Laai gemma-m0-tinylidar-simple.py af, hernoem dit na main.py en kopieer dit na die wortelgids van die Gemma M0.

Die program skryf uitvoer na die seriële konsole, sowel as die helderheid van die Gemma MO RGB LED in verhouding tot die gelees afstand. Die Gemma M0 LED wissel tussen aan en af vir lees, sodat dit by ongeveer 5Hz flits en die standaardgedrag van die tinyLiDAR -bord is om sy blou led per opdrag by 10Hz te flits.

Die bus word op 100kHz aangedryf, wat goed werk vir hierdie geval. Soos met enige bus, word die kommunikasiesnelheid van kommunikasiesnelheid beperk deur die eienskappe van die transmissielyn (e), dus moet aandag gegee word aan lengte, kapasitansie en ander faktore.

Stap 2: Koppel die TinyLiDAR aan 'n Gemma M0

Koppel die TinyLiDAR aan 'n Gemma M0
Koppel die TinyLiDAR aan 'n Gemma M0

Die foto toon 'n effektiewe maar onelegante tydelike opstelling om die tinyLiDAR aan 'n Gemma M0 -bord te koppel. Die kleinLiDAR se "Grove" 4 -pins universele aansluiting word gebruik via 'n Seeed Grove -omskakelingskabel, 'n ekstra kopstuk en krokodilklemme om aan te sluit op die Gemma M0. Die skeiding tussen die penne op die kop verwyder die risiko van 'n onbedoelde korting. Die verbindings is:

  • Swart: gnd tot gnd
  • Rooi: +V tot 3Vo
  • Wit: SDA tot D0 (data)
  • Geel: SCL tot D2 (klok)

Die Adafruit -borde het 'n paar penne wat die i2c -protokol doeltreffend in hardeware ondersteun. In die geval van die Gemma M0 moet dit gebruik word, D0 vir data en D2 vir klok.

'N i2c-bus benodig 'n optrekweerstand op die data- en kloklyne. In hierdie geval bied die tinyLiDAR ongeveer 4,7K aan boord-weerstande. As hierdie uit die kring verwyder is deur die lyne te sny, moet ekwivalente by die stroombaan gevoeg word.

Stap 3: Seriële uitvoer

Seriële uitset
Seriële uitset

Die program skryf uitvoer na die seriële konsole wat die gemete afstand aandui; hier is 'n voorbeeld van 'n skermkiekie van 'n terminaal wat 'n voorwerp wys wat van die sensor af wegbeweeg.

Aanbeveel: