Arduino має вхідне значення у відключеному штирі


9

Я новачок у ардуїно. Можливо, це елементарне питання ...

Якщо я завантажую цю програму:

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, будучи тим, що до цього входу нічого не пов'язано.

Будь-які ідеї ?? Це ардуїно UNO, підключений до мого ноутбука через USB


Відповіді:


12

Ви отримуєте щось, що називається "плаваючий вхід". Якщо ви подумаєте про це, ідеальний пристрій для вимірювання входу матиме дуже високий вхідний опір, і, таким чином, не буде видаляти з штиря дуже багато електроенергії.

Тож, що трапляється, це те, що випадкові електрони пливуть на (або вимикають) штифт (або від електромагнітних перешкод у навколишньому середовищі, або від прямого контакту з чимось незначним зарядом), і тому, що він діє як зв'язок дуже високого опору з Земля, цей заряд буде стікати дуже повільно. Таким чином, коли ви йдете вимірювати це, схоже, що там є якась напруга! Як правило, ви або підключите це до якогось пристрою, що забезпечує напругу, або ви вставляєте резистор, що підтягується або спадає, і коригуєте свої очікування на цьому штирі.

Я сподіваюся, що це допоможе, і якщо ні, то я впевнений, що хтось має посилання на іншу людину, яка відповіла на це питання більш компетентно (я бачу у відповідному розділі хоча б одне майже однакове запитання ).


5
Факт забави: Документи Arduino пропонують використовувати значення повернення analogReadдзвінка на невикористаний штифт як зародок randomSeedфункції: arduino.cc/hu/Reference/RandomSeed
Chris Laplante

2
Га! Це досить акуратно, мені це подобається! Я б подумав, що додавання трохи дротяної лінії дроту до вашої дошки та / або друкованої плати може допомогти отримати трохи більше випадковості, якщо ви уникаєте довжини антени 60 Гц (лише для США) (тоді раптом домінуватиме шум змінного струму)
Kit Scuzz

3
Більш надійним (і економією місця) підходом буде використання стандартного генератора випадкових чисел RFC 1149.5
Кріс Лаплант

4

Вхід "плаває", тому що немає нічого, що пов'язане з "витягуванням" напруги в той чи інший спосіб.
Це цілком нормально. Якщо ви підключите резистор високого опору (скажімо, 10 к) від штифта до заземлення, це зупинить це, коли нічого не підключено (хоча реальної необхідності в цьому немає, тому що ви нічого не будете читати, коли нічого не буде підключено ;-))


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