Hallo habe da mal wieder ein Problem
Heute habe ich versucht einen 7 Segmente Display anzusteuern hat auch super Funktioniert
jetzt wollte ich das ganze Übungshalber mal in eine lib packen nur irgendwie klappt das nicht
Eventuell weis ja jemand von euch hilfe?
Hier einmal meine header Datei
/*
2 7 Segmente display um zahlen zwischen 00 und 99 anzuzeigen
*/
#ifndef SegmentDisplay_h
#define SegmentDisplay
#include "Arduino.h"
class SegmentDisplay
{
public:
SegmentDisplay(int a,int b,int c,int d,int e,int f,int g,int a2,int b2,int c2,int d2,int e2,int f2,int g2);
void Display(int number);
private:
int _a;
int _b;
int _c;
int _d;
int _e;
int _f;
int _g;
int _a2;
int _b2;
int _c2;
int _d2;
int _e2;
int _f2;
int _g2;
int _number;
};
#endif
dann hier die cpp
#include "Arduino.h"
#include "SegmentDisplay.h"
SegmentDisplay::SegmentDisplay(int a,int b,int c,int d,int e,int f,int g,int a2,int b2,int c2,int d2,int e2,int f2,int g2)
{
int array[]={a,b,c,d,e,f,g,a2,b2,c2,d2,e2,f2,g2}
for (i=0;i<14;i++){
pinMode(array[i], OUTPUT);
}
_a = a;
_b = b;
_c = c;
_d = d;
_e = e;
_f = f;
_g = g;
_a2 = a2;
_b2 = b2;
_c2 = c2;
_d2 = d2;
_e2 = e2;
_f2 = f2;
_g2 = g2;
}
void SegmentDisplay::Display(int number)
{
if (number==1)
{
digitalWrite(g,HIGH);
digitalWrite(g2,HIGH);
}
_number=number
}
und so wollte ich das ganze ansprechern
#include <SegmentDisplay.h>
int a = 23;
int f = 25;
int e = 27;
int b = 22;
int g = 24;
int c = 26;
int d = 29;
int a2 = 31;
int f2 = 33;
int e2 = 35;
int b2 = 28;
int g2 = 30;
int c2 = 32;
int d2 = 34;
SegmentDisplay (a,b,c,d,e,f,g,a2,b2,c2,d2,e2,f2,g2);
void setup(){
SegmentDisplay.Display('1');
}
void loop(){}
ich hoffe jemand von euch kann da durchblicken und mir sagen was für einen Fehler ich gemacht habe.
Danke
Edit:
Ziel der ganzen Sache soll am ende werden das ich der lib eine maximal 2 stellige zahl zusende und diese dann auf meinem Display angezeigt wird
Aus VB.net kenn ich das mit den Public Functions und dort funktionierte es immer bestens
oder gibt es auch sowas