analog порт

sirik
Offline
Зарегистрирован: 10.11.2012

Допустим у меня потенциометр подключен на порт A0. Данные получаю от 0 до 1023. Но как проверить подключин ли потенциометр?

Ради теста его отключаю и получаю хаотические значения от 800 до 900. Но я могу такие значения получить когда он включен, просто быстро вращать его.

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

maksim
Offline
Зарегистрирован: 12.02.2012

 

digitalWrite(A0, 1);

 

leshak
Offline
Зарегистрирован: 29.09.2011

sirik пишет:

Но я могу такие значения получить когда он включен, просто быстро вращать его.

Сомневаюсь. "Значения" может и получите, а вот "такую динамику" - вряд ли. При вращении, скорее всего, у вас, не будет такой хаотичности (скорее всего будут "расти какое-то время", потом "падать какое-то время") и данные не будут менятся так часто.

Так что мне видится два пути:

1. Различать "характер прыжков" (частота изменений, разброс измерений, распределение...)
2. Принудительно запретить ему "прыгать".

Второй вариант - это то что предложил Максим. Если после его строчки "прыжки прекратились" - значит потенциометр отсусвует. Если "продолжаются" - значит кто-то крутит потенциометр.

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

 

sirik
Offline
Зарегистрирован: 10.11.2012

попробую вариант от Максима, позже отпишусь

 

ps/ вроде получилось, спасибо