Arduino имеет входное значение в отключенном контакте


9

Я новичок в Arduino. Может быть, это элементарный вопрос ...

Если я загружаю эту программу:

int mval = 0;
void setup() {
  Serial.begin(9600);
  // set up the LCD's number of columns and rows: 

}

void loop() {

  mval = analogRead(1);
  Serial.println(mval);

  delay(1000);
 }

Я получаю значение, которое варьируется от 300 до 400. Когда я думаю, что оно должно быть 0, то есть, что к этому входу ничего не подключено.

Любые идеи?? Это Arduino UNO подключен к моему ноутбуку через USB


Ответы:


12

Вы получаете то, что называется «плавающий ввод». Когда вы думаете об этом, идеальное устройство для измерения входного сигнала будет иметь очень высокий входной импеданс, и, таким образом, не удалит очень много электричества из контакта.

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

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


5
Интересный факт: документы Arduino предлагают использовать возвращаемое значение analogReadвызова неиспользуемого штифта в качестве начального числа для randomSeedфункции: arduino.cc/hu/Reference/RandomSeed
Крис Лапланте

2
Ха! Это довольно опрятно, мне это нравится! Я думаю, что добавление небольшой волнистой линии провода к макету и / или печатной плате может помочь получить немного больше случайности, если вы избегаете длины антенны 60 Гц (только для США) (тогда внезапно шум переменного тока будет доминировать)
комплект Scuzz

3
Более надежный (и экономящий место) подход заключается в использовании стандартного генератора случайных чисел RFC 1149.5
Крис Лапланте,

4

Вход «плавающий», потому что ничего не подключено, чтобы «тянуть» напряжение тем или иным способом.
Это совершенно нормально. Если вы подключите резистор с высоким импедансом (скажем, 10 кОм) от штыря к земле, он прекратит это делать, когда ничего не подключено (хотя в этом нет особой необходимости, поскольку вы не будете читать его, когда ничего не подключено). связаны ;-))


Будет ли понижающий резистор менять сигнал при подключении к АЦП?
user30878
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.