23-01-2017, 13:12
Moim zdaniem problem wygląda bardzo prosto-masz połączonego microswitcha do GND. Oznacza to tyle że po jego naciśnięciu na 11 nie wchodzi stan wysoki. Wartości są po prostu losowe. Inna kwestia jest taka że powinieneś mieć to podłączone zupełnie inaczej. Teraz masz podłączenie 11 do GND przez microswitcha i odczyt stanu wysokiego.A wysoki stan to 5V lub coś koło tego. Jeśli stan nieustalony przekroczy jakąś wartość to na wyjściu masz "1".
Żeby zawsze było ok powinieneś dać podciągnięcie gnd przez rezystor i VCC na odpowiedni pin.Przy zwarciu przelaczaloby 0 na 1 i nie byloby stanów nieustalonych.Pomijam odczywiście drganie styków. W kodzie jest to zasem oznaczane jako debounce. Każdy microswitch ma drgania ktore nalezaloby wyeliminowac programowo-tj. przez delaya.
Żeby zawsze było ok powinieneś dać podciągnięcie gnd przez rezystor i VCC na odpowiedni pin.Przy zwarciu przelaczaloby 0 na 1 i nie byloby stanów nieustalonych.Pomijam odczywiście drganie styków. W kodzie jest to zasem oznaczane jako debounce. Każdy microswitch ma drgania ktore nalezaloby wyeliminowac programowo-tj. przez delaya.