Датчик температуры Ардуино

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

Как мы должны написать код или где мы можем найти код, который будет работать для этой цели?

На данный момент мы оба очень поверхностно разбираемся в коде, однако из-за нехватки времени его изучение затруднено.

, 👍-1

Обсуждение

Пожалуйста, покажите нам код, который вы написали до сих пор., @VE7JRO

В чем причина вашего ограничения по времени? Это школьный проект? Это для КС? Какие ресурсы у вас есть для класса? Вы понимаете, как настроить аппаратное обеспечение, и вам просто нужна помощь с программным обеспечением? Каков ваш фон?, @Duncan C


1 ответ


1

Этот форум не подходит для подробных решений неясных проблем. Если у вас нет большого опыта в программировании, вам придется во многом разобраться. Это займет у вас некоторое время (на самом деле, возможно, пару недель, если вы работаете над этим каждый день и умеете это делать, при условии, что вы начинаете с нуля).

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

Допустим, вы хотите:

Temp <10°C light Blue LED
Temp 10°C - 30°C light green LED
temp >30°C light red LED.

Разбейте проблему на мелкие кусочки и решайте их по очереди.

Выберите модель Arduino. Установите IDE. Запустите скетч, который будет мигать встроенным светодиодом. Затем выполните поиск в Google «Arduino Blink без задержки» и перепишите код мигания, чтобы не использовать функцию delay(). Забудьте о существовании функции delay() и никогда не используйте ее снова, так как обычно она будет мешать вашим действиям.

Затем придумайте, как подключить отдельные светодиоды (включая токоограничивающие резисторы) к трем отдельным контактам. Заставьте ваш код мигать всеми тремя светодиодами одновременно, переключая выходные состояния соответствующих контактов.

Измените приложение, чтобы сначала мигал один светодиод, затем второй и третий. Теперь потрудитесь и измените свое приложение так, чтобы первый светодиод включался и выключался раз в секунду, следующий светодиод — раз в 1/3 секунды, а четвертый — чтобы он мигал раз в 1/4 секунды, и все это одновременно. (Это заставит вас действительно понять, как правильно определять время без промедления.)

Теперь найдите пример проекта, в котором используется датчик температуры. (Попробуйте это, которое я нашел, например) Запустите это и заставьте его отправлять temp на ваш последовательный порт каждые несколько секунд. (опять же без использования delay().)

Теперь напишите цикл, который считывает датчик температуры, определяет, в каком диапазоне находится температура, и зажигает соответствующий светодиод на основе этих диапазонов. Обратите внимание, что вы можете считывать температуру только каждые 2 секунды или около того (датчики температуры DHT22 и DHT11, которые я использовал, имеют это ограничение).

,