Sommario:

CircuitPython e TinyLiDAR: semplice esempio: 3 passaggi
CircuitPython e TinyLiDAR: semplice esempio: 3 passaggi

Video: CircuitPython e TinyLiDAR: semplice esempio: 3 passaggi

Video: CircuitPython e TinyLiDAR: semplice esempio: 3 passaggi
Video: ESP32 Лазерный дальномер | SSD1306 OLED + VL53L0X 2024, Dicembre
Anonim
CircuitPython e TinyLiDAR: semplice esempio
CircuitPython e TinyLiDAR: semplice esempio

Il microElectronicDesign tinyLiDAR è un modulo di misurazione del tempo di volo (ToF) basato su ST VL53L0X con una connessione bus i2c. Le schede del microcontrollore Adafruit si collegano facilmente a questo sensore in quanto possono comunicare il protocollo i2c sui loro pin di dati.

Le serie M0/M4 hanno il vantaggio rispetto ad altre schede perché supportano un sottoinsieme di Python che rende la programmazione più accessibile a un pubblico più ampio rispetto al C su Arduino. Questo è un semplice esempio che utilizza CircuitPython su una scheda Gemma M0 per leggere i valori della distanza da un tinyLiDAR e indicare la distanza variando la luminosità del LED RGB integrato. La scheda deve essere la versione M0 per il supporto di Python.

Nota: Adafruit realizza anche varie schede di rilevamento della distanza, inclusa una basata sul VL53L0X.

Passaggio 1: codice CircuitPython

  1. Scarica lib/adafruit_dotstar.mpy e lib/adafruit_bus_device/i2c_device.mpy se non li hai già. Questi fanno parte del pacchetto di librerie opzionale, vedere la prima sezione di CircuitPython I2C per le note su come installarli. Questi file devono andare nelle directory lib e lib/adafruit_bus_device su Gemma M0.
  2. Scarica gemma-m0-tinylidar-simple.py, rinominalo in main.py e copialo nella directory principale di Gemma M0.

Il programma scrive l'output sulla console seriale oltre a variare la luminosità del LED Gemma MO RGB in proporzione alla distanza letta. Il led Gemma M0 si alterna tra acceso e spento per le letture, quindi lampeggerà a circa 5Hz e il comportamento predefinito della scheda tinyLiDAR è di far lampeggiare il suo led blu per comando a 10Hz.

Il bus è guidato a 100kHz che funziona bene per questo caso. Come qualsiasi bus, la velocità di comunicazione della velocità di comunicazione è limitata dalle caratteristiche delle linee di trasmissione, quindi è necessario prestare attenzione alla lunghezza, alla capacità e ad altri fattori.

Passaggio 2: collegamento del TinyLiDAR a un Gemma M0

Collegamento del TinyLiDAR a un Gemma M0
Collegamento del TinyLiDAR a un Gemma M0

L'immagine mostra una configurazione temporanea efficace ma poco elegante per collegare il tinyLiDAR a una scheda Gemma M0. Il connettore universale a 4 pin "Grove" del tinyLiDAR viene utilizzato tramite un cavo di conversione Seeed Grove, un'intestazione di ricambio e clip a coccodrillo per il collegamento al Gemma M0. Una certa separazione tra i pin sull'intestazione elimina il rischio di un cortocircuito involontario. I collegamenti sono:

  • Nero: da terra a terra
  • Rosso: da +V a 3Vo
  • Bianco: da SDA a D0 (dati)
  • Giallo: da SCL a D2 (orologio)

Le schede Adafruit hanno alcuni pin che supportano il protocollo i2c in modo efficiente nell'hardware. Nel caso della Gemma M0 devono essere utilizzati questi, D0 per i dati e D2 per l'orologio.

Un bus i2c richiede una resistenza di pull-up sulle linee dati e di clock. In questo caso, il tinyLiDAR fornisce alcuni resistori integrati da 4,7K. Se questi sono stati rimossi dal circuito tagliando le linee, è necessario aggiungere equivalenti al circuito.

Passaggio 3: uscita seriale

Uscita seriale
Uscita seriale

Il programma scrive l'output sulla console seriale mostrando la distanza misurata, ecco uno screenshot di esempio di un terminale che mostra un oggetto che si allontana dal sensore.

Consigliato: