Помогите пожалуйста разобраться.

Всем привет. столкнулся с некоторыми проблемами при работе с Ардуино нано. Конкретно: не работает термодатчик и проблемы с герконом.

На счет термодатчика (DS18B20) проблема в том что в инете нашел 2 схемы подключения:

1. левая нога - земля, средняя аналоговый выход, правая - питание. После подключения с датчика постоянно снимается 4.99 вольт и иногда 4.98 на понижение  и повышение температуры не реагирует.

2.все так же но аналог и питание соединены резистором на 4.7 КОм. здесь значение абсолютно случайные никакой закономерности или зависимости не увидел. код привожу ниже


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(" degress C");

delay(1000);

}


Геркон. тестером проверял на магнит реагирует, но почему то на Ардуино не работает(или у меня руки кривые, что более вероятно). Подключен был так: во 2 цифровой порт и на землю. Так же была подключена лампочка(для проверки) отдельно от геркона. Идея в том что, когда через геркон течет ток - лампочка светится. код привожу


byte check;

void setup() {

pinMode(5,1);

pinMode(2,0);

}


void loop() {

check=digitalRead(2);

if (check == 1){

digitalWrite(5,1);

}

else{

digitalWrite(5,0);}

delay(3);

}


Перепробовал кучу вариантов, не могу понять в чем проблема помогите, если разбираетесь))

P.S. извините за ошибки, если есть.

Автор поста оценил этот комментарий

http://playground.arduino.cc/Learning/OneWire
вот статейка с куском кода, правда на английском
видимо, без библиотеки OneWire не обойтись

раскрыть ветку (1)
Автор поста оценил этот комментарий

спасибо, уже разобрался

Автор поста оценил этот комментарий

если ток нагрузки больше 20 мА - делайте транзисторный ключ

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий

транзисторов нет, но я держусь) и ток слабее если верить тестеру.

Автор поста оценил этот комментарий

Про работе с цифровым входом в setup необходимо указать, вы будете читать с ноги или писать в нее.

Соответственно, pinMode(pinNum, INPUT ) [еще лучше pinMode(pinNum, INPUT_PULLUP);] или pinMode(pinNum, OUTPUT)

http://arduino.ua/ru/prog/PinMode


также, при чтении цифровой ноги получите значение не 1, а HIGH

раскрыть ветку (1)
Автор поста оценил этот комментарий

если бы вы лучше почитали, то нашли бы, что HIGH & LOW как и 1 или 0 ни что иное как логичные значения а под pinNum зашифровано (внимание) номер пина, который и был указан в скобках. Код это та же сишка только адаптированная.

показать ответы
Автор поста оценил этот комментарий

На счет термодатчика (DS18B20) проблема в том что в инете нашел 2 схемы подключения:


1. левая нога - земля, средняя аналоговый выход, правая - питание. После подключения с датчика постоянно снимается 4.99 вольт и иногда 4.98 на понижение и повышение температуры не реагирует.

Даллас по жизни был цифровым, не?


http://mypractic.ru/ds18b20-datchik-temperatury-s-interfejso...

раскрыть ветку (1)
Автор поста оценил этот комментарий

что сказать, оп рукожоп)

Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

а может быть проблема в том что надо было на геркон питание подавать с внешнего джерела а в 2 порт ставить уже вместо земли?

показать ответы
Автор поста оценил этот комментарий

везде с цифрой нужно ставить направления - ввод/вывод

раскрыть ветку (1)
Автор поста оценил этот комментарий

в 1 программе нету цифры, во второй везде стоит. что не так?

показать ответы
1
Автор поста оценил этот комментарий

пауза в 3 мс маловато, ставь 3 000


не выставлены режимы работы пинов

pinMode(pinNum, OUTPUT);


http://arduino-project.net/podklyuchenie-ds18b20-arduino/

раскрыть ветку (1)
Автор поста оценил этот комментарий

где именно не выставлены? в 1 программе используются аналоговые входы там пины не надо выставлять. а во 2 есть вроде. а за ссылку спасибо большое.

показать ответы
Автор поста оценил этот комментарий
Да и нагрузку для геркона не забудьте.
раскрыть ветку (1)
Автор поста оценил этот комментарий

что вы подразумеваете под нагрузкой? а то я только начинаю ардуинить)

показать ответы