#include #define CS 9 /* Best PWM values Flight mode 1: 1000 Flight mode 2: 1296 Flight mode 3: 1426 Flight mode 4: 1556 Flight mode 5: 1685 Flight mode 6: 2000 */ byte buttonPins[] = { 2, 3, 4, 5, 6, 7 }; byte resistanceSettings[] = { 0, 71, 105, 139, 173, 255}; byte activeButtonIndex = 0; void setup() { for (int i = 0; i < sizeof(buttonPins); i++) pinMode(buttonPins[i], INPUT_PULLUP); pinMode(CS, OUTPUT); SPI.begin(); } void sendValue(byte r) { digitalWrite(CS, LOW); SPI.transfer(0); SPI.transfer(r); digitalWrite(CS, HIGH); } void loop() { for (int i = 0; i < sizeof(buttonPins); i++) { if ( ! digitalRead( buttonPins[i] ) ) activeButtonIndex = i; } sendValue( resistanceSettings[activeButtonIndex] ); }