Innehållsförteckning:

CircuitPython och TinyLiDAR: Enkelt exempel: 3 steg
CircuitPython och TinyLiDAR: Enkelt exempel: 3 steg

Video: CircuitPython och TinyLiDAR: Enkelt exempel: 3 steg

Video: CircuitPython och TinyLiDAR: Enkelt exempel: 3 steg
Video: CircuitPython Tutorial 2024, November
Anonim
CircuitPython och TinyLiDAR: Enkelt exempel
CircuitPython och TinyLiDAR: Enkelt exempel

MicroElectronicDesign tinyLiDAR är en ST VL53L0X-baserad time-of-flight (ToF) -modul med en i2c-bussanslutning. Adafruit microcontroller -korten ansluts enkelt till denna sensor eftersom de kan tala i2c -protokollet över sina datapinnar.

M0/M4 -serien har fördelen jämfört med andra kort eftersom de stöder en delmängd av Python som gör programmeringen mer tillgänglig för en bredare publik än C på en Arduino. Detta är ett enkelt exempel med CircuitPython på ett Gemma M0-kort för att läsa avståndsvärdena från en tinyLiDAR och ange avståndet genom att variera ljusstyrkan för den inbyggda RGB-LED: n. Kortet måste vara M0 -versionen för python -stöd.

Obs: Adafruit gör också olika distansavkänningskort inklusive en baserad på VL53L0X.

Steg 1: CircuitPython -kod

  1. Ladda ner lib/adafruit_dotstar.mpy och lib/adafruit_bus_device/i2c_device.mpy om du inte redan har dem. Dessa är en del av det valfria bibliotekspaketet, se första avsnittet i CircuitPython I2C för anteckningar om hur du installerar dessa. Dessa filer måste gå i lib- och lib/adafruit_bus_device -katalogerna på Gemma M0.
  2. Ladda ner gemma-m0-tinylidar-simple.py, byt namn till main.py och kopiera till rotkatalogen för Gemma M0.

Programmet skriver utmatning till seriekonsolen samt varierar ljusstyrkan för Gemma MO RGB LED i proportion till avläst avstånd. Gemma M0 LED växlar mellan på och av för läsningar så kommer att blinka vid ungefär 5Hz och standardbeteendet för tinyLiDAR -kortet är att blinka sin blå lysdiod per kommando vid 10Hz.

Bussen körs på 100 kHz vilket fungerar bra för detta fall. Liksom vilken buss som helst är kommunikationshastigheten kommunikationshastigheten begränsad av egenskaperna hos överföringsledningarna, så man bör vara uppmärksam på längd, kapacitans och andra faktorer.

Steg 2: Anslutning av TinyLiDAR till en Gemma M0

Ansluter TinyLiDAR till en Gemma M0
Ansluter TinyLiDAR till en Gemma M0

Bilden visar en effektiv men oelegant tillfällig installation för att ansluta tinyLiDAR till ett Gemma M0 -kort. Den lillaLiDAR: s "Grove" 4 -stifts universalkontakt används via en Seeed Grove -konverteringskabel, ett extra huvud och krokodilklämmor för att ansluta till Gemma M0. Viss skillnad mellan stiften på rubriken tar bort risken för en oavsiktlig short. Anslutningarna är:

  • Svart: gnd till gnd
  • Röd: +V till 3Vo
  • Vit: SDA till D0 (data)
  • Gul: SCL till D2 (klocka)

Adafruit -brädorna har några stift som effektivt stöder i2c -protokollet i hårdvara. När det gäller Gemma M0 måste dessa användas, D0 för data och D2 för klocka.

En i2c-buss kräver ett uppdragsmotstånd på data- och klocklinjerna. I detta fall ger tinyLiDAR några 4,7K inbyggda motstånd. Om dessa har tagits bort från kretsen genom att klippa linjerna måste ekvivalenter läggas till kretsen.

Steg 3: Seriell utmatning

Seriell utgång
Seriell utgång

Programmet skriver utmatning till seriekonsolen som visar det uppmätta avståndet, här är ett exempel på en skärmdump av en terminal som visar ett objekt som rör sig bort från sensorn.

Rekommenderad: