Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Всем привет! Мы - студенты Университета Тун Хусейн Онн Малайзия (UTHM), выполняющие проект, демонстрирующий, как мы можем моделировать датчик температуры, ЖК-дисплей и Arduino с помощью Tinkercad в рамках нашей учебной программы для UQD0801 (Robocon 1) (Группа 7).
Датчики температуры и ЖК-дисплей могут служить простым механизмом в различных ситуациях, таких как мониторинг температуры в помещении и даже мониторинг растений или любого другого места, где температура является важным элементом!
Шаг 1: Список необходимых компонентов
Для этого проекта требуются компоненты, которые очень легко приобрести на рынке.
Список компонентов:
1. Arduino Uno R3 (1)
2. Датчик температуры (TMP36) (1)
3. ЖК-дисплей 16x2 (1)
4. Потенциометр 250 кОм (1)
5. Резистор 220 Ом (1)
Шаг 2: подключение схемы в Tinkercad
Tinkercad предоставляет готовые схемы, которые могут помочь пользователям не усложнять схемы, создавая их с нуля.
В схеме схемы мы можем найти ЖК-дисплей, который покажет, что существует схема стартера, которая имеет предварительно подключенную схему между Arduino и ЖК-дисплеем.
Шаг 3: Датчик температуры TMP36
В Tinkercad доступен только один датчик температуры - TMP36.
TMP36 не имеет термочувствительного резистора. Вместо этого этот датчик использует свойство диодов; когда диод изменяет температуру, напряжение изменяется вместе с ним с известной скоростью. Датчик измеряет небольшое изменение и на его основе выдает аналоговое напряжение от 0 до 1,75 В постоянного тока. Чтобы получить температуру, нам нужно измерить выходной сигнал и выполнить некоторые вычисления, чтобы преобразовать его в градусы Цельсия.
Шаг 4: Подключите TMP36 к Arduino
TMP36 имеет 3 контакта, которые можно легко определить по плоской стороне датчика.
Первый вывод - это вывод + 5V, который будет подключен к источнику питания.
Второй вывод - это Vout, который будет подключен к выводу аналогового входа (может быть A0-A5). Мы использовали A0 для этого проекта.
Третий контакт - это контакт GND, который будет подключен к земле Arduino.
Шаг 5: Давайте займемся программированием
Первоначально это будет код в редакторе кода, который находится в Tinkercad.
Это связано с тем, что мы использовали стартовую схему от Tinkercad, загружая вместе с ней ее код, чтобы новые пользователи могли исследовать и моделировать вывод.
Мы можем удалить все это и разработать наш код.
Для любого кода Arduino, который мы собираемся разработать, нам необходимо убедиться, что библиотеки, связанные с проектом, включены.
Что в данном случае нам потребуются две библиотеки; -Библиотека для LCD (LiquidCrystal.h)
-Библиотека для последовательной связи (SoftwareSerial.h)
Обе эти библиотеки присутствуют в Tinkercad, что означает, что нет необходимости загружать какую-либо библиотеку из внешних источников.
Следовательно; первые строки кода
#включают
#включают
Шаг 6: остальная часть кода
// включаем код библиотеки: #include
#включают
ЖК-дисплей LiquidCrystal (12, 11, 5, 4, 3, 2); // подключение контактов rs, en, d4, d5, d6, d7 к Arduino на контакте 12 11 5 4 3 2
int celsius; // объявляем функцию celsius как целое число
установка void ()
{
Serial.begin (9600); // устанавливаем скорость передачи 9600 бит в секунду
lcd.begin (16, 2); // Размер ЖК-дисплея 16x2 // Вывод сообщения на ЖК-дисплей.
lcd.print («Отображение температуры»);
Serial.println («Отображение температуры»); // выводим сообщение на серийный монитор}
пустой цикл ()
{
celsius = map (((analogRead (A0) - 20) * 3.04), 0, 1023, -40, 125); // отображение для получения температуры математически. Значение 0 = -40 градусов и 1023 = 125 градусов
lcd.setCursor (0, 0); // курсор установлен на первый пиксель ЖК-дисплея.
lcd.print («Отображение температуры»); // выводим сообщение на ЖК-дисплей
lcd.setCursor (0, 1); // курсор установлен на первый пиксель второй строки
lcd.print (по Цельсию); // выводит результат аналогового считывания на ЖК-дисплей в градусах Цельсия в 0, 1
lcd.print ("C"); // выводим алфавит "c"
Serial.println (по Цельсию); // вывод отображается в последовательном мониторе
задержка (1000); // чтение обновляется каждую секунду
lcd.clear (); // очищает ЖК-дисплей
}