Съдържание:

CircuitPython и TinyLiDAR: Прост пример: 3 стъпки
CircuitPython и TinyLiDAR: Прост пример: 3 стъпки

Видео: CircuitPython и TinyLiDAR: Прост пример: 3 стъпки

Видео: CircuitPython и TinyLiDAR: Прост пример: 3 стъпки
Видео: Cytron Edu:bit with Adafruit CLUE and tinyLiDAR - servo-mounted scanning 2024, Ноември
Anonim
CircuitPython и TinyLiDAR: Прост пример
CircuitPython и TinyLiDAR: Прост пример

MicroElectronicDesign tinyLiDAR е ST VL53L0X базиран модул за време на полет (ToF) с обхват на i2c шина. Микроконтролерните платки Adafruit лесно се свързват към този сензор, тъй като те могат да говорят протокола i2c през своите пинове за данни.

Серията M0/M4 има предимството пред другите платки, защото поддържа подмножество от Python, което прави програмирането по -достъпно за по -широка аудитория от C на Arduino. Това е прост пример, използващ CircuitPython на платка Gemma M0, за да прочете стойностите на разстоянието от tinyLiDAR и да посочи разстоянието, като променя яркостта на вградения RGB LED. Платката трябва да е версия M0 за поддръжка на python.

Забележка: Adafruit също така произвежда различни платки за измерване на разстояние, включително такава, базирана на VL53L0X.

Стъпка 1: Код на CircuitPython

  1. Изтеглете lib/adafruit_dotstar.mpy и lib/adafruit_bus_device/i2c_device.mpy, ако още нямате такива. Те са част от допълнителния библиотечен пакет, вижте първия раздел на CircuitPython I2C за бележки как да ги инсталирате. Тези файлове трябва да бъдат в директориите lib и lib/adafruit_bus_device на Gemma M0.
  2. Изтеглете gemma-m0-tinylidar-simple.py, преименувайте го на main.py и копирайте в основната директория на Gemma M0.

Програмата записва изхода към серийната конзола, както и променя яркостта на Gemma MO RGB LED пропорционално на прочетеното разстояние. Светодиодът Gemma M0 се редува между включване и изключване за четене, така че ще мига при приблизително 5Hz и поведението по подразбиране на дъската tinyLiDAR е да мига синия си светодиод на команда при 10Hz.

Автобусът се задвижва на 100kHz, което работи добре в този случай. Както всяка шина, скоростта на комуникация скоростта на комуникация е ограничена от характеристиките на преносната линия (линии), така че трябва да се обърне внимание на дължината, капацитета и други фактори.

Стъпка 2: Свързване на TinyLiDAR към Gemma M0

Свързване на TinyLiDAR към Gemma M0
Свързване на TinyLiDAR към Gemma M0

Снимката показва ефективна, но неелегантна временна настройка за свързване на tinyLiDAR към платка Gemma M0. Универсалният 4 -пинов конектор „Grove“на tinyLiDAR се използва чрез конверционен кабел Seeed Grove, резервен хедър и крокодилски щипки за свързване към Gemma M0. Известно разделяне между щифтовете на заглавката премахва риска от неволно късо съединение. Връзките са:

  • Черно: gnd към gnd
  • Червено: +V до 3Vo
  • Бяло: SDA до D0 (данни)
  • Жълто: SCL до D2 (часовник)

Платките Adafruit имат някои щифтове, които поддържат i2c протокола ефективно в хардуера. В случай на Gemma M0, те трябва да се използват, D0 за данни и D2 за часовник.

I2c шината изисква издърпващ се резистор по линиите за данни и часовник. В този случай tinyLiDAR осигурява около 4,7K бордови резистори. Ако те са били отстранени от веригата чрез прерязване на линиите, тогава към веригата трябва да се добавят еквиваленти.

Стъпка 3: Сериен изход

Сериен изход
Сериен изход

Програмата записва изход към серийната конзола, показваща измереното разстояние, ето примерна екранна снимка на терминал, показващ обект, който се отдалечава от сензора.

Препоръчано: