#include #include #include void __ardublockDigitalWrite(int pinNumber, boolean status) { pinMode(pinNumber, OUTPUT); digitalWrite(pinNumber, status); } MMA7660 _acc; int8_t _acc_x, _acc_y, _acc_z; int _ABVAR_1_ax = 0 ; int _ABVAR_2_ay = 0 ; int _ABVAR_3_az = 0 ; bool _ABVAR_4_act_bckup= false ; bool _ABVAR_5_act= false ; boolean __ardublockDigitalRead(int pinNumber) { pinMode(pinNumber, INPUT); return digitalRead(pinNumber); } void tilt_nav(); void vibrate_button(); void trigger(); void pause(); void setup() { _acc.init(); Keyboard.begin(); trigger(); __ardublockDigitalWrite(5, HIGH); } void loop() { __ardublockDigitalWrite(2, LOW); _acc.getXYZ(&_acc_x, &_acc_y, &_acc_z); _ABVAR_1_ax = _acc_x; _ABVAR_2_ay = _acc_y; _ABVAR_3_az = _acc_z; pause(); _ABVAR_4_act_bckup = _ABVAR_5_act ; tilt_nav(); if (( ( _ABVAR_5_act ) != ( _ABVAR_4_act_bckup ) )) { __ardublockDigitalWrite(7, HIGH); } else { __ardublockDigitalWrite(7, LOW); } delay( 50 ); vibrate_button(); } void pause() { if (__ardublockDigitalRead(6)) { Keyboard.press(' '); } else { Keyboard.release(' '); } } void trigger() { while ( !( __ardublockDigitalRead(4) ) ) { __ardublockDigitalWrite(5, LOW); } } void vibrate_button() { if (( __ardublockDigitalRead(6) || __ardublockDigitalRead(8) )) { __ardublockDigitalWrite(7, HIGH); } else { __ardublockDigitalWrite(7, LOW); } } void tilt_nav() { _ABVAR_5_act = LOW ; if (( ( _ABVAR_2_ay ) > ( 12 ) )) { Keyboard.press('D'); _ABVAR_5_act = HIGH ; } if (( ( _ABVAR_2_ay ) < ( 7 ) )) { Keyboard.release('D'); } if (( ( _ABVAR_2_ay ) < ( -12 ) )) { Keyboard.press('A'); _ABVAR_5_act = HIGH ; } if (( ( _ABVAR_2_ay ) > ( -7 ) )) { Keyboard.release('A'); } if (( ( _ABVAR_1_ax ) > ( 7 ) )) { Keyboard.press('W'); _ABVAR_5_act = HIGH ; } if (( ( _ABVAR_1_ax ) < ( 4 ) )) { Keyboard.release('W'); } if (( ( _ABVAR_1_ax ) < ( -7 ) )) { Keyboard.press('S'); _ABVAR_5_act = HIGH ; } if (( ( _ABVAR_1_ax ) > ( -4 ) )) { Keyboard.release('S'); } }