Высокоточный термометр на основе arduino

≈ 2 мин чтения

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

Поделюсь сборкой цифрового термометра на основе ардуино.

Для проекта требуется сам модуль ардуино, программа прошивки (обо всем этом я говорил в первой статье), дисплей LCD 16×2  (шел в комплекте), датчик температуры LM35  (тоже шел в комплекте), переменный резистор на 10кОм, макетная плата и контакты – никакого паяльника. 



Заливаем скетч (прошивка) через программу в наш мегачип (в моем случае ATmega328) и собираем схему 


#include <LiquidCrystal.h> // IПодключение библиотеки для работы с LCD display

#define sensor 0 // Присваиваем имя “sensor” выврлу Arduino A0

int Vin; // в этой переменной сохраняется значение входного напряжения на входе Arduino

float Temperature; // В этой переменной хранится рассчитанное значение текущей температуры

float TF; // Значение температуры, преобразованное из Цельсия ?C в Фаренгейт ?F (в нашей программе не используется, но может быть полезно для дальнейшей модификации)

LiquidCrystal lcd (12, 11, 5, 4, 3, 2); 

/* Данная функция лроежеляет номера портов Arduino, которые будут управлять работой LCDдисплея */

void setup()

{

lcd.begin(16, 2); // Arduino настраивается на конфигурацию дисплея 16×2 символов

lcd.print(“Temperature: “); // Вывод строки заголовка на экран дисплея

}

void loop()

{

Vin = analogRead (sensor); /* Arduino измеряет напряжение на входе порта датчика и сохраняет его в переменной “Vin” */

Temperature=(500*Vin)/1023; /* Преобразование значения напряжения в температуру и сохранение в переменной 
“Temperature” в градусах Цельсия ?C */

// TF = ((9*Temperature)/5)+32; // Преобразование градусов Цельсия ?C в Фаренгейт ?F – закомментировано, в программе не используется

lcd.setCursor(0, 1); // Перевести курсор дисплея в начало второй строки

lcd.print(Temperature); // Выврд на экран значения температуры

lcd.print(” C”); // Вывод символа “C” для обозначения шкалы Цельсия

delay(1000); // Ждать 1 секунду, после чего произвести следующее измерение температуры
}
 

Подключение очень простое, справиться любой.
Ну вот и все, можно такой “градусник” использовать везде – прилепите датчик температуры к радиатору автомобиля, и всегда сможете узнать до какого уровня нагрелась вода в нем, область применения довольно широка, сам термометр высокоточный и реагирует на малейшие перепады, максимальный верхний диапазон измерений 150гр по шкале Цельсия. 




Автор;  АКА КАСЬЯН