Сигнал с аналогового входа прыгает

artur_fcsm
Offline
Зарегистрирован: 12.02.2015

Всем доброго дня.

Пытаюсь подключить матричную резистивную клавиатуру через налоговый вход. Вот такую

При нажатии на первую кнопку, сопротивление 0, на вторую - 1кОм, и так далее до 11кОм.

Когда снимаю данные с аналогого выхода, сигнал прыгает.

Вот такой сигнал снимаю командой Serial.println:

0

680

679

680

0

713

713

712

236

236

235

0

0

0

680

680

0

0

0

Когда 0 и 235 - кнопка отпущена

Когда 680 и 712 - кнопка нажата.

Откуда появляются эти неправильные значения? 235 и 712. Точнее почему они появляются я разбрался. Когда меряю напряжение в момент неправильных показателей, оно завышено. не 0 , 1.1В; не 3.3 а 3.5В.

Откуда берется этот вольт при нуле, как от него избавиться? 

artur_fcsm
Offline
Зарегистрирован: 12.02.2015

выход конечно не налоговый, а аналоговый))))

 

artur_fcsm
Offline
Зарегистрирован: 12.02.2015
int a=0; //сигнал с клавы
void setup() {
  Serial.begin(9600);
  pinMode(A0, INPUT); 
}

void loop() {
    a = analogRead(0);
      Serial.println(a);
    delay(300);

 

artur_fcsm
Offline
Зарегистрирован: 12.02.2015

Нажмаю одну и туже кнопку несколько раз подряд и после некоторых нажатий на входе остается напряжение 1.1В, а после остальных - 0В. Подскажите пожалуйста в чем моя ошибка.

artur_fcsm
Offline
Зарегистрирован: 12.02.2015

Проблема возникает только на первых 10 кнопках (сопротивление 0 - 9кОм), на кнопках 11 и 12 проблемы нет, после нажатия напряжение всегда уходит в ноль. (Показация кнопок 11 и 12 -  510 и 490 соответствено.)

artur_fcsm
Offline
Зарегистрирован: 12.02.2015

Куча экспериментов с 5В, 3.3В и прочее, выявил. При подаче на аналоговый вход напряжение меншьего опорного в 2 раза - все работает отлично. При подаче напряжения большего, чем половина опрного, начинаются проблемы. На аналоговом входе остается 1.1В и показания искажаются.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Схему и фото (только чтоьы видно было) в студию.

artur_fcsm
Offline
Зарегистрирован: 12.02.2015

Сделал опорное напряжение 1.1В, полет нормальный. А кто знает, есть ли хорошие библиотеки для работы с такими клавами?