Оглавление:

Учебное пособие по ультразвуковому дальномеру с Arduino и ЖК-дисплеем: 5 шагов
Учебное пособие по ультразвуковому дальномеру с Arduino и ЖК-дисплеем: 5 шагов

Видео: Учебное пособие по ультразвуковому дальномеру с Arduino и ЖК-дисплеем: 5 шагов

Видео: Учебное пособие по ультразвуковому дальномеру с Arduino и ЖК-дисплеем: 5 шагов
Видео: Измерение расстояния на базе Arduino с помощью ультразвукового датчика 2024, Декабрь
Anonim
Учебное пособие по ультразвуковому дальномеру с Arduino и ЖК-дисплеем
Учебное пособие по ультразвуковому дальномеру с Arduino и ЖК-дисплеем

Многие люди создали инструкции по использованию Arduino Uno с ультразвуковым датчиком, а иногда и с ЖК-экраном. Однако я всегда обнаруживал, что эти другие инструкции часто пропускают шаги, которые не очевидны для новичков. В результате я попытался создать учебник, включающий все возможные детали, чтобы другие новички, надеюсь, могли извлечь из него уроки.

Сначала я использовал Arduino UNO, но обнаружил, что он для этой цели немного велик. Затем я исследовал Arduino Nano. Эта небольшая плата предлагает почти все, что делает UNO, но занимает гораздо меньшую площадь. Приложив некоторые маневры, я смог разместить его на той же макетной плате, что и ЖК-дисплей, ультразвуковой датчик и различные провода, резисторы и потенциометр.

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

Шаг 1. Детали, которые вам понадобятся

Детали, которые вам понадобятся
Детали, которые вам понадобятся
Детали, которые вам понадобятся
Детали, которые вам понадобятся
Детали, которые вам понадобятся
Детали, которые вам понадобятся

Есть только несколько деталей, которые вам нужны, и, к счастью, они очень недорогие.

1 - Макетная плата полного размера (830 контактов)

1 - Arduino Nano (с заглушками, установленными с обеих сторон)

1 - Ультразвуковой датчик HC-SRO4

1 - ЖК-дисплей 16x2 (с установленным одинарным заголовком). ПРИМЕЧАНИЕ: вам не нужна более дорогая версия I2C этого модуля. Мы можем работать напрямую с 16-контактным «базовым» блоком.

Потенциометр 1-10 кОм

1 - Балластный резистор для использования со светодиодной подсветкой для 16x2 (обычно 100 Ом - 220 Ом, я обнаружил, что резистор на 48 Ом подходит для меня лучше всего)

1 резистор ограничения нагрузки -1 кОм - для использования с HC-SR04

Макетные провода различной длины и цвета.

ДОПОЛНИТЕЛЬНО - Блок питания макетной платы - модуль питания, который подключается непосредственно к макетной плате, что позволяет вам быть более портативным, вместо того, чтобы оставаться привязанным к ПК или питать систему через Arduino Nano.

1 - ПК / ноутбук для программирования Arduino Nano - Примечание. Вам также могут потребоваться драйверы CH340, чтобы ваш ПК с Windows мог правильно подключаться к Arduino Nano. Скачать драйверы ЗДЕСЬ

1 - Интегрированная среда разработки Arduino (IDE) - Загрузите IDE ЗДЕСЬ

Шаг 2. Установите IDE, а затем драйверы CH340

Если у вас еще не установлены драйверы IDE или CH340, перейдите к этому шагу.

1) Загрузите IDE ЗДЕСЬ.

2) Подробные инструкции по установке IDE можно найти на веб-сайте Arduino ЗДЕСЬ.

3) Загрузите драйверы последовательного порта CH340 ЗДЕСЬ.

4) Подробные инструкции по установке драйверов можно найти ЗДЕСЬ.

Ваша программная среда теперь обновлена

Шаг 3: Размещение компонентов

Размещение компонентов
Размещение компонентов
Размещение компонентов
Размещение компонентов
Размещение компонентов
Размещение компонентов

Даже на полноразмерной макетной плате есть только ограниченное пространство, и этот проект доводит его до предела.

1) Если вы используете блок питания на макетной плате, сначала прикрепите его к крайним правым контактам на макетной плате.

2) Установите Arduino Nano так, чтобы USB-порт был направлен вправо.

3) Установите ЖК-дисплей «вверху» макета (см. Изображения).

4) Установите HC-SR04 и потенциометр. Оставьте место для проводов и резисторов, которые им потребуются.

5) В соответствии со схемой Фритзинга соедините все провода на макетной плате. Обратите внимание на размещение 2 резисторов на плате. - Я добавил файл Fritzing FZZ, который вы можете скачать, если вам интересно.

6) Если вы НЕ используете источник питания макетной платы, убедитесь, что у вас есть перемычки, идущие от земли, и линия + V на «низу» платы, идущая к соответствующим линиям на «вершине», чтобы гарантировать, что все заземлено и питание.

Для этой конфигурации я попытался расположить контакты ЖК-дисплея и контакты на Arduino последовательно, чтобы упростить задачу (D7-D4 на ЖК-дисплее подключается к D7-D4 на Nano). Это также позволило мне использовать очень четкую схему, чтобы показать проводку.

Хотя многие сайты требуют резистор 220 Ом для защиты подсветки ЖК-дисплея на дисплее 2x20, я обнаружил, что в моем случае это слишком много. Я пробовал несколько постепенно уменьшающихся значений, пока не нашел то, которое мне подходит. В этом случае он работает с резистором на 48 Ом (именно так он отображается на моем омметре). Вам следует начать с 220 Ом и уменьшать его только в том случае, если ЖК-дисплей недостаточно яркий.

Потенциометр используется для регулировки контрастности на ЖК-дисплее, поэтому вам может потребоваться небольшая отвертка, чтобы повернуть внутреннее гнездо в положение, которое лучше всего подходит для вас.

Шаг 4: Эскиз Arduino

Эскиз Arduino
Эскиз Arduino
Эскиз Arduino
Эскиз Arduino

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

Самая интересная часть этого наброска для меня вращается вокруг ультразвукового датчика. HC-SR04 очень недорогой (менее 1 доллара США или канадских долларов на Ali Express). Это также довольно точно для проекта такого типа.

На датчике есть 2 круглых «глаза», но у каждого из них свое назначение. Один из них - излучатель звука, другой - приемник. Когда вывод TRIG установлен на HIGH, посылается импульс. Вывод ECHO возвращает значение в миллисекундах, которое представляет собой общую задержку между отправкой импульса и его получением. В скрипте есть несколько простых формул, помогающих преобразовать миллисекунды в сантиметры или дюймы. Помните, что возвращаемое время необходимо сократить вдвое, потому что импульс идет ДО объекта, а затем ВОЗВРАЩАЕТСЯ, преодолевая расстояние дважды.

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

ПРИМЕЧАНИЕ. Скорость звука не постоянна. Он варьируется в зависимости от температуры и давления. Очень интересным дополнением к этому проекту было бы добавление датчика температуры и давления для компенсации «дрейфа». Я привел несколько образцов для альтернативных температур в качестве отправной точки, если вы хотите сделать следующий шаг!

Источник в Интернете, который потратил много времени на изучение этих датчиков, придумал эти значения. Я рекомендую канал Андреаса Списсса на YouTube для просмотра множества интересных видео. Я взял эти значения из одного из них.

// 340 М / сек - это скорость звука при 15 градусах Цельсия (0,034 см / сек) // 331,5 М / сек - скорость звука при 0 градусах Цельсия (0,0331,5 см / сек)

// 343 М / сек - скорость звука при 20 градусах Цельсия (0,0343 см / сек)

// 346 М / сек - скорость звука при 25 градусах Цельсия (0,0346 см / сек)

ЖК-дисплей представляет собой небольшую проблему только потому, что для управления им требуется очень много контактов (6!). Плюс в том, что эта базовая версия ЖК-дисплея очень недорогая. Я легко могу найти его на Aliexpress менее чем за 2 канадских доллара.

К счастью, как только вы его подключите, управлять им очень просто. Вы очищаете его, затем устанавливаете, где вы хотите вывести текст, затем запускаете серию команд LCD. PRINT, чтобы вывести текст и числа на экран. Я нашел отличный учебник по этому поводу от Васко Ферраца на vascoferraz.com. Я изменил его расположение выводов, чтобы сделать его более понятным для новичков (таких, как я!).

Шаг 5: Заключение

Я не претендую на звание инженера-электрика или профессионального программиста (изначально я научился программировать еще в 1970-х!). Из-за этого я считаю, что все пространство Arduino очень раскрепощает. Я, обладая лишь базовыми знаниями, могу начать значимые эксперименты. Создавая вещи, которые действительно работают и демонстрируют достаточную практическую полезность, даже моя жена говорит: «Круто!».

Как и все мы, я использую ресурсы, доступные мне в Интернете, чтобы узнать, как что-то делать, а затем связываю их вместе, чтобы, надеюсь, сделать что-то полезное. Я приложил все усилия, чтобы указать на эти источники в этой библии и в моем очерке.

Попутно я верю, что могу помочь другим, которые тоже начинают свое познавательное путешествие. Я надеюсь, что вы сочтете это полезным руководством, и приветствую любые комментарии или вопросы, которые могут у вас возникнуть.

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