Mục lục:

CircuitPython và TinyLiDAR: Ví dụ đơn giản: 3 bước
CircuitPython và TinyLiDAR: Ví dụ đơn giản: 3 bước

Video: CircuitPython và TinyLiDAR: Ví dụ đơn giản: 3 bước

Video: CircuitPython và TinyLiDAR: Ví dụ đơn giản: 3 bước
Video: ESP32 Laser-Ranging Distance Measurement Device | SSD1306 OLED + VL53L0X 2024, Tháng bảy
Anonim
CircuitPython và TinyLiDAR: Ví dụ đơn giản
CircuitPython và TinyLiDAR: Ví dụ đơn giản

MicroElectronicDesign tinyLiDAR là một mô-đun theo thời gian bay (ToF) dựa trên ST VL53L0X với kết nối bus i2c. Các bảng vi điều khiển Adafruit được kết nối dễ dàng với cảm biến này vì chúng có thể nói giao thức i2c qua các chân dữ liệu của chúng.

Dòng M0 / M4 có lợi thế hơn so với các bảng khác vì chúng hỗ trợ một tập hợp con của Python, giúp lập trình dễ tiếp cận hơn với nhiều đối tượng hơn so với C trên Arduino. Đây là một ví dụ đơn giản sử dụng CircuitPython trên bảng Gemma M0 để đọc các giá trị khoảng cách từ một LiDAR nhỏ và chỉ ra khoảng cách bằng cách thay đổi độ sáng của đèn LED RGB trên bo mạch. Bảng phải là phiên bản M0 để hỗ trợ python.

Lưu ý: Adafruit cũng tạo ra các bảng cảm biến khoảng cách khác nhau bao gồm một bảng dựa trên VL53L0X.

Bước 1: Mã CircuitPython

  1. Tải xuống lib / adafruit_dotstar.mpy và lib / adafruit_bus_device / i2c_device.mpy nếu bạn chưa có. Đây là một phần của gói thư viện tùy chọn, hãy xem phần đầu tiên của CircuitPython I2C để biết các ghi chú về cách cài đặt chúng. Các tệp này phải nằm trong thư mục lib và lib / adafruit_bus_device trên Gemma M0.
  2. Tải xuống gemma-m0-tinylidar-simple.py, đổi tên nó thành main.py và sao chép vào thư mục gốc của Gemma M0.

Chương trình ghi đầu ra vào bảng điều khiển nối tiếp cũng như thay đổi độ sáng của đèn LED RGB Gemma MO tương ứng với khoảng cách đọc. Đèn LED Gemma M0 luân phiên giữa bật và tắt để đọc, do đó sẽ nhấp nháy ở khoảng 5Hz và hành vi mặc định của bảng tinyLiDAR là nhấp nháy đèn LED màu xanh của nó cho mỗi lệnh ở 10Hz.

Xe buýt được điều khiển ở tần số 100kHz, hoạt động tốt cho trường hợp này. Giống như bất kỳ bus nào, tốc độ truyền thông tốc độ truyền thông bị giới hạn bởi các đặc tính của (các) đường truyền, do đó cần chú ý đến độ dài, điện dung và các yếu tố khác.

Bước 2: Kết nối TinyLiDAR với Gemma M0

Kết nối TinyLiDAR với Gemma M0
Kết nối TinyLiDAR với Gemma M0

Hình ảnh cho thấy một thiết lập tạm thời hiệu quả nhưng không phù hợp để kết nối tinyLiDAR với bo mạch Gemma M0. Đầu nối đa năng 4pin “Grove” của tinyLiDAR đang được sử dụng thông qua cáp chuyển đổi Seeed Grove, đầu cắm dự phòng và các kẹp cá sấu để kết nối với Gemma M0. Một số ngăn cách giữa các chân trên tiêu đề sẽ loại bỏ nguy cơ đoản mạch do sơ ý. Các kết nối là:

  • Đen: gnd thành gnd
  • Đỏ: + V đến 3Vo
  • Trắng: SDA đến D0 (dữ liệu)
  • Màu vàng: SCL đến D2 (đồng hồ)

Bo mạch Adafruit có một số chân hỗ trợ giao thức i2c hiệu quả trong phần cứng. Trong trường hợp của Gemma M0, chúng phải được sử dụng, D0 cho dữ liệu và D2 cho đồng hồ.

Một bus i2c yêu cầu một điện trở kéo lên trên đường dữ liệu và đồng hồ. Trong trường hợp này, tinyLiDAR cung cấp một số điện trở 4,7K trên bo mạch. Nếu chúng đã được loại bỏ khỏi mạch bằng cách cắt các đường dây thì các dòng tương đương phải được thêm vào mạch.

Bước 3: Đầu ra nối tiếp

Đầu ra nối tiếp
Đầu ra nối tiếp

Chương trình ghi đầu ra vào bảng điều khiển nối tiếp hiển thị khoảng cách đo được, đây là ảnh chụp màn hình ví dụ của một thiết bị đầu cuối cho thấy một đối tượng di chuyển ra khỏi cảm biến.

Đề xuất: