08-12-2015, 17:22
Zerknij na poniższe moje dwa spostrzeżenia...
Pierwsze spostrzeżenie:
delay(10 * distance);
Nie za bardzo rozumiem po co taki zapis w Twoim programie?
Nie ma co prawda bezpośredniego związku z Twoim problemem ale może być przyczyną innych problemów z... czasem opóźnienia.
Ustawiasz bowiem opóźnienie, które zależne jest od odczytanej wartości 'distance'.
Jeżeli tak ma być to OK
Drugie spostrzeżenie:
lcd.setCursor(12, 0);
lcd.print(" cm ");
Ustawiasz w pierwszej linijce 'na sztywno' miejsce gdzie ma być wyświetlany napis 'cm'.
Sprawdzałeś czy przypadkiem nie zamazujesz sobie tej właśnie poszukiwanej przez Ciebie ostatniej cyfry z liczby którą wyświetlasz?
Pozdrawiam,
ANT
Pierwsze spostrzeżenie:
delay(10 * distance);
Nie za bardzo rozumiem po co taki zapis w Twoim programie?
Nie ma co prawda bezpośredniego związku z Twoim problemem ale może być przyczyną innych problemów z... czasem opóźnienia.
Ustawiasz bowiem opóźnienie, które zależne jest od odczytanej wartości 'distance'.
Jeżeli tak ma być to OK
Drugie spostrzeżenie:
lcd.setCursor(12, 0);
lcd.print(" cm ");
Ustawiasz w pierwszej linijce 'na sztywno' miejsce gdzie ma być wyświetlany napis 'cm'.
Sprawdzałeś czy przypadkiem nie zamazujesz sobie tej właśnie poszukiwanej przez Ciebie ostatniej cyfry z liczby którą wyświetlasz?
Pozdrawiam,
ANT
Jeżeli pomogłem, to poproszę o punkt reputacji