Оглавление:

Могу ли я использовать TinyLiDAR в царапинах?: 3 шага
Могу ли я использовать TinyLiDAR в царапинах?: 3 шага

Видео: Могу ли я использовать TinyLiDAR в царапинах?: 3 шага

Видео: Могу ли я использовать TinyLiDAR в царапинах?: 3 шага
Видео: PIKIMONI FOR CLUMSY 2 2024, Ноябрь
Anonim
Могу ли я использовать TinyLiDAR в… царапинах?
Могу ли я использовать TinyLiDAR в… царапинах?

Время от времени мы получаем запросы, чтобы узнать, будет ли tinyLiDAR работать на их конкретной вычислительной платформе. Хотя tinyLiDAR был разработан как простой в использовании датчик LiDAR для Arduino UNO, ничто не мешает использовать его на других платформах, таких как Raspberry Pi (как показано в предыдущем руководстве). То есть, если платформа имеет шину I2C и может поддерживать функцию растяжения тактовой частоты спецификации I2C. Итак - что, если ваша плата даже не поддерживает I2C? - не говоря уже о том, что часы растягивают вещи … Что ж, это был бы сложный сценарий, но на самом деле он действительно существует для сверхпопулярного языка визуального программирования под названием "Scratch".

Погуглите, если вы не слышали о нем раньше, но в двух словах, это отличный первый язык для всех, кто хочет погрузиться в сферу программирования. Scratch был создан MIT Media Lab и существует уже более 16 лет. Это язык goto для обучения детей программированию по всему миру. Любой желающий может начать использовать его бесплатно - как обычно, он работает на вашем рабочем столе в веб-браузере. Посмотрите здесь, если хотите.

TL; версия DR

ДА! С новой функцией под названием «Режим ультразвуковой эмуляции» в tinyLiDAR f / w версии 1.3.9

Шаг 1. Что нацарапать?

Сейчас в дикой природе есть много вкусов Scratch. Энтузиасты робототехники склонны использовать версии, ориентированные на GPIO, такие как ScratchGPIO, или другие модифицированные версии, такие как ScratchX, которые могут быть созданы для поддержки любого «экспериментального оборудования». Все это отлично подходит для продвинутых пользователей, но основные версии, которые по умолчанию установлены на Pi, будут в центре нашего внимания для этого руководства, поскольку они имеют довольно ограниченные параметры оборудования.

Raspbian Stretch Desktop от Pi поставляется с двумя предустановленными версиями Scratch. А именно «Царапина» и «Царапина 2». Мы будем использовать первый, известный как «Scratch 1.4 (NuScratch)», и будем использовать его «в автономном режиме», чтобы мы могли использовать функцию сервера GPIO.

Вы можете скачать официальный образ рабочего стола Pi здесь.

По какой-то причине создатели Scratch решили поддерживать только несколько наиболее распространенных датчиков от крупных компаний, таких как Lego и т. Д. Интересно, однако, что они также решили добавить поддержку HC-SR04. Это, конечно же, повсеместный ультразвуковой датчик расстояния, который просто выдает одиночный импульс, пропорциональный измеренному расстоянию.

Точность измерения может немного отличаться в зависимости от температуры воздуха, влажности и материала объекта, как указано здесь, здесь и здесь. Но в целом практически любая платформа может измерять ширину выходного импульса этого устройства.

Шаг 2: Новая функция

Новая особенность
Новая особенность

Вывод точных импульсов микросекундного масштаба не является проблемой для нас на tinyLiDAR, поскольку у нас есть запасные аппаратные таймеры с высоким разрешением внутри встроенного 32-битного микроконтроллера. tinyLiDAR также всегда выполняет автоматическую калибровку температуры при включении, поэтому никаких дополнительных настроек для условий эксплуатации не требуется.

Давай сделаем это

Хорошо - мы могли, поэтому мы просто добавили новую функцию в tinyLiDAR (начиная с прошивки 1.3.9) под названием «Режим ультразвуковой эмуляции». Вы можете получить к нему доступ, используя команду «u» в обновленном терминале с графическим интерфейсом tinyLiDAR.

Его использование изменит настройки в энергонезависимой памяти, так что tinyLiDAR будет выглядеть как обычный ультразвуковой датчик даже после того, как вы отключите его. Вы можете вернуть его в нормальный режим I2C, нажав кнопку сброса и введя команду «az». Более подробная информация находится в руководстве пользователя.

Чтобы сделать жизнь еще проще, мы делаем датчик tinyLiDAR доступным для этого нового режима ультразвуковой эмуляции с нашего веб-сайта. Просто закажите версию "-u".

Смотри, мама, без пайки

Не требуется пайка и макетная плата, так как прилагаемые кабели «Grove to Female 4pin» подключаются непосредственно к контактам заголовка Raspberry pi. Штифт триггера - это желтый провод, а контакт эха - белый провод. Черный и красный, конечно, для власти. Подробности см. На главном изображении выше.

Кстати, мы пошли еще дальше и заставили желтый контакт вести себя как датчик PING))), который использует один провод для сигналов запуска и эха.

Из-за этого теперь вы можете проводить измерения с помощью tinyLiDAR, используя ультразвуковой эскиз «PING» по умолчанию, который поставляется с каждой IDE Arduino, без каких-либо изменений кода! Вы также можете попробовать это без промедления.

Конечно, вы можете установить такие параметры, как высокая точность, большое расстояние и т. Д. Ваших измерений LiDAR, прежде чем выбирать команду «u», и затем он будет выполнять эти измерения каждый раз, когда видит, что спусковой штифт опускается, как показано на диаграмме выше.

Опасно, Уилл Робинсон

Обратите внимание, что ультразвуковому датчику SR04 нужны резисторы, чтобы питание +5 В не повредило ваш пи. Но поскольку tinyLiDAR изначально работает от + 3,3 В, нет необходимости в каких-либо резисторах для взаимодействия с пи:)

Шаг 3. Кодирование

Кодирование
Кодирование
Кодирование
Кодирование

Итак, какой именно код нам нужен для работы tinyLiDAR в Scratch?

Рад, что ты спросил!

Просто перетащите несколько простых блоков вещания, как показано на рисунках выше.

Чтобы включить выводы GPIO, мы можем выполнить команду «broadcast gpioserveron». Затем, чтобы настроить вывод запуска, мы запускаем «broadcast config16out». Затем мы можем настроить вывод эха с помощью «broadcast config26in», а затем начать измерения с помощью «broadcast ultrasonictrigger16echo26». Это приведет к тому, что измерения будут выполняться непрерывно с частотой около 140 мсек. Вы можете прочитать измеренные данные, используя блок считывания «Значение ультразвукового датчика расстояния».

Что ж, на этом все, спасибо за чтение и обязательно ознакомьтесь с забавной небольшой демонстрационной программой Scratch (размещенной здесь), которую мы сделали, под названием «tinyLiDAR_catch_me» и… Scratch On!;)

Рекомендуемые: