Дек
3
2015
3
2015
Arduino /
Функция работы с джойстиком на Arduino
Представляю вашему вниманию функцию работы с джойстиком, Выводится в монитор только уникальные нажатия кнопок и движения джойстиком.
int ReadJoy; // переменная предыдущего состояния джойстика long JoyPrevMillis = 0; // храним время последнего нажатия ждойстика void setup() { Serial.begin(9600); } void loop() { int RJoy = ReadJoystik(); if (RJoy!=ReadJoy) { ReadJoy = RJoy; unsigned long cMillis = millis(); if(cMillis - JoyPrevMillis > 200) { JoyPrevMillis = cMillis; if (RJoy!=0){ Serial.println(RJoy); // здесь пишем то что должно произойти при нажатии нажатии кнопки } } } } int ReadJoystik(){ //функция работы с джойстиком джойстик int result = 0 ; int verPin = A14; int horPin = A15; int selPin = 46; pinMode(selPin, INPUT); digitalWrite(selPin, HIGH); int verPos = analogRead(verPin); int horPos = analogRead(horPin); int selBtn = digitalRead(selPin); if (selBtn == 0){ result = 1;} // кнопка if (verPos >= 1000){ result = 2;} // вверх if (verPos <= 10){ result = 3;} // низ if (horPos >= 1000){ result = 4;} // право if (horPos <= 10){ result = 5;} // лево return result; }
Метки: Arduino