Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В настоящее время производители и разработчики предпочитают Arduino для быстрой разработки прототипов проектов. Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. У Arduino очень хорошее сообщество пользователей. В этом проекте мы увидим, как определять температуру объекта и расстояние до него. Объект может быть любого типа, например, горячая банка или настоящая холодная стена из кубика льда снаружи. Итак, с помощью этой системы мы можем спасти себя. И что еще более важно, это может быть полезно для людей с ограниченными возможностями (слепых).
Шаг 1: Компоненты
Для этого проекта нам понадобятся следующие компоненты:
1. Arduino Nano
2. MLX90614 (ИК датчик температуры)
3. HCSR04 (ультразвуковой датчик)
4,16x2 ЖК-дисплей
5. макетная плата
6. несколько проводов
Мы можем использовать любую плату Arduino вместо Arduino nano, учитывая отображение контактов.
Шаг 2: Подробнее о MLX90614:
MLX90614 - это ИК-датчик температуры на базе i2c, работающий на обнаружении теплового излучения.
Внутри MLX90614 представляет собой пару двух устройств: инфракрасного детектора на термоэлементах и прикладного процессора для формирования сигнала. Согласно закону Стефана-Больцмана, любой объект, который не ниже абсолютного нуля (0 ° K), излучает (не видимый человеческим глазом) свет в инфракрасном спектре, который прямо пропорционален его температуре. Специальная инфракрасная термобатарея внутри MLX90614 определяет, сколько инфракрасной энергии излучается материалами в ее поле зрения, и выдает электрический сигнал, пропорциональный этому. Это напряжение, создаваемое термобатареей, снимается 17-разрядным АЦП прикладного процессора, затем кондиционируется перед передачей на микроконтроллер.
Шаг 3: Подробнее о модуле HCSR04:
В ультразвуковом модуле HCSR04 мы должны подавать импульс запуска на контакт запуска, чтобы он генерировал ультразвук с частотой 40 кГц. После генерации ультразвука, то есть 8 импульсов по 40 кГц, он делает вывод эха высоким. Вывод эха остается высоким до тех пор, пока не перестанет возвращать звук эха.
Таким образом, ширина эхо-булавки будет временем, когда звук дойдет до объекта и вернется обратно. Как только мы узнаем время, мы сможем вычислить расстояние, так как мы знаем скорость звука. HC-SR04 может измерять в диапазоне от 2 см до 400 см. Ультразвуковой модуль будет генерировать ультразвуковые волны, превышающие диапазон частот, обнаруживаемый человеком, обычно выше 20 000 Гц. В нашем случае мы будем передавать частоту 40 кГц.
Шаг 4: Подробнее о ЖК-дисплее 16x2:
ЖК-дисплей 16x2 - это 16-символьный и 2-строчный ЖК-дисплей, который имеет 16 контактов для подключения. Этот ЖК-дисплей требует для отображения данных или текста в формате ASCII. Первая строка начинается с 0x80, а вторая строка начинается с адреса 0xC0. ЖК-дисплей может работать в 4-битном или 8-битном режиме. В 4-битном режиме данные / команда отправляются в формате полубайта: сначала старший полубайт, а затем меньший полубайт.
Например, чтобы отправить 0x45, будут отправлены первые 4, затем будет отправлено 5.
Есть 3 управляющих контакта: RS, RW, E.
Как использовать RS:
Когда команда отправлена, тогда RS = 0
При отправке данных RS = 1
Как использовать RW:
Вывод RW предназначен для чтения / записи.
где RW = 0 означает запись данных на ЖК-дисплей.
RW = 1 означает чтение данных с ЖК-дисплея.
Когда мы пишем на ЖК-дисплей команду / данные, мы устанавливаем контакт как LOW.
Когда мы читаем с ЖК-дисплея, мы устанавливаем штифт как ВЫСОКИЙ.
В нашем случае мы жестко установили его на НИЗКИЙ уровень, потому что мы всегда будем писать на ЖК-дисплей.
Как использовать E (Включить):
Когда мы отправляем данные на ЖК-дисплей, мы подаем импульс на ЖК-дисплей с помощью контакта E.
Это высокоуровневый поток, которому мы должны следовать при отправке КОМАНД / ДАННЫХ на ЖК-дисплей.
Ниже приводится последовательность действий.
Высший клев
Включить Pulse, Правильное значение RS, основанное на КОМАНДЕ / ДАННЫХ
Нижний полубайт
Включить Pulse, Правильное значение RS, основанное на КОМАНДЕ / ДАННЫХ
Шаг 5. Дополнительные изображения
Шаг 6: Код
Пожалуйста, найдите код на github:
github.com/stechiez/Arduino.git