Drehgeber / ClickEncoder an RF1000
Verfasst: So 9. Jul 2017, 17:53
Moin!
Mir gingen die Menüführung und Tasten des RF1000 etwas auf die Nerven - habe daher einen Drehgeber/ClickEncoder/Inkrementalgeber an den RF1000 angeschlossen. Da ich dafür die Servo-Pins nutze musste das Servo-Feature abgeschaltet werden. (Wie finde ich denn heraus, auf welchen Dezimalwert ich einen Pin "definen" muss - mit den Pinnummern am Arduino haben die Nummern wohl nix zu tun...)
Encoder kam von Conrad, Drehknopf von Thingiverse (jeweils ersbester Treffer).
Änderungen in Firmware:
ui.h:
#ifdef UI_MAIN
void ui_init_keys()
{
[...]
UI_KEYS_INIT_CLICKENCODER_LOW(ENCODER_A,ENCODER_B);
UI_KEYS_INIT_BUTTON_LOW(ENCODER_BUTTON);
} // ui_init_keys
void ui_check_keys(int &action)
{
[...]
UI_KEYS_CLICKENCODER_LOW(ENCODER_A,ENCODER_B);
UI_KEYS_BUTTON_LOW(ENCODER_BUTTON,UI_ACTION_OK);
} // ui_check_keys
pins.h:
// ##########################################################################################
// ## RF1000 pin assignment
// ##########################################################################################
#if MOTHERBOARD == DEVICE_TYPE_RF1000
[...]
#define ENCODER_A 35 // PINC.2 (SERVO 0) X25.4
#define ENCODER_B 33 // PINC.4 (SERVO 1) X25.5
#define ENCODER_BUTTON 32 // PINC.5 (SERVO 2) X25.6
#endif // MOTHERBOARD == DEVICE_TYPE_RF1000
configuration.h:
[...]
//#define FEATURE_SERVO 1 // 1 = on, 0 = off
#define FEATURE_SERVO 0 // 1 = on, 0 = off
[...]
Mir gingen die Menüführung und Tasten des RF1000 etwas auf die Nerven - habe daher einen Drehgeber/ClickEncoder/Inkrementalgeber an den RF1000 angeschlossen. Da ich dafür die Servo-Pins nutze musste das Servo-Feature abgeschaltet werden. (Wie finde ich denn heraus, auf welchen Dezimalwert ich einen Pin "definen" muss - mit den Pinnummern am Arduino haben die Nummern wohl nix zu tun...)
Encoder kam von Conrad, Drehknopf von Thingiverse (jeweils ersbester Treffer).
Änderungen in Firmware:
ui.h:
#ifdef UI_MAIN
void ui_init_keys()
{
[...]
UI_KEYS_INIT_CLICKENCODER_LOW(ENCODER_A,ENCODER_B);
UI_KEYS_INIT_BUTTON_LOW(ENCODER_BUTTON);
} // ui_init_keys
void ui_check_keys(int &action)
{
[...]
UI_KEYS_CLICKENCODER_LOW(ENCODER_A,ENCODER_B);
UI_KEYS_BUTTON_LOW(ENCODER_BUTTON,UI_ACTION_OK);
} // ui_check_keys
pins.h:
// ##########################################################################################
// ## RF1000 pin assignment
// ##########################################################################################
#if MOTHERBOARD == DEVICE_TYPE_RF1000
[...]
#define ENCODER_A 35 // PINC.2 (SERVO 0) X25.4
#define ENCODER_B 33 // PINC.4 (SERVO 1) X25.5
#define ENCODER_BUTTON 32 // PINC.5 (SERVO 2) X25.6
#endif // MOTHERBOARD == DEVICE_TYPE_RF1000
configuration.h:
[...]
//#define FEATURE_SERVO 1 // 1 = on, 0 = off
#define FEATURE_SERVO 0 // 1 = on, 0 = off
[...]