|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Новичок
Регистрация: 02.08.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 0
|
![]() Собрал схему терморегулятора оборотов кулера на LM35. Температура скачет невообразимо от 0 до 150 гр - 5 раз в сек. Ссылки не дает вставить видео как он себя ведет. 5 датчиков и у всех одинаковая проблема. PS. прошивки пробовал и другие, проблема не изменилась. |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Очень важно почитать схожие темы, возможно, что там уже есть нужный вам ответ ПРОФИ подскажите в чем может быть проблема Подскажите что может быть Компьютер,часто выдаёт ошибку,подскажите в чём может быть проблема Подскажите, в чем может быть проблема? Подскажите в чём может быть причина |
![]() |
#3 (permalink) |
Новичок
Регистрация: 02.08.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 0
|
![]()
То есть схема? плюс на левую ногу датчика, минус на правую, средняя на A1 в ардуину.
Нет, 5 датчиков по очереди, они не цифровые, по одной шине данных не работают ( к сажалению)). |
![]() |
![]() |
![]() |
#4 (permalink) |
Member
Регистрация: 02.02.2012
Сообщений: 365
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 4944
|
![]()
Попробуйте так
Код:
#include <Wire.h> #include <LiquidCrystal.h> #define tempPin A1 // the output pin of LM35 #define fan 11 // the pin where fan is #define led 8 // led pin #define tempMin 30 // the temperature to start the fan #define tempMax 70 // the maximum temperature when fan is at 100% #define updatePeriod 500 LiquidCrystal lcd(7,6,5,4,3,2); unsigned long lastUpdateTickCount = 0; void setup() { pinMode(fan, OUTPUT); pinMode(led, OUTPUT); pinMode(tempPin, INPUT); lcd.begin(16,2); } void loop() { if (lastUpdateTickCount + updatePeriod < millis()) { byte fanSpeed, fanLCD; int temp = analogRead(tempPin) * 0.48828125; if (temp > tempMin) { fanSpeed = map(temp, tempMin, max(tempMax, temp), 32, 255); analogWrite(fan, fanSpeed); } else digitalWrite(fan, LOW); digitalWrite(led, (temp > tempMax) ? HIGH : LOW); fanLCD = map(temp, tempMin, max(tempMax, temp), 0, 100); lcd.print("TEMP: " + String(temp) + "C "); lcd.setCursor(0,1); lcd.print("FANS: " + String(fanLCD) + "% "); lastUpdateTickCount = millis(); } } Может датчики нерабочие? Надо бы тестером проверить напругу на выходе. |
![]() |
![]() |
![]() |
#5 (permalink) |
Новичок
Регистрация: 02.08.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 0
|
![]()
Подскажите, как их проверить?
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#6 (permalink) |
Member
Регистрация: 02.02.2012
Сообщений: 365
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 4944
|
![]()
Запитать от 5 В и померить тестером напряжение на выходе относительно минуса на минимальном пределе измерений. Оно должно меняться с расчетом 10 мВ на градус, нагреть и остудить датчик проблем не составит.
|
![]() |
![]() |
![]() |
#7 (permalink) |
Новичок
Регистрация: 02.08.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 0
|
![]()
В общем плюнул я на эти лм35 и сделал на ds18b20
подскажите, достаточно ли добавить библиотеку и изменить тип датчика в коде или надо все переделывать под этот датчик? нужный функционал готовых решений найти не смог с использованием этого датчика.(( |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|