Вопрос по переменному сопротивлению
- Войдите на сайт для отправки комментариев
Чт, 30/01/2014 - 14:06
Добрый день!
подскажите пожалуйста можно ли при использовании переменного сопротивления
сделать так,чтобы при изменении мы получали на равных промежутках значения от 0 до 10.
Т.е например 0-100 =0,100-200=1
и при этом не расписывая интервалы как здесь т.е краткий вариант?
if (Hister_znach <= 100 ) { Hister = 0; } else if (Hister_znach <= 200 && Hister_znach > 100) { Hister = 1;} else if (Hister_znach <= 300 && Hister_znach > 200 ) { Hister = 2;} else if (Hister_znach <= 400 && Hister_znach > 300){ Hister = 3;} else if (Hister_znach <= 500 && Hister_znach > 400 ){ Hister = 4;} else if (Hister_znach <= 600 && Hister_znach > 500 ){ Hister = 5;} else if (Hister_znach <= 700 && Hister_znach > 600 ){ Hister = 6;} else if (Hister_znach <= 800 && Hister_znach > 700 ){ Hister = 7;} else if (Hister_znach <= 900 && Hister_znach > 800 ){ Hister = 8;} else if (Hister_znach >= 1000 ){ Hister = 9;}
Также интересует в каких случаях при таком коде с сопротивлением 10КОм значения от 10 до 3 идет нормально,а потом лезут цифры 40,30 ?
Проверка кода без условия т.е чистые показания все равно показывают на нелинейное повышение ближе к нулю.
ну и сопротивление проверено тестером и там линейная зависимость.
Заранее благодарен
Попробуйте так
Спасибо большое.
То,что и искал.
только вот проблема в неправильных значениях осталась.(ближе к нулю появляются значения 40,80,когда лимит от 0-24)
Я с подобными выбрыками тоже сталкивался (шумы и дефекты сборки). Выхода всего два - или перебирать дешёвые потенциометры пока не подберёте нормально работающий вариант или покупать дорогой за 10 - 30 дол. Я для себя выбрал первый.
собираю все пока на макетке.вот думаю может в ней дело.
а потенциометры тестером проверял-нормально работают.
еще раз спасибо
bezzeb, Стоит выложить весь скетч, тогда может будет понятно откуда лишние цифры.
грубо говоря програмные часы +включение нагревателя по датчику+включение света по времени.
Больше грешу на контакт т.к 1 канал безупречно работает,а другие 2-нет(сопротивления менял местами).
bezzeb, может на дисплее не стираются цифры от предыдущих измерений? Перед последним блоком вывода (118строка) дайте строку пробелов для проверки.
lcd.setCursor(0,0); lcd.print (" "); и потом вернуть курсов в начало.
Действительно, все работает.
Большое спасибо