Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam,

W trakcie robienia projektu (pojazd sterowany pilotem przez Bluetooth) napotkałem problem z nowo kupionym Arduino Nano Every (piny lutowałem sam). Chciałem, aby na pinach cyfrowych (podpiętych do przycisków) odczytywane było napięcie (HIGH lub LOW). Arduino z ustawionymi pinami na INPUT odczytuje stan wysoki - zawsze, choć powinien być stan niski. Wszystko działa dobrze po ustawieniu pinów na OUTPUT. Czy tak powinno być? Z tego co wiem to ustawienie na INPUT służy do odczytu, a odczyt z pinu ustawionego na OUTPUT powinien skończyć się błędem. Dla testu napisałem program:

const int pinOut = 6;
const int pinIn = 7;

void setup() {
  Serial.begin(9600);
  pinMode(pinOut, OUTPUT);
  pinMode(pinIn, INPUT);
}

void loop() {
  
  //Odczyt z pinu 6
  if(digitalRead(pinOut) == LOW)
  {
    Serial.println("Pin 6: LOW");
  }
  
  //Odczyt z pinu 7
  if(digitalRead(pinIn) == LOW)
  {
    Serial.println("Pin 7: LOW");
  }else
  {
    Serial.println("Pin 7: HIGH");
  }

  delay(1000);
}

Arduino jest podłączone tylko do komputera, żadne piny nie są połączone. A tutaj wynik:

Pin 6: LOW
Pin 7: HIGH
Pin 6: LOW
Pin 7: HIGH
Pin 6: LOW
Pin 7: HIGH
Pin 6: LOW
Pin 7: HIGH
Pin 6: LOW
Pin 7: HIGH
Pin 6: LOW
Pin 7: HIGH

Czy to ja się mylę, czy np. płytka jest uszkodzona? Z góry dziękuję za pomoc.

24 minuty temu, Jeremi napisał:

Arduino z ustawionymi pinami na INPUT odczytuje stan wysoki - zawsze, choć powinien być stan niski.

Dlaczego powinien być stan niski? Na jakiej podstawie tak twierdzisz?

 

Dziękuję za pomoc, wiem gdzie zrobiłem błąd. Potraktowałem pin INPUT jako masę i zapomniałem o rezystorze.

Moglibyście jeszcze powiedzieć, czy do przełącznika dźwigniowego np. ON-OFF-ON powinno podłączać się kondensator, tak jak do switcha, aby uniknąć wahań napięcia, czy jest to niepotrzebne?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...