Da sind sogar schon die richtigen Werte für die Platine eingetragen, musst nur noch aktivieren!
Denke auch, das die Hardware funktioniert
Habs eben gesehen, passt soweit... nur wie aktiviere ich die?
bei mir steht da:
// Knopf-Messwerte für crazyMachine Platine: // Rechts: 0 // Oben: 132 // Unten: 321 // Links: 488 // Select: 725 // keiner: 1023
#define BUTTONVALUE_RIGHT 0
#define BUTTONVALUE_UP 132
#define BUTTONVALUE_DOWN 321
#define BUTTONVALUE_LEFT 488
#define BUTTONVALUE_SELECT 724
#define BUTTONVALUE_NONE 1023
#else
// Ansonsten alles wie in Version 0.2x einstellen (z.B. für Benutzung von DFRobot LCD Shield
#define MAX_DEVICE_COUNT 8 // maximale Anzahl Geräte
#define MAX_SENSOR_COUNT 4 // maximale Anzahl Sensoren
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Pins für die LCD-Ansteuerung
// Pin für die Knöpfe am LCD-Shield
#define BUTTON_PIN A0
const byte device_pin[MAX_DEVICE_COUNT] = {13, 12, 11, 3, 2, 1, 0, A5}; // Pins für Geräte
const byte sensor_pin[MAX_SENSOR_COUNT] = {A1, A2, A3, A4}; // Pins für Sensoren
// Knopf-Messwerte für DFRobot LCD Shield: // Rechts: 0 // Oben: 142 // Unten: 328 // Links: 504 // Select: 741 // keiner: 1023
#define BUTTONVALUE_RIGHT 0
#define BUTTONVALUE_UP 142
#define BUTTONVALUE_DOWN 328
#define BUTTONVALUE_LEFT 504
#define BUTTONVALUE_SELECT 741
#define BUTTONVALUE_NONE 1023
#endif
und im Reiter control_functions steht das hier:
// Funktion, um Spannungsveränderungen durch die Knopfdrücke in einen Integer umzuwandeln (SELECT, LEFT, UP, DOWN, RIGHT)
byte read_button_state() {
int button_value[6] = {BUTTONVALUE_NONE, BUTTONVALUE_LEFT, BUTTONVALUE_RIGHT, BUTTONVALUE_UP, BUTTONVALUE_DOWN, BUTTONVALUE_SELECT}; // Array mit den Werten der Knöpfe erstellen
int button_read = analogRead(BUTTON_PIN);
for (byte button_id = 0; button_id < 6; button_id++) {
if (button_read < button_value[button_id] + 5 && button_read > button_value[button_id] - 5) { // Schwankungen der Messwerte um +/-5 erlauben und trotzdem Knopf zuordnen
return button_id;
}
}
return BUTTON_NONE;
Wenn ich da Werte angebe, passiert auch nix... aber genau da hab ich bei 3c die Werte eingetragen.