Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Цифровой стадиометр на Arduino: отслеживание роста лазерным датчиком VL53L0X

Компоненты и материалы

Arduino Nano R3 1 шт.
Лазерный датчик расстояния CJMCU-530 (VL53L0X, Time-of-Flight) 1 шт.
Ротри энкодер KY-040 (с кнопкой) 1 шт.
OLED-дисплей SSD1306 128×64 (I2C) 1 шт.
Пьезо-звукопискатель (пассивный) 1 шт.
Резисторы 10 кОм (подтяжка I2C) 2 шт.

О проекте

Устройство для бесконтактного измерения роста ребёнка. Монтируется в центре верхней части дверного проёма. Лазерный ToF-сенсор VL53L0X (длина волны 940 нм, невидимый, безопасный по классу 1) измеряет расстояние до головы. При фиксации стабильного значения в течение 2.5 с воспроизводится звуковой сигнал-уведомление, результат зафиксировывается на OLED-дисплее.

Шаг 1: Комплектующие

Список выше. Два резистора 10 кОм нужны на линиях SDA/SCL (OLED и VL53L0X висят на одной I2C-шине).

Шаг 2: Датчик VL53L0X

ST Microelectronics VL53L0X — ToF-модуль с массивом SPAD (Single Photon Avalanche Diodes). Измеряет до 2 м, интерфейс I2C (адрес 0x29). Используется библиотека Pololu VL53L0X (проще нативного API ST). Настроен режим HIGH ACCURACY + LONG RANGE — медленнее, но точнее и с большим запасом по высоте установки.

Шаг 3: Монтаж и калибровка смещения (offset)

Шаг 4: Алгоритм измерения

В цикле loop() текущее измерение сравнивается с предыдущим. Если значение не меняется >2.5 с и не является ошибкой (Out of range / Timeout) — результат = offset − measured, показывается на дисплее, пищит «успешная» мелодия.

Шаг 5: Корпус

Автор спроектировал корпус в CAD и заказал 3D-печать — так точнее вырезаются окна под датчик и дисплей. Лазерный чип оставлен без защитного стекла (стекло требует сложной калибровки crosstalk по документации ST).

Код (HTAY.ino)

Скетч доступен для скачивания в разделе «Code» оригинала. Основные библиотеки:
— VL53L0X (Pololu)
— Adafruit_SSD1306 + Adafruit_GFX
— EEPROM, Wire

GitHub библиотеки: pololu/vl53l0x-arduino

Схема подключения

См. раздел «Schematics» оригинала: I2C-шина общая (SDA→A4, SCL→A5 через 10 кОм на 3.3В/5В), энкодер — D2/D3/D4 (CLK/DT/SW), buzzer — D5, питание — 5В от Nano.

3D-модель корпуса

Файл HTAY.stl в разделе «Custom parts and enclosures».

Производственный процесс

  1. Оценка готовности к промышленному IoT: готовы ли вы к успеху Индустрии 4.0?
  2. Raspberry Pi и HDC2010: полное руководство по настройке I2C датчика температуры и влажности
  3. Измерение качества воздуха с OpenSensors: руководство по Arduino и Python
  4. Подключение газового датчика TGS2600 к Raspberry Pi для обнаружения вредных газов
  5. Проверка и калибровка датчика влажности для точных измерений
  6. Создание универсального ИК-пульта на Arduino: пошаговое руководство
  7. Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
  8. Управление кадровыми проблемами: стратегии найма и удержания талантов в условиях дефицита кадров
  9. Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
  10. Использование термистора: пошаговое руководство для Arduino