Lekcja 16: Czujnik pochylenia
Tematem tej lekcji jest czujnik pochylenia Tilt-a-Whirl RPI-1031. Urządzenie wykrywa zmiany położenia w czterech kierunkach. Układ po zasileniu przy przechyleniu na cyfrowych wyjściach pojawiają się w zależności od położenia stany:
Specyfikacja czujnika poniżej:
|
Wyprowadzenia:
Piszemy kod:
int tilt_s1 = 2; int tilt_s2 = 3; void setup(){ pinMode(tilt_s1, INPUT); pinMode(tilt_s2, INPUT); Serial.begin(9600); } void loop(){ int position = getTiltPosition(); if(position ==0){Serial.println("pozycja startowa");} if(position ==1){Serial.println("obrociles o +90 stopni");} if(position ==2){Serial.println("obrociles o +270 stopni");} if(position ==3){Serial.println("obrociles o +180 stopni");} delay(200); } int getTiltPosition(){ int s1 = digitalRead(tilt_s1); int s2 = digitalRead(tilt_s2); return (s1 << 1) | s2; }
W linii 1 i 2 deklarujemy zmienne z numerami wejść cyfrowych na Arduino.
W linii 4 i 5 wykorzystujemy zadeklarowane zmienne do skojarzenia z pinami Arduino.
W linii 6 ustalamy szybkość transmisji na 9600bit/s.
W linii 9 odwołujemy się do funkcji getTiltPosition(), która zaczyna się w linii 16 a zwraca
wynik stanu w postaci liczby 0 lub 1 lub 2 lub 3. Zwrócone wartości są zmiennymi, które wykorzystujemy
w liniach 10 - 13 do określenia i wypisania na ekranie wartości położenia.
W linii 14 robimy 200milisekundową przerwę w odczycie.
Powrót do spisu materiałów