• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zły odczyt stanu na porcie digital.
#11
Odczyt stanu na porcie jest poprawny Smile Zmieniłbym jednak Twój kod.

Kod:
void setup() {
pinMode(7, OUTPUT);
pinMode(11, INPUT_PULLUP);
Serial.begin(9600);
}

void loop() {
if(digitalRead(11) == LOW){
Serial.println("Jest");
digitalWrite(7, HIGH);
}
else{
Serial.println("nie ma");
digitalWrite(7, LOW);
}
}

Omówienie pokrótce: jeśli podpiąłeś przycisk do masy, to tę masę musisz wykrywać, stąd warunek sprawdzania 'LOW', nie 'HIGH'. Druga rzecz, że INPUT_PULLUP, nie INPUT, ponieważ port nie ustawi sobie automatycznie stanu wysokiego. Tak naprawdę pojawi się tam nie wiadomo co, co gorsza to coś będzie oscylować, a więc w pewnym momencie może spaćdo poziomu 'LOW', więc, dla bezpieczeństwa i pewności działania, podciągnięcie PULLUP.
 
Odpowiedź
#12
ostatnie dwa posty to jest powielenie tego co napisalem wczesniej, zeby dac rezystor podciagajacy itd, maslo maslane tu robicie panowie

Wysłane z mojego ALE-L21 przy użyciu Tapatalka
 
Odpowiedź
#13
Opcja INPUT_PULLUP działa miałem tylko źle podłączony schemat(pozmieniałem gdy próbowałem innych rzeczy).

Dziękuję wszystkim za pomoc. Temat można uznać za zamknięty.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości