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






