Оглавление:
- Шаг 1: Что нам нужно, чтобы построить это…
- Шаг 2: Программное обеспечение…
- Шаг 3. Еще картинки и спасибо за прочтение…
Видео: Лидарный дисплей TFMini - как радар, только со светом! :-): 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Есть несколько вещей, которые объединились, чтобы сделать эту работу, но самая большая (и что вдохновило меня на это) - это «проект Arduino Radar Project», найденный на сайте howtomechatronics.com Деяном Неделковски (дата неизвестна).
Я работал над этим проектом несколько месяцев назад (18.10.2018) с мыслью о публикации моих результатов, но так и не дошел - сегодня мне показалось, что хороший день, чтобы наверстать упущенное по некоторым проектам, которые я хотел задокументировать.
Чтобы заставить это работать, был внесен ряд изменений в Arduino, Ультразвуковой прибор был заменен на мини-лидар TF https://www.sparkfun.com/products/14588 (этот блок является последовательным устройством, что делает его достаточно простым в использовании)
Плата PWM / Servo PCA9685 использовалась, потому что серво-библиотека вызвала проблемы при использовании последовательной библиотеки программного обеспечения.
Другим небольшим изменением было крепление, которое я использовал, что на самом деле мелочь - я использовал дешевое крепление PAN / Tilt и пару сервоприводов - Первоначальная мысль заключалась в том, чтобы расширить его еще больше и иметь опцию высоты (давая больше Я наткнулся на пару препятствий с этой идеей и больше никогда не возвращался к ней. Так что на самом деле вам действительно нужен только один сервопривод (у меня их два).
Разделы кода Arduino были основаны на Juan Jose Luna Espinosa TFMini и коде ESP32
Единственная необходимая библиотека - это библиотека драйверов сервоприводов Adafruit PWM
Шаг 1: Что нам нужно, чтобы построить это…
Я уже намекнул на большую часть этого…..
Нам понадобится TFMini Lidar, 2 сервопривода, крепление для панорамирования / наклона, плата PCA9685 и Arduino UNO / или клон.
Нам также понадобится дополнительный источник питания 5 В для сервоплаты. (Хорошее руководство для платы PCA9685 можно найти здесь
Проводка для этого довольно проста: от Arduino вы захотите подключить 5 В как к VCC на плате PCA9685, так и к лидарному блоку TFMINI, а также к земле к обоим. PCA9685 - это устройство I2C, поэтому SCL подключается к A5, а SDA - к контакту A4.
Из TFMini вы подключите контакт TX к PIN 8 на Arduino.
На PCA9685 вы подключите один сервопривод к заголовку 0 и один сервопривод к заголовку 1 (убедитесь, что они правильно подключены, заземляющий (коричневый) провод должен быть внизу или на внешнем краю) Заголовок 0 будет использоваться для сервопривод PAN (или тот, который мы будем использовать) - сервопривод наклона подключен к заголовку 1 (код действительно немного перемещает его, чтобы привести его в прямое положение).
Это касается аппаратного обеспечения, что касается программного обеспечения, нам нужно будет установить IDE Arduino (на момент написания этой статьи я использую 1.8.5, но последняя также должна работать), а я не протестировал или использовал онлайн-редактор (поэтому я понятия не имею, будет ли он работать с этим).
Вы захотите следовать инструкциям по установке для своей ОС, которые можно найти здесь:
Вы также захотите обновить платы и библиотеки по мере необходимости (используйте стабильные библиотеки, не используйте какие-либо бета-версии, они содержат ошибки)
Нам также необходимо установить Processing - для тех, кто не знает, что такое обработка - это гибкий блокнот для программ и язык для обучения программированию в контексте изобразительного искусства.
Другими словами, это действительно упрощает отображение и отображение информации.
processing.org/download/
Наконец, вы захотите взять код из моего репозитория на github.
github.com/kd8bxp/Lidar-Display
Шаг 2: Программное обеспечение…
В репозитории вы найдете некоторый тестовый код для Arduino, загрузите его в UNO и откройте последовательную консоль, и, если все работает правильно, вы должны начать видеть некоторые расстояния от вашего TF MINI - этот код основан на работа Хуана Хосе Луна Эспиноза (2018) TFMini и ESP32
github.com/yomboprime/TFMiniArduinoTest
Убедившись, что лидар работает, вы готовы загрузить код lidar_radar_with_processing2 в UNO.
Теперь нам нужно загрузить код обработки, нам нужно изменить последовательный порт - это строка 42.
В эскизе есть последовательный порт, который использует моя UNO, это в Linux, и если вы используете Linux, он должен быть чем-то похожим (это также может быть что-то вроде / dev / ttyUSB0) для машины Windows, это будет COM #
в любом случае это должен быть тот же последовательный порт, который использует ваша IDE Arduino. - Вы захотите закрыть последовательную консоль Arduino и запустить скетч обработки.
ЕСЛИ все идет хорошо, вы должны начать видеть дисплей «Радар».
Вы могли заметить, что мой дисплей выглядит не так, как проект, который его вдохновил -
Я внес несколько изменений в эскиз обработки - поскольку лидар TFMini может отображать от 12 дюймов до 36 футов - я изменил диапазон - мне также не понравилось, как исходный эскиз сделал КРАСНУЮ линию, поэтому я изменил это на просто точка КРАСНОГО цвета (кстати, это изменение есть в эскизе обработки в строке 115 и строке 116, если вы хотите изменить его обратно). Диапазон фактически сопоставлен со значением от 1 до 39 в скетче Arduino.
* Примечание: строка 39 позволяет вам изменять разрешение. Вам может потребоваться или не потребоваться его регулировка - если вы не видите что-то похожее на изображение выше, вам, вероятно, придется отрегулировать строку 39.
** Примечание 2: - Вы можете получить ошибку относительно последовательного порта, я забыл порядок устройств - я думаю, вы сначала запускаете Arduino, а затем запускаете эскиз обработки - Но у меня может быть это в обратном порядке - так что вы можете начать эскиз обработки, затем подключите Arduino…. Один способ дает ошибку в процессе, а другой работает.
Шаг 3. Еще картинки и спасибо за прочтение…
Я надеюсь, что я отдал должное оригинальному проекту, и я надеюсь, что вам понравилось то, что я с ним сделал.
* Мне кажется, что я не очень хорошо это объяснил … Может, мне стоит задокументировать свои проекты раньше, чем через 3 месяца *