Witam serdecznie
Jestem początkującym użytkownikiem Arduino.
Chciałem napisać program termostatu z timerem, LCD, i enkoderem ale niestety nie mam zupełnie pojęcia o enkoderach. Wiec znalazłem jakiś przykład na działanie enkodera (który wydal mi się najlepiej działający i prosty) i dorobiłem do niego troszkę
. Niestety nie pamiętam kto był autorem tego przykładu za co przepraszam. Jestem prawie na końcu osiągnięcia swojego celu w związku z czym chciałem podpytać doświadczonych użytkowników.
Czy tylko mój przykład wykorzystania enkodera muli trochę cały program i czy da się coś z tym zrobić?
Wygląda to tak ze czas, mimo kilku potknięć przy wyświetlaniu (sekundy chodzą nie równo) wydaje się być dobrze mierzony ale przyciski trzeba czasem trochę przytrzymać.
Ogólnie to działa, tylko zastanawiam się czy lepiej nie zrobić tego na 4 przyciskach pomijając enkoder i czy by to pomogło. Wydaje też mi się że czasem przy odpowiednim ustawieniu enkodera miedzy przeskokami potrafi się zawiesić.
Do Arduino jest podłączony wyświetlacz LCD 20x4 na I2C, enkoder do pinów 2,3,4), buzer do 7,termometr ds18b20 do 6 , przycisk do pinu 9 (do startu odliczania czasu i programu docelowo) i dioda do 13. Enkoder jest w wersji z rezystorami PullUp i przycisk tez jest podciągnięty rezystorem.
Kod wygląda następująco:
Myślę ze wielu początkującym może się to przydać bo jest napisany bardzo prosto i łatwy do przerobienia. Niestety nie jest jeszcze dokończony a wszelkie sugestie mile widziane.
A tak to wygląda :
Jestem początkującym użytkownikiem Arduino.
Chciałem napisać program termostatu z timerem, LCD, i enkoderem ale niestety nie mam zupełnie pojęcia o enkoderach. Wiec znalazłem jakiś przykład na działanie enkodera (który wydal mi się najlepiej działający i prosty) i dorobiłem do niego troszkę
Czy tylko mój przykład wykorzystania enkodera muli trochę cały program i czy da się coś z tym zrobić?
Wygląda to tak ze czas, mimo kilku potknięć przy wyświetlaniu (sekundy chodzą nie równo) wydaje się być dobrze mierzony ale przyciski trzeba czasem trochę przytrzymać.
Ogólnie to działa, tylko zastanawiam się czy lepiej nie zrobić tego na 4 przyciskach pomijając enkoder i czy by to pomogło. Wydaje też mi się że czasem przy odpowiednim ustawieniu enkodera miedzy przeskokami potrafi się zawiesić.
Do Arduino jest podłączony wyświetlacz LCD 20x4 na I2C, enkoder do pinów 2,3,4), buzer do 7,termometr ds18b20 do 6 , przycisk do pinu 9 (do startu odliczania czasu i programu docelowo) i dioda do 13. Enkoder jest w wersji z rezystorami PullUp i przycisk tez jest podciągnięty rezystorem.
Kod wygląda następująco:
Kod: C / C++
Myślę ze wielu początkującym może się to przydać bo jest napisany bardzo prosto i łatwy do przerobienia. Niestety nie jest jeszcze dokończony a wszelkie sugestie mile widziane.
A tak to wygląda :