Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Ультразвуковой дальномер HC-SR04.




Ультразвуковой дальномер HC-SR04.

Ультразвуковой дальномер модуль HC-SR04 — это приемник и передатчик ультразвукового сигнала. Принцип действия HC-SR04 основан на явлении эхолокации. Излучатель посылает акустический сигнал, который затем, возвращается к приемнику. Зная скорость распространения ультразвука в воздухе λ = с/f, гдес – скорость распространения волны в данной среде; а f – частота колебаний, и время запаздывания между излученным и принятым сигналом, можно рассчитать расстояние до преграды акустическому сигналу. Расстояние вычисляется умножением скорости на время (то есть скорости распространения звуковой волны V, на время ожидания эха Т ). В нашем случае результат делим на 2:

L = V * Т / 2, где L – расстояние (м); V – скорость звука в воздухе (м/с); Т – время ожидания эха (с). Для распространения волны в воздухе получим:

L ≈ Т √ (t+273, 15) / 1000, где L – расстояние (см), Т – время ожидания эха (мкс), t – температура воздуха (°C).

Допустим. Импульс t=10 мкс, f=40кГц, получим L (см) = t (мкс)/58.

 

На ультразвуковой датчик HC-SR04 не влияют источники света или возможный цвет препятствия. Ниже на рис. приведен пример применения датчика.

Рис.

Данный датчик представлен на рис.

Рис. Ультразвуковой дальномер HC-SR04 (VCC — питание +5 В; Trig (T) — вывод входного сигнала; Echo (R) — вывод выходного сигнала; GND — земля).

Технические характеристики ультразвукового дальномера HC-SR04.

Дальность от 2 см до 5 метров, погрешность 3 мм, эффективный рабочий угол — < 15 °; ширина импульса триггера t=10 мкс; угол измерений: 30 °;

Ниже приведена схема подключения датчика к Ардуино.

 

Рис. схема подключения датчика к Ардуино.

 

Датчик газа MQ N

N=

3 – сенсор паров алкоголя;

4 – сенсор для обнаружения метана, пропана;

5 и 6 – предназначены для обнаружения пропана, бутана;

7 – чувствителен к угарному газу;

7 – чувствителен к угарному газу;

Модуль угарного газа MQ7 представлен на рис.

 

Рис. Модуль угарного газа MQ7.

Корпус датчика, состоит из трубки AL2O3 (оксида алюминия) и нанесенного на нее слоя SnO2 (диоксид олова). Аналоговый вывод A0, подключается к аналоговому входу контроллера Arduino. цифровой выход D0 переключается в режим HIGH при превышении порога концентрации угарного газа. Обрабатывает аналоговый сигнал и переводит его в цифровой компаратор на микросхеме LM393 (ток до 15 мА). Подстроечным резистором производится калибровка датчика. На плате имеется два светодиода, один светится при подаче питания, второй горит, при «Вывод DO = логический «0», при превышении порога включения. На рис. изображена схема подключения датчика к Ардуино.

 

Рис. схема подключения датчика к Ардуино.

Загрузка и установка Arduino IDE

 

Зайдите на официальный сайт Arduino https: //www. arduino. cc/en/Main/Software и загрузите последнюю версию Arduino IDE

Рис. 4. Страница загрузки среды программирования контроллера

После завершения загрузки разархивируйте загруженный файл. В папке вы найдете Arduino IDE. Новые версии IDE для Windows доступны в форме установщика, который инсталлирует программную среду Arduino автоматически. Подключите Arduino к компьютеру с помощью кабеля USB, как изображено на Рисунок 75 Компьютеры с операционной системой Мае и Linux установят драйверы автоматически.

Рис. 5 – Соединение Arduino Uno с компьютером с помощью USB-кабеля

Запускаем среду

1. в меню опцию Tools -> Board (Сервис -> Плата) и выбираем из списка плату Arduino. Мы используем Arduino Uno,

2. Переходим к опции Tools -> Serial Port (Сервис -> Последовательный порт) и выбираем последовательный порт. На компьютерах с Windows это будет СОМ*, где * — некоторое число, соответствующее номеру последовательного порта.

Коды программы, написанные пользователем для Arduino, называются скетчи — транслитерация от англ. sketch) и имеют расширение *. ino. Пользователю необходимо вставить две обязательные для Arduino функции setup() и loop(), которые вызываются соответственно однократно при старте, и выполняются в бесконечном цикле. В коде программы обязательно надо указывать пользовательские библиотеки, которые добавляются в папку в рабочем каталоге IDE. Функцию main() необходимую в C++ контроллер создает самостоятельно.

Пояснения к интерфейсу Arduino IDE.

1 Проверить/Компилировать программу

2 Загрузить программу в Arduino

3 Создать новую программу

4 Открыть существующую программу

5 Сохранить программу

6 Монитор последовательного порта

Вкладки

Каждая программа для Arduino может состоять из нескольких файлов. Для переключения между

этими файлами служит система вкладок в редакторе. Там же, можно создать новую вкладку, и

ассоциировать с ней файл в папке с проектом.

 Окно программы

Непосредственно, текст программы создается и редактируется в главном окне редактора. По сути,

окно редактора представляет собой типичный текстовый редактор, с подсветкой конструкций кода.

 Окно уведомлений

В самом низу редактора Arduino IDE имеется небольшое окно, служащее для вывода уведомлений

об ошибках, возникающих в процессе компиляции программы, или во время загрузки программы в микроконтроллер.

 

Для каждого подключаемого к контроллеру устройства имеются готовые примеры, которые можно найти File -> Examples -> Basic и выбираем программу Blink.

Рис. 6 –Структура программы Blink

Цифрами на Рис. 6 обозначено следующее:

 1 — многострочный комментарий. Комментарии важны для пояснения кода программы. Все, что написано между этими символами, не будет обрабатываться компилятором. Многострочные комментарии начинаются с /* и заканчиваются */. Многострочные комментарии удобны, когда текст пояснения большой, например, описание программы.

 2 — однострочный комментарий. Если поместить //на любую строку, компилятор проигнорирует весь текст строки после этого символа. Однострочный комментарий обычно поясняет определенную строку кода.

 3 — код объявления переменной. Переменная — это ячейка памяти, содержащая информацию. Существуют переменные различных типов.

На первом этапе нашей работы мы широко будем применять следующие типы

int   Целочисленный тип данных. Занимает 2 байта и может хранить значения от -32 768 до 32767.  
boolean Может принимать одно из двух состояний — true или false Истина или ложь
char   Символы. Единичные символы выделяются в одинарные кавычки, например 'A'. Для объявления многобуквенных символьных переменных используются дойные кавычки «ABC». Символы хранятся в виде числа, соответсвующего по таблице ASCII определенному символу. Это значит, что с символьными переменнымии можно совершать арифметические операции. Таким образом 'A'+1 имеет значение 66, когда символу A по ASCII соответсвует 65. Тип данных char кодирует в диапазоне от -128 до 127
float Числа с плавающей точкой имеют гораздо большее разрешение чем целочисленные переменные. Такие числа могут быть величиной до 3. 4028235E+38 от -3. 4028235E+38.
   
   

 

В работе указана переменная типа int, что означает целое число. Целочисленной переменной led присвоено значение 13 — номер цифрового контакта, к которому подключен светодиод на плате Arduino.

Рис. 7 –карта выводов платы контроллера

Digital – цифровые выходы принимают значения 0 или +5В

Analog – аналоговые выходы могут принимать различные значения используются для различных датчиков

Power – питание GND (-) +5V используется для питания датчиков

Serial – используется для обмена данными с другой Ардуино или других устройств обмена данными.

Затем в остальной части кода программы можно использовать переменную led, когда мы хотим управлять контактом 13. Переменные в данном случае удобны, потому что при необходимости поменять контакт ввода-вывода достаточно изменить только одну строку, а остальная часть программного кода не изменится.

4 — функция setup (), одна из двух функций, которые должны быть включены в каждую программу Arduino. Функция — это фрагмент кода, выполняющий определенную задачу. Код в теле функции setup () выполняется один раз в начале программы. Это полезно для установки начальных параметров настройки, назначения режимов портов ввода-вывода, инициализации коммуникационных интерфейсов и т. д.

5 — цифровые контакты Arduino могут быть запрограммированы на ввод или вывод. Сконфигурировать их направление позволяет команда pinMode (), имеющая два параметра, указанных в круглых скобках. Первый параметр pinMode определяет номер контакта. Поскольку переменная led уже назначена ранее в программе, конфигурация задается для контакта 13. Второй параметр устанавливает направление контакта: input (вход) или output (выход). По умолчанию все контакты настроены на ввод. Чтобы сконфигурировать их на вывод, следует явно указать значение этого параметра output. Поскольку нам нужно управлять светодиодом, контакт 13 должен быть выходом. Настройка конфигурации контакта сохраняется до тех пор, пока вы не измените его назначение на ввод.

6 — вторая обязательная функция во всех программах Arduino — loop (). Это оператор цикла.

7— функция digitaiwrite () устанавливает состояние выходного контакта: 5 или О В. Если светодиод подсоединен к контакту через резистор, то установка значения логической " 1" позволит зажечь светодиод. Первый параметр функции digitaiwrite () — номер контакта, которым требуется управлять. Второй параметр— значение, которое нужно задать: high (5 В) или low (О В). Контакт остается в этом состоянии, пока не будет изменен следующей командой digitaiwrite ().

8 — функция delay () имеет один аргумент — время задержки выполнения программы в миллисекундах. При вызове delay () Arduino останавливает выполнение программы на определенный интервал времени. В нашем примере задержка равна 1000 мс (1 с). Это приводит к свечению светодиода в течение одной секунды до выполнения следующей команды.

9 — здесь вызвана функция digitaiwrite (), чтобы выключить светодиод, устанавливая состояние контакта в low.

10— снова делаем задержку на одну секунду, чтобы светодиод был погашен перед повторением цикла.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...