ПОДКЛЮЧАЕМ ДАТЧИК ТЕМПЕРАТУРЫ К ARDUINO [Уроки Ардуино #12 ]
HTML-код
- Опубликовано: 26 мар 2016
- Товары из Китая Радиолюбителю: ali_radio
____________________________________
В уроке использовались следующие компоненты:
1) Плата Arduino Uno + USB-кабель: ali.pub/q0tku
2) Breadboard (макетная плата): ali.pub/ned59
3) Перемычки, 40 шт:
4) Датчик температуры LM35: ali.pub/cr1p2
СКИДКА 7% НА ВСЕ ТОВАРЫ Али Экспресс goo.gl/qtKp2L
В следующих уроках вам может потребоваться:
Набор Aurdino для начинающих: ali.pub/uftro
37 датчиков для Ардуино: ali.pub/pimnt
______________________________________
Группа в ВК: goo.gl/pE36V9
Реклама на канале: goo.gl/r9jM6p
Почта (для сотрудничества): daymon911@mail.ru
В этом выпуске вы узнаете: как подключить датчик температуры к ардуино; где можно дешево купить датчик температуры; как сделать устройство на ардуино для измерения температуры (ds18b20 ). Данная схема хорошо подойдёт arduino для начинающих.
Смотрите наши видео, в которых мы простым языком рассказываем о радиотехнике, электронике и радиоэлектронике!
Наши уроки будут особенно полезны для начинающих радиолюбителей и студентов радиотехнических ВУЗов.
В видеороликах мы даём основы электроники: определения, описания, схемы и принцип работы различных элементов радиотехники.
В наших видео вы узнаете: что такое транзистор, диод, конденсатор, резистор, микросхема, электрический ток и много других разных интересных вещей и явлений, связанных с электроникой. - Наука
int TEMP = 0;void setup() {
Serial.begin(9600);
}void loop() {
int reading = analogRead(0);
float voltage = reading * 5.0;
voltage /= 1024.0;
Serial.print(voltage); Serial.println(" volts");
float temperatureC = voltage * 100;
Serial.print (temperatureC); Serial.println(" degrees C");
delay(1000);
}
Спасибо!
Спасбо
прочитал коментарий когда сам написал(
Спасибо!
афигеть спасибо я подписался
Всем привет! У кого неправильно работает (показания постоянно прыгают, то ноль показывает, то норм значение) - надо "подтянуть" аналоговый вход к 5 вольтам резистором 4.7 кОм или 10 кОм. Другими словами, установить резистор между ногами +5v и выходом термодатчика (левая и средняя ножки). Есть еще вариант (если не хочется возиться с резистором) - "подтянуть" аналоговый вход А0 к +5 вольтам программно - просто добавить строчку pinMode(A0,INPUT_PULLUP); в функцию setup сразу после строчки Serial.begin(9600);
Надеюсь кому-нибудь помог.
а что делать если показывает температуру завышенную?
0.73 volts
72.75 degrees C
вольтаж постоянный
вот код
int TEMP = 0;
void setup() {
Serial.begin(9600);
pinMode(A0,INPUT_PULLUP);
}
void loop() {
int reading = analogRead(0);
float voltage = reading * 5.0;
voltage /= 1024.0;
Serial.print(voltage); Serial.println(" volts");
float temperatureC = voltage * 100;
Serial.print (temperatureC); Serial.println(" degrees C");
delay(1000);
}
Подключал как в видео
@@pro.game. не смогу уже ответить, так давно было. А заново разбираться уже не хочу, извините)
@@v0r0bey ладно, попробую сам решить
Идея! Было бы здорово поставить К датчику температуры, светодиод RGB и в зависимости от температуры менять цвет свечения. Например при перегреве процессора Красный свет, при средней прогретости жёлтый или оранжевый. При штатной температуре зелёный, например. И задать плавность переходов от одного цвета к другому. На некоторых подсветках материнок такая функция встроена по умолчанию. Было бы интересно посмотреть на реализацию)). Спасибо! Сори, если такое уже было, значит я ещё не досмотрел
дорого богато
Код стоит рассматривать подробнее. Не совсем понятна сама его структура
а почему у меня показывает значения под 200???
и сразу показуеться температуре а а потом пишуться нули, что делать?
Спасибо за видео.Но скетч написан с ошибкой.Куда делась переменная int TEMP
Хотел замутить ... с датчиком температуры, раздвинул ноги и - ура!
Спасибо, что пояснил, что в каждой строчке работает и почему! Так понятно стало...
Отличный урок, спасибо большое! Лайк за урок и за чистку компьютера))
Спасибо большое за урок!)
Отличное видео,спасибо автору.Хотелось бы увидеть схему подключения двухстрочного дисплея к датчику температуры
Привет, отличное видео. Конечно еще бы подключить табло для отображения температуры.
Есть полезная функция map(value, fromLow, fromHigh, toLow, toHigh), она преобразует значение из одного диапазона в значение другого диапазона.
Например нужно преобразовать диапазон от 0 до 1023 в -50 до 50 то первым параметром передаём значение которое нужно преобразовать( в этом случае от 0 до 1023) примерно так map(100, 0, 1023, -50, 50)
Хотелось бы как-нибудь усложнить тему, типа вывода на LCD, установка температур и сигнализации о выходе за границы установок, или звуком или какой-нибудь смс на мобилу, ну и тому подобное :):):)
Спасибо автору!
Регулировать вентиляторы компа!
Автоматически и в ручном режиме. в ручном режиме - тихое вращение вентилятора при условии того что при повышение температуры того или иного датчика вентилятор будет раскручен максимально управление с пульта! можно добавить индикатор какой кулер не справляется.
я думаю будет интересно всем кому надоело постоянное жужжание:-)
Спасибо за урок. Очень полезно. Планируется сделать метеостанцию ,есть ар-но "Леонардо", нокиа 3310(использую дисплей из неё). Как вариант семисегментный дисплей есть.Вопрос по этому датчику-его можно использовать только в помещении?
5.00 volts
499.51 degrees C
м...
код и схема правильные, но у меня другой датчик который в прошлом видео показывали синий
Привет. Скачет температура от 0 до 40 градусов... Сперва нули выводит, потом 40... Затем опять до нуля... И так постоянно. Хотелось бы узнать, в чем проблема?
Здравствуйте, как сделать чтоб оот зависимости температуры вращался шаговый двиг? при повышении в одну сторону , при понижениии вдругую сторону, это для управления тягой в котле)
Проблема такая, при выводе температуры в цельсиях получаются какие-то космические значения, подскажите пожалуйста!
int temp = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(0);
float voltage = reading * 5.0;
voltage /= 1024.0;
Serial.print(voltage); Serial.println(" вольт");
float temperaturef = voltage * 100;
int temperatureC = ((float)temperaturef - 32)/ 1.8;
Serial.print(temperatureC); Serial.println(" градусы Цельсия");
delay(2000);
}
1.95 вольт
90 градусы Цельсия
1.66 вольт
74 градусы Цельсия
1.51 вольт
66 градусы Цельсия
1.40 вольт
59 градусы Цельсия
у меня похожая проблема
5.00 volts
499.51 degrees C
скорее всего датчик нужен другой
Можете сделать Контроллер вентилятора для машины, на Oled экране, 4 датчика температуры 1 датчик под вентиляторы с регулировкой температуры включение выключения вентилятора. Так же 3 остальных датчиков температуры регулировка под порог температуры с сигналов об перегреве
А какой командой можно очистить экран монитора?
(Что бы отображалась только текущая температура.)
вместо int TEMP = 0; пишите int sensorPin = 0;
привет! не мог бы снять видео про создание usbнагрузочного регулируемого резистора до 10ампер
"В термисторах при повышении температуры повышается напряжение".. Емнип, единственное что происходит, так это падает сопротивление. Т.е. подключив термистор параллельно с прямым кремниевым диодом, при повышении температуры на термисторе будет почти неизменно напряжение (около 0,7В, столько же сколько и на параллельном диоде), сопротивление будет падать и из-за этого будет расти ток через термистор.
Собственно и так можно говорить, но потом у людей может возникнуть неверное представление, что сопротивление зависит от тока или напряжения, но это не так. Сопротивление в общем случае зависит только от свойств самого проводника и уже оно определяет отношение тока и напряжения.
сделай видос про усилитель сигнала для различных датчиков - на длинных проводах показания теряются
Возможно ли произвести преобразование аналогового сигнала авто датчика температуры охлаждающей жидкости в цифровой? И можно ли сделать это другими АЦП и если да то какими и нужна ли какая то доп программа для работы с ними?
Здравствуйте ваши уроки очень интересны хочу вас попросить сделать урок игру на ЖК дисплее чтото типа пинболь (арконоид)
,или тетрис или на ваше усмотрение
Нужно управлять маломощным шаговым двигателем регулировать подачу газа в зависимости от температуры(от+38 до +41С) с шагом 5 градусов.Можете помочь составить скеч?
включение отопления в подвале гаража в случае падения её ниже 1 градуса , и автоматическое включение освещения взависимости от перемещения человека по этажам гаража.
да датчик хола тоже интересен
Когда делаешь схему то пожалуйста вставляй фотографию схемы сверху или картинку. А то немного иногда не понятно.
Спасибо
у меня значение в районе 200.. если даже предположить что это по фаренгейту то это гдето 90 градусов ) у меня в комнате не так жарко)))
Здравствуйте ! Подскажите как собрать автоматический блок автоматики для автоклава ?
А можно совместить датчик температуры и сервопривод чтоб при нагреве или охлаждении датчика температуры сервопривод вращался в ту или иную сторону?
сделай урок как дислпей к арудинке подключить
Добрый день.
Можете сделать такую схему и снять видео на ардуино, ЖК екране, и 4 безпроводных датчика температуры мне нужно в 1 теплицу по одному датчику а теплиц 4 и штобы вся температура передавалась в дом на ЖК екран.
Реализовал этот урок (Для TMP36) в онлайн AutoDesk Circuits circuits.io/circuits/5132595-
Этот урок + вывод на LCD
circuits.io/circuits/5133504-lcd
---
Спасибо автору за урок.
Привет! Интересное видео.увидел мозоли на ладонях) на турнике занимаешься?
Дрочит много.
БАРОМЕТР ЕЩЕ НАДО ))
Почему то очень сильно прыгает вольтаж и соответственно температура.. это от брака датчика или от брака платы ?
как сделать чтобы в зависимости от установленной температуры шаговый двигатель вращался в одну сторону если температура меньше заданной и в другую если больше заданной?
где в коде используется переменная TEMP?
измерять температуру воды в смесителе и регулировать по нужную, поворачивая кран шаговиком
повышается не напряжение а сопротивление
Данные выводит вообще сам по себе, можно вообще все контакты отсоединить
1.30 volts
130.37 degrees C
Перезагрузил, выдало 40 градусов, потом 38, 35, 33, 27, 3, 0. Потом периодически поднимается.
Датчик LM35, код как в видео.
Такая же фигня
добавь формулу нахождение средней температуры например за 15 мин, с такими же измерениями каждую секунду
А какого у тебя термистор на превью?
а DALLAS DS18B20 подойдет?
а как регулировать скорость включения и выключения светодиода потенциометром ?
Здравствуйте ! Необходимо сделать регулятор температуры в двигателе., На Ардуино т.е. при достижении температуры 87 гр. Вкл. При 70 выкл. И плавно при этом включить вентилятор . Готов оплатить Ваши расходы на время потраченное .
Все бы ничего, только термистор не выдает напряжение. Он сопротивляеся прохождению тока (он сопротивление).
а почему у меня показывает значения под 200???
Возможно у тебя стоит Фаренгейт
@@haonihao4860 ахах, спасибо, но это 4 года назад было😅
@@romamyronenko Всегда рад помочь)
@@haonihao4860 у меня тож и что делать?
Нужно управлять маломощным шаговым двигателем в зависимости от температуры(от+5 до -35С) с шагом 5 градусов
мне тоже надо но от -30 до +100 разность я сам напишу, кто подскажет
скетч нужен но на двухконтакный датчик температуры от автомобиля
написал скеч?
У меня прыгает температура, что это значит?
0.13 volts
13.18 degrees C
0.19 volts
19.04 degrees C
0.18 volts
18.07 degrees C
0.15 volts
14.65 degrees C
Привет, хочу спросить. Что значит sensorPin во второй строчке функции Void loop?
это ошибка там должно было бытьTEMP
Термистор, при повышении температуры, не повышает напряжение, а изменяет свое сопротивление, относительно температуры окружающей его среды.
А на DS18B20? Есть примеры?
А почему не получили распространение датчики ntc?
у меня такой же куллер =)
Интересует автономная запись файлов с данными от датчиков
А у меня идея приставить туда циферблат и будет термометр (ну компьютер запускать не надо)
☦❤🙏
Раздвигаем ноги нашему датчику
подключить дисплей ,сделать самостоятельным термометром
Спасибо большое, а можете это всё вывести на дисплей пожалуйста
Конечно можно проще, есть стандартная функция map, но она не позволяет работать с дробными числами, и эту проблему придется как то решать. Кстати, кто знает - как?
Как подключить 🔌 термистор вместо датчика ?
Ребята подскажите что это у него на фото, маленький черный с двумя контактами на Аватарки где резистор фото
Arduino: 1.8.2 (Windows 7), Плата:"Arduino/Genuino Uno"
C:\Users\Слава\Desktop\скетчи ардуино\sketch_may08a\sketch_may08a.ino: In function 'void loop()':
sketch_may08a:20: error: expected ';' before 'delay'
exit status 1
expected ';' before 'delay'
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
и что мне с этим делать?
в эту схемку надо добавить дисплей что бы измерять температуру без компа
А можно плату ардуино использовать как программатор для атмеги, а потом использовать атмегу отдельно в своей самоделке?
Да только надо будет докупить кварцевый резонатор
guest73 да там у атмеги вроде бы встроенный есть.
+Radiomag есть ,но не стабильный
guest73
ок, спасибо
const int TEMP = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int reading = analogRead(TEMP);
float volt = reading * 5.0;
volt /= 1024.0;
Serial.print(volt); Serial.print("volts
");
float temper = volt*100;
Serial.print(temper);
Serial.print("temperature
");
delay(1000);
}
спасибо этот скетч работает)))
"раздвигаем ноги нашему датчику" , хахахахах.
больше всего интересует ик датчики и приемники
сделай на дачеке темперотуры что бы светодиот светил надеюсь понял
На сколько корректно этим датчиком будет измерять температуру воды, если все хорошо заизолировать?
будет работать, но кривовато(
здравствуйте, код не работает 6 раз тестировал ,
как написать код ,вы мне поможите , спасибо
у меня показывает 76 градусов
Датчик на Фаренгейты,для измерения в цельсиях бери либо датчик на Цельсий,либо внутри программы перегоняй измерения в Фаренгейтах в цельсии
у меня вообще 500
LCD дисплей , пожалуйста
хоть для начинающих но не выставил скетч простои в описаний
у меня 500 градусов он нагрелся так показало он начал плавить макетку а потом оно отключилось и я понял что я две ноги подключил в gnd позже подключил как надо но значения от 100 до 499 что делать?
пытаюсь подключить 3 датчика
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.println(temp);
Blynk.virtualWrite(V1, temp);
float temp 1= sensors.getTempCByIndex(1);
Serial.println(temp1);
Blynk.virtualWrite(V2, temp2);
float temp 2 = sensors.getTempCByIndex(2);
Serial.println(temp2);
Blynk.virtualWrite(V3, temp2);
выдает ошибку exit status 1
expected initializer before numeric constant. где я накосячил?
Привет. У меня задумка есть свой дом доверить ардуине.
Уважаемый автор, можете создать контроллер для управления оборотами вентилятора надува пиролизного котла, чтоби задавать минимальную и максимальную температуру. И минимальные и максимальне обороти вентилятора, при увеличении температуры чтобы снижались обороты вентилятора. А при снижении до40 градусов и температура не поднимается на продолжении 30 мин. Отключать вентилятор вобще.
Может кто-то помог бы ето реализовать? Использовать допустим ds18b20. Pro mini или nano. lcd 1602 несколько кноточек.
Может лучше начать с датчика DS18b20?
это уже цифровой датчик и для него надо 1wire шину поднимать и значения высчитывать хитро, но в принципе под все это написаны уже библиотеки и чтобы просто подключить и работало - он лучший вариант
***** начинать так уж с главного, А то аналоговые довольно не линейны в измерениях.
+Андрей Хмао да, но зато ацп можно изучить :)
+Владислав «vladi5700» Никишов тоже не помешает. будим изучать.
+Андрей Хмао у ds18b20 еще огромный плюс в том, что их можно сколько угодно паралельно на один порт повесить
"sensorPin" пробуйте
а где скетч?
А как пишется скеч если 2 или 3 датчика? Извиняюсь если где то проморгал
а нормально то что датчик очень сильно греется?
и да скетч с ошибками
почему у меня не вышла окно показаний датчика?
Arduino: 1.8.2 (Windows 7), Плата:"Arduino/Genuino Uno"
C:\Users\Слава\Desktop\скетчи ардуино\sketch_may08a\sketch_may08a.ino: In function 'void loop()':
sketch_may08a:14: error: 'sensorPin' was not declared in this scope
sketch_may08a:20: error: expected ';' before 'delay'
exit status 1
'sensorPin' was not declared in this scope
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Здравствуйте! У меня вот такой датчик ru.aliexpress.com/item/DS18B20-Waterproof-Sensor-Digital-thermometer-Thermal-Probe-for-Arduino-TE224/32527182948.html?spm=2114.41010308.4.2.gtNM0q
как его подключить к терморегулятору если у терморегулятора 2 входа а у этого датчика 3 выхода?
Покажи датчик Холла или МаРС
А если подключить датчик холла. Какой код.
3:42 - что подключить? СП? Что это?
Дисплей
пишет ошибку, где sensorPin
Такая же история
+Kirill Biryukov оказывается вместо sensorPin нужно (0) ставить
Можно 0, а можно и TEMP. Мы же в начале объявили, что аналоговый пин0 = TEMP.
Мазоли то на руках от чего такие ? качаешся ? красава !
+Vovka Ivanov Нет, дрочит просто много.
Angular голову мне не делай !
+Vovka Ivanov Странно как ещё волосы на ладонях не выросли
Что делать ,если комп выдает все 5вольт?
Оставь все как есть, зачем еще улучшать ? это идеально !)
или ты считаешь что сделал г... )) ?