Potencjometr to prosty analogowy czujnik, na pierwszy rzut oka wyglądać może nieznajomo, ale z pewnością używałeś go już tysiące razy, kręcąc jakąkolwiek gałką w różnego typu urządzeniach elektronicznych, zazwyczaj po prostu jest schowany za obudową.
Źródło zdjęcia – Adafruit
Zasada działania potencjometru jest prosta, dzięki wewnętrznemu układowi dwóch oporników kręcąc gałką potencjometru możemy płynnie zmieniać napięcie prądu przez niego przepływającego. Podłączając potencjometr do Arduino możemy przy jego pomocy generować płyne zmiany napięcia w zakresie od 0 do 5V, dzięki czemu przy pomocy potencjometru możemu płynnie sterować np. prędkością obrotu silnika, jasnością diod LED, płynną zmianą jakichkolwiek parametrów w Snapie itp
Schemat
Potencjometr ma trzy nóżki, wpinamy go pionowo w płytkę prototypową (jak na powyższym zdjęciu) i podłączamy odpowiednio:
1. LEWA – do GND
2. ŚRODKOWA – do odczytu – dowolny pin analogowy np. A0
3. PRAWA – do +5V
Podłączenie lewej i prawej nóżki może być odwrotne (lewa do +5V, prawa do GND) wówczas potencjometr odwrotnie wskazywać będzie wartość maksymalną i minimalną.
Program
Sna4Arduino połącz z Arduino i w zakładce DANE utwórz zmienną ODCZYT (jeśłi chcesz możesz nazwać ją zupełnie dowolnie) a następnie aby odczytać wskazanie potencjometru złóż z bloków następujący program:
Uruchom program naciskając zieloną flagę i zobacz jak zmieniają się wartości zmiennej ODCZYT – jej wskaźnik jest prawym górnym rogu okna programu. Wartości powinny zmieniać się płynnie od 0 do 1023 odpowiednio do obrotów potencjometru (0 gdy potencjometr jest ustawiony maksymalnie w lewo, 1023 gdy pomaksymalnie w prawo). Jeśli wskazania ODCZYT skaczą i zmieniają się na losowe liczby prawdopodobnie jest jakiś błąd w podłączeniu potencjometru.
Jeśli udało Ci się poprawnie odczytać wskazania potencjometru możemy pójść krok dalej i zaprogramować sterowanie przy jego pomocy silnikiem, w tym celu wystarczy dodać do programu blok konfigurujący odpowiedni pin cyfrowy jako SERVO a następnie wewnątrz pętli ZAWSZE zaraz po odczycie danych z potencjometru przesłać je do bloku sterującego silnikiem.
Zwróć uwagę, że wartość odczytu z potencjometru w momencie wysłania do silnika jest podzielona przez 4. Wynika to z faktu, że jak już wcześniej zauważyliśmu odczyty z potencjometru zmieniają się w skali od 0 do 1023, podczas gdy sterowanie silnikiem odbywa się w zakresie od 0 do 255. Aby sprowadzić dane z potencjometru do poziomu sygnału sterującego silnikiem dzielimy je więc przez 4 (1023/4 wynosi ok. 255)
Po uruchomieniu programu silnik powinien kręcić się w lewo gdy potencjometr ustawiony jest maksymalnie w lewo, stać przy środkowym położeniu potencjometru i kręcić się w prawo przy obróceniu potencjometru maksymalnie w prawo.
Sprawdź również co się stanie gdy będziesz sterować silnikiem wartością ODCZYT bez podzielenia jej przez 4.