Përmbajtje:

CircuitPython dhe TinyLiDAR: Shembull i thjeshtë: 3 hapa
CircuitPython dhe TinyLiDAR: Shembull i thjeshtë: 3 hapa

Video: CircuitPython dhe TinyLiDAR: Shembull i thjeshtë: 3 hapa

Video: CircuitPython dhe TinyLiDAR: Shembull i thjeshtë: 3 hapa
Video: Это 8 признаков того, что у вас все еще слабая психика 2024, Korrik
Anonim
CircuitPython dhe TinyLiDAR: Shembull i thjeshtë
CircuitPython dhe TinyLiDAR: Shembull i thjeshtë

MicroElectronicDesign tinyLiDAR është një modul i kohës së fluturimit (ToF) i bazuar në ST VL53L0X me një lidhje autobusi i2c. Bordet e mikrokontrolluesit Adafruit lidhen lehtësisht me këtë sensor pasi ato mund të flasin protokollin i2c mbi kunjat e tyre të të dhënave.

Seritë M0/M4 kanë përparësi ndaj bordeve të tjera sepse ato mbështesin një nëngrup të Python i cili e bën programimin më të arritshëm për një audiencë më të gjerë sesa C në një Arduino. Ky është një shembull i thjeshtë duke përdorur CircuitPython në një tabelë Gemma M0 për të lexuar vlerat e distancës nga një tinyLiDAR dhe për të treguar distancën duke ndryshuar shkëlqimin e LED RGB në bord. Bordi duhet të jetë versioni M0 për mbështetjen e python.

Shënim: Adafruit gjithashtu krijon tabela të ndryshme të ndjeshmërisë në distancë, përfshirë një të bazuar në VL53L0X.

Hapi 1: Kodi CircuitPython

  1. Shkarkoni lib/adafruit_dotstar.mpy dhe lib/adafruit_bus_device/i2c_device.mpy nëse nuk i keni tashmë ato. Këto janë pjesë e paketës opsionale të bibliotekës, shihni pjesën e parë të CircuitPython I2C për shënime se si t'i instaloni ato. Këto skedarë duhet të futen në drejtoritë lib dhe lib/adafruit_bus_device në Gemma M0.
  2. Shkarkoni gemma-m0-tinylidar-simple.py, riemëroni atë në main.py dhe kopjoni në drejtorinë rrënjësore të Gemma M0.

Programi shkruan dalje në tastierën serike, si dhe ndryshon shkëlqimin e Gemma MO RGB LED në proporcion me distancën e lexuar. Gemma M0 alternon midis ndezjes dhe fikjes për lexime, kështu që do të ndizet në afërsisht 5Hz dhe sjellja e paracaktuar e bordit tinyLiDAR është të ndezë led -in e saj blu për komandën në 10Hz.

Autobusi drejtohet në 100kHz që funksionon mirë për këtë rast. Ashtu si çdo autobus, shpejtësia e komunikimit e shpejtësisë së komunikimit është e kufizuar nga karakteristikat e linjës (ve) së transmetimit, kështu që vëmendje duhet t'i kushtohet gjatësisë, kapacitetit dhe faktorëve të tjerë.

Hapi 2: Lidhja e TinyLiDAR me një Gemma M0

Lidhja e TinyLiDAR me një Gemma M0
Lidhja e TinyLiDAR me një Gemma M0

Fotografia tregon një konfigurim të përkohshëm efektiv por jo elegant për të lidhur tinyLiDAR me një bord Gemma M0. Lidhësi universal "Grove" 4pin i tinyLiDAR po përdoret përmes një kabllo konvertimi Seeed Grove, një kokë rezervë dhe kapëse krokodili për t'u lidhur me Gemma M0. Një ndarje midis kunjave në kokë heq rrezikun e një shkurtimi të papritur. Lidhjet janë:

  • E zezë: gnd në gnd
  • E kuqe: +V në 3Vo
  • E bardhë: SDA në D0 (të dhëna)
  • E verdhë: SCL në D2 (ora)

Bordet Adafruit kanë disa kunja të cilat mbështesin protokollin i2c në mënyrë efikase në harduer. Në rastin e Gemma M0, këto duhet të përdoren, D0 për të dhënat dhe D2 për orën.

Një autobus i2c kërkon një rezistencë tërheqëse në të dhënat dhe linjat e orës. Në këtë rast, tinyLiDAR siguron rreth 4.7K rezistorë në bord. Nëse këto janë hequr nga qarku duke prerë linjat atëherë ekuivalentët duhet të shtohen në qark.

Hapi 3: Prodhimi Serik

Prodhimi Serik
Prodhimi Serik

Programi shkruan dalje në tastierën serike duke treguar distancën e matur, këtu është një shembull screenshot i një terminali që tregon një objekt që largohet nga sensori.

Recommended: