Всем привет, давайте сегодня поработаем с еще одним элементом, который входит в комплект Arduino, это терморезистор.
Он выглядит как небольшая черная спичечная головка, надеюсь Вам видно, я вынес ее специально на отдельную монтажную плату, чтобы не захламлять все существующие подключения.
Обратите внимание, черный это минус мы его берем с основной платы, где находится дисплей, красный у нас это плюс 5 вольт приходит на крайнюю ножку терморезистора, белый провод приходит в ардуино в разъем A0
– нулевой аналоговый разъем и здесь в средней точке подключается между сопротивлением на 10кОм и терморезистором.
Давайте теперь напишем скетч и посмотрим, какие данные будет давать терморезистор на LCD дисплей. Уберём из кода мусор, и пропишем некоторые переменные и константы. Как всегда, если мы работаем с дисплеем, надо подключать библиотеку liquidcrystal
.
Определим, какие контакты у нас используются в LCD, далее объявим константу analogPin
для A0
, объявим магическое число beta
4090, это величина, я так понимаю, снимаемая с терморезистора и объявим переменную Resistance
– сопротивление, это величина 10 кОм которые мы используем.
В подпрограмме setup мы подключаемся к LCD дисплею, указываем, что он у нас две строки по 16 символов, и изначально мы его очищаем.
В цикле loop мы получим данные с аналогового разъёма путем analogRead
из A0
. Затем вставим такую длинную формулу для получения температуры в градусах Цельсия:
мы делим бета на выражение, вычисляем логарифм 1025 умноженное на сопротивление, делённое на значение analogPin минус сопротивление, за скобкой деленное на сопротивление, плюс бета деленное на 298 и минус 273.
Далее более простая формула - получим температуру в системе Фаренгейта, здесь мы умножаем на 1.8 полученную ранее температуру в градусах и прибавляем 32. Так мы получим Фаренгейт.
Теперь мы установим курсор в нулевую позицию на экране, выведем на печать методом print
текст Temp
, как вы помните из прошлых видео, кириллицу этот дисплей не поддерживает, напишем на английском. Далее выводим в этой же строке переменную tempС
, которую получили ранее, весь текст будет в одном ряду, и мы выводим чуть дальше обозначение градусов Цельсия.
Обратите внимание, здесь раз-два-три пробела, чтобы текст отделялся от переменной. Затем мы устанавливаем курсор на вторую строку, для примечания напишу, что это вторая строка. Ну а это у нас первая строка. Установили курсор, вывели на второй строчке Fahr
Фаренгейт и вывели переменную tempF
.
Также обратите внимание, тут присутствует 1 пробел, и мы выходим снова текст обозначающий единицу измерения температуры тут тоже один пробел, чтобы отделиться от этого значения.
И в конце делаем задержку в 200 миллисекунд. Форматируем наш скетч (ctrl+T), уберём лишние строки, всё у нас вроде как помещается. Давайте сохраним скетч на рабочий стол, подключим Arduino и теперь давайте его проверим и загрузим. Выполнили проверку, ошибок нет, зальём код в Arduino и посмотрим, что покажет терморезистор.
Как и ожидалось, показываются градусы по Цельсию и по Фаренгейту, если прижать терморезистор пальцами, то температура на дисплее начнет увеличиваться, но точный градусник из этого вряд ли получится. Хотя если долго держать в руках возможно терморезистор покажет температуру близкую к температуре тела.
Так все это и работает, настроим отображение текста на дисплее, и проверим, как будет видно его в темноте. Вполне различимо и нормально видно.
Помимо простого наблюдения за температурой, немного доработав код скетча, можно выполнять действительно полезное дело. Например, добавив несколько строк кода с условием при температуре между 22 и 28 градусами, на 12 пин подадим напряжение, и включим реле, которое в свою очередь включит вентилятор.
Реле, которые продаются на AliExpress и есть в комплекте к обучающему набору ардуино, вполне смогут коммутировать не только вентилятор, так как максимальный ток указан 10 ампер. Но работу с реле рассмотрим в следующий раз, так что впереди много чего интересного.
Смотрите видео: Подключаем терморезистор к arduino, получим температуру в градусах по Цельсию и по Фаренгейту
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
Связанные статьи
Новые статьи
Предыдущие статьи
- Как подключить дисплей LCD1602 к Arduino - 23/02/2019 19:35
- Как подключить сервомотор к Arduino - 23/02/2019 19:12
- Подключение RGB светодиода к Arduino - 12/01/2019 15:25
- Фоторезистор и светодиоды на Arduino - 12/01/2019 11:38
- Играем ноты на пищалке с Arduino - 12/01/2019 10:34
- Вынос мозга!!! АЦКИЙ BUZZER - омерзительная пищалка на Arduino Uno - 12/01/2019 09:55
- Новогодняя мини гирлянда в Arduino UNO. Как сделать мини гирлянду в Arduino UNO на светодиодах. - 12/01/2019 08:40
- Скетч - выключатель, светодиод и кнопка в Arduino UNO - 12/01/2019 08:15
- Включение светодиода через кнопку в Arduino UNO - 16/12/2018 04:55
- Управление светодиодом в Arduino UNO - 14/12/2018 18:24
- Установка среды разработки для Arduino UNO и пример программы - 14/12/2018 17:49