Indholdsfortegnelse:

CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trin
CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trin

Video: CircuitPython og TinyLiDAR: Enkelt eksempel: 3 trin

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

MicroElectronicDesign tinyLiDAR er et ST VL53L0X baseret time-of-flight (ToF) -modul med en i2c-busforbindelse. Adafruit -mikrokontrollerkortene kan let tilsluttes denne sensor, da de kan tale i2c -protokollen over deres datapinde.

M0/M4 -serien har fordelen i forhold til andre tavler, fordi de understøtter en delmængde af Python, som gør programmering mere tilgængelig for et bredere publikum end C på en Arduino. Dette er et enkelt eksempel ved hjælp af CircuitPython på et Gemma M0-kort til at læse afstandsværdierne fra en tinyLiDAR og angive afstanden ved at variere lysstyrken på den indbyggede RGB LED. Boardet skal være M0 -versionen til python -understøttelse.

Bemærk: Adafruit laver også forskellige afstandsfølende tavler, herunder et baseret på VL53L0X.

Trin 1: CircuitPython -kode

  1. Download lib/adafruit_dotstar.mpy og lib/adafruit_bus_device/i2c_device.mpy, hvis du ikke allerede har dem. Disse er en del af den valgfri bibliotekspakke, se første afsnit af CircuitPython I2C for noter om, hvordan du installerer disse. Disse filer skal gå i bibliotekerne lib og lib/adafruit_bus_device på Gemma M0.
  2. Download gemma-m0-tinylidar-simple.py, omdøb det til main.py og kopier til rodmappen på Gemma M0.

Programmet skriver output til den serielle konsol samt varierer lysstyrken på Gemma MO RGB LED i forhold til den aflæste afstand. Gemma M0 LED veksler mellem tænd og sluk for læsninger, så den blinker ved cirka 5 Hz, og standardadfærden for tinyLiDAR -kortet er at blinke dens blå LED pr. Kommando ved 10 Hz.

Bussen køres med 100 kHz, hvilket fungerer godt i denne sag. Ligesom enhver bus er kommunikationshastighedens kommunikationshastighed begrænset af egenskaberne ved transmissionslinien (e), så man bør være opmærksom på længde, kapacitans og andre faktorer.

Trin 2: Tilslutning af TinyLiDAR til en Gemma M0

Tilslutning af TinyLiDAR til en Gemma M0
Tilslutning af TinyLiDAR til en Gemma M0

Billedet viser en effektiv, men uelegant midlertidig opsætning til at forbinde den lilleLiDAR til et Gemma M0 -kort. Den lilleLiDARs “Grove” 4pin universalstik bruges via et Seeed Grove -konverteringskabel, et ekstra header og krokodilleklip til at forbinde til Gemma M0. En vis adskillelse mellem stifterne på headeren fjerner risikoen for en utilsigtet short. Forbindelserne er:

  • Sort: gnd til gnd
  • Rød: +V til 3Vo
  • Hvid: SDA til D0 (data)
  • Gul: SCL til D2 (ur)

Adafruit -tavlerne har nogle stifter, der effektivt understøtter i2c -protokollen i hardware. I tilfælde af Gemma M0 skal disse bruges, D0 for data og D2 for ur.

En i2c-bus kræver en pull-up-modstand på data- og urlinjerne. I dette tilfælde giver tinyLiDAR nogle 4,7K indbyggede modstande. Hvis disse er blevet fjernet fra kredsløbet ved at skære linjerne, skal ækvivalenter tilføjes til kredsløbet.

Trin 3: Seriel output

Seriel output
Seriel output

Programmet skriver output til den serielle konsol, der viser den målte afstand. Her er et eksempel på et skærmbillede af en terminal, der viser et objekt, der bevæger sig væk fra sensoren.

Anbefalede: