RoboterSindCool
10.12.2016, 18:00
Guten Abend,
ich bin an einem Programm für den Arduino, dass irgendwie nicht funzen will.
Der Arduino soll ein Steuereingabegerät mit 2 LCDs, 2 Joysticks und 10 Tastern steuern.
Da das relativ viel Code wird will ich so viel wie möglich in Bibliotheken auslagern
Nun habe ich mir ein Programm für den Arduino so gedacht:
Arduino Programm <inlude> Steuereingabegerät.h <include> LiquidCristal.h
<include> Taster.h
<include> Joystick.h
Also implementiert man in das Arduino Programm nur die Steuereingabegerät.h und diese Bibliothek soll sich dann wiederum um das LCD, die Taster und die Joysticks kümmern. Die Taster.h und die Joystick.h und die dazugehörigen cpp Dateien funktionieren auch schon soweit (wenn ich diese im Arduino Hauptprogramm einbinde und Objekte davon erstelle, giebt es keine Fehler). Aber wenn ich jetzt die Steuereingabegerät.h schreibe und von dieser Bibliothek auf die anderen zugreifen will, klappt es noch nicht so richtig. Und zwar hat er ein problem, wenn ich die Objekte von Taster.h bzw. Joystick.h erstellen will. Wenn ich in die Klammern nach dem Objekt den oben definierten Variablennamen schreibe, kommt:
'variable' is not a type
Wenn ich statt dem Variablenname eine Zahl einsetzt (also z.B. 2) dann kommt der Fehler:
error: expected ',' or '...' before numeric constant und error: expected identifier before numeric constant
Leider habe ich noch kein Tutorial gefunden, in dem erklärt wird wie eine Bibliothek Variablen definiert und mit diesen dann objekte von anderen Bibliotheken erstellt. Vieleicht könnt ihr mir ja helfen
Vielen Dank schon mal im Vorraus
#include <Arduino.h>
#include <Arduino.h>
#include <BIB_Taster.h>
#include <BIB_Joystick.h>
class BIB_Roboterbedienung{
private:
int pin_taster_Mod1_R = 0;
int pin_taster_Mod1_M = 1;
int pin_taster_Mod1_L = 0;
int pin_taster_Mod1_O = 1;
int pin_taster_Mod1_U = 0;
int pin_taster_Mod2_R = 0;
int pin_taster_Mod2_M = 1;
int pin_taster_Mod2_L = 0;
int pin_taster_Mod2_O = 1;
int pin_taster_Mod2_U = 0;
int pin_joystick_Mod1_button = 2;
int pin_joystick_Mod1_x = 2;
int pin_joystick_Mod1_y = 3;
int pin_joystick_Mod2_button = 2;
int pin_joystick_Mod2_x = 2;
int pin_joystick_Mod2_y = 3;
BIB_Taster taster_Mod1_R(pin_taster_Mod1_R);
BIB_Taster taster_Mod1_M(pin_taster_Mod1_M);
BIB_Taster taster_Mod1_L(pin_taster_Mod1_L);
BIB_Taster taster_Mod1_O(pin_taster_Mod1_O);
BIB_Taster taster_Mod1_U(pin_taster_Mod1_U);
BIB_Taster taster_Mod2_R(pin_taster_Mod2_R);
BIB_Taster taster_Mod2_M(pin_taster_Mod2_M);
BIB_Taster taster_Mod2_L(pin_taster_Mod2_L);
BIB_Taster taster_Mod2_O(pin_taster_Mod2_O);
BIB_Taster taster_Mod2_U(pin_taster_Mod2_U);
BIB_Joystick joystick_Mod1(pin_joystick_Mod1_button, pin_joystick_Mod1_x, pin_joystick_Mod1_y);
BIB_Joystick joystick_Mod2(pin_joystick_Mod2_button, pin_joystick_Mod2_x, pin_joystick_Mod2_y);
public:
BIB_Roboterbedienung();
String welcheMethode();
};
ich bin an einem Programm für den Arduino, dass irgendwie nicht funzen will.
Der Arduino soll ein Steuereingabegerät mit 2 LCDs, 2 Joysticks und 10 Tastern steuern.
Da das relativ viel Code wird will ich so viel wie möglich in Bibliotheken auslagern
Nun habe ich mir ein Programm für den Arduino so gedacht:
Arduino Programm <inlude> Steuereingabegerät.h <include> LiquidCristal.h
<include> Taster.h
<include> Joystick.h
Also implementiert man in das Arduino Programm nur die Steuereingabegerät.h und diese Bibliothek soll sich dann wiederum um das LCD, die Taster und die Joysticks kümmern. Die Taster.h und die Joystick.h und die dazugehörigen cpp Dateien funktionieren auch schon soweit (wenn ich diese im Arduino Hauptprogramm einbinde und Objekte davon erstelle, giebt es keine Fehler). Aber wenn ich jetzt die Steuereingabegerät.h schreibe und von dieser Bibliothek auf die anderen zugreifen will, klappt es noch nicht so richtig. Und zwar hat er ein problem, wenn ich die Objekte von Taster.h bzw. Joystick.h erstellen will. Wenn ich in die Klammern nach dem Objekt den oben definierten Variablennamen schreibe, kommt:
'variable' is not a type
Wenn ich statt dem Variablenname eine Zahl einsetzt (also z.B. 2) dann kommt der Fehler:
error: expected ',' or '...' before numeric constant und error: expected identifier before numeric constant
Leider habe ich noch kein Tutorial gefunden, in dem erklärt wird wie eine Bibliothek Variablen definiert und mit diesen dann objekte von anderen Bibliotheken erstellt. Vieleicht könnt ihr mir ja helfen
Vielen Dank schon mal im Vorraus
#include <Arduino.h>
#include <Arduino.h>
#include <BIB_Taster.h>
#include <BIB_Joystick.h>
class BIB_Roboterbedienung{
private:
int pin_taster_Mod1_R = 0;
int pin_taster_Mod1_M = 1;
int pin_taster_Mod1_L = 0;
int pin_taster_Mod1_O = 1;
int pin_taster_Mod1_U = 0;
int pin_taster_Mod2_R = 0;
int pin_taster_Mod2_M = 1;
int pin_taster_Mod2_L = 0;
int pin_taster_Mod2_O = 1;
int pin_taster_Mod2_U = 0;
int pin_joystick_Mod1_button = 2;
int pin_joystick_Mod1_x = 2;
int pin_joystick_Mod1_y = 3;
int pin_joystick_Mod2_button = 2;
int pin_joystick_Mod2_x = 2;
int pin_joystick_Mod2_y = 3;
BIB_Taster taster_Mod1_R(pin_taster_Mod1_R);
BIB_Taster taster_Mod1_M(pin_taster_Mod1_M);
BIB_Taster taster_Mod1_L(pin_taster_Mod1_L);
BIB_Taster taster_Mod1_O(pin_taster_Mod1_O);
BIB_Taster taster_Mod1_U(pin_taster_Mod1_U);
BIB_Taster taster_Mod2_R(pin_taster_Mod2_R);
BIB_Taster taster_Mod2_M(pin_taster_Mod2_M);
BIB_Taster taster_Mod2_L(pin_taster_Mod2_L);
BIB_Taster taster_Mod2_O(pin_taster_Mod2_O);
BIB_Taster taster_Mod2_U(pin_taster_Mod2_U);
BIB_Joystick joystick_Mod1(pin_joystick_Mod1_button, pin_joystick_Mod1_x, pin_joystick_Mod1_y);
BIB_Joystick joystick_Mod2(pin_joystick_Mod2_button, pin_joystick_Mod2_x, pin_joystick_Mod2_y);
public:
BIB_Roboterbedienung();
String welcheMethode();
};