Hilfe bei einem sketch,, Problem exit status 1

Hallo..
Vorab ich habe nicht viel Ahnung vom Programmieren und bitte daher um Nachsicht.
Ich nutze meist fertige Sketche für meine Projekte oder ( der ein oder andere wird jetzt lachen ) MiniBloq... was für mich absolut Ok ist..

Ich würde gerne für meinen Sohn eine Timeline bauen aus Zurück in die Zukunft. Ich habe das Projekt bei Youtube gefunden. mit dem löten und bauen habe ich keine Probleme. der Sketch der dort hinterlegt ist zeigt mir immer die Fehlermeldung Exit status 1 an....
Ich habe auch die dazugehörigen Bibliotheken installiert. Ich weiß nicht wonach ich bei dieser Fehlermeldung suchen muss.
Es währe echt klasse wenn mir da jemand weiter hilft. Danke

Hier Ist einmal der Sketch die Fehlermeldung und das Projekt

#include "SevenSegmentTM1637.h"
#include "SevenSegmentExtended.h"
#include "RTClib.h"

// Sortie horloge Rouge
const byte PIN_CLK_Red = A0;   // define CLK pin  
// Sortie horloge Verte
const byte PIN_CLK_Green = A1;   // define CLK pin 
// Sortie horloge Orange
const byte PIN_CLK_Orange = A2;   // define CLK pin 

//RED Displays
const byte PIN_DIO_R1 = 3;
SevenSegmentExtended      red1(PIN_CLK_Red, PIN_DIO_R1);
const byte PIN_DIO_R2 = 4;
SevenSegmentTM1637       red2(PIN_CLK_Red, PIN_DIO_R2);
const byte PIN_DIO_R3 = 5;
SevenSegmentExtended     red3(PIN_CLK_Red, PIN_DIO_R3);

//GREEN Displays
const byte PIN_DIO_G1 = 6;
SevenSegmentExtended      green1(PIN_CLK_Green, PIN_DIO_G1);
const byte PIN_DIO_G2 = 7;
SevenSegmentTM1637       green2(PIN_CLK_Green, PIN_DIO_G2);
const byte PIN_DIO_G3 = 8;
SevenSegmentExtended     green3(PIN_CLK_Green, PIN_DIO_G3);
int greenAM = 12;
int greenPM = 13;

// ORANGE Displays
const byte PIN_DIO_O1 = 9;   // define DIO pin (any digital pin)
SevenSegmentExtended      orange1(PIN_CLK_Orange, PIN_DIO_O1); // SegmentExtended pour utiliser la methode "PrintTime"
const byte PIN_DIO_O2 = 10;   
SevenSegmentTM1637        orange2(PIN_CLK_Orange, PIN_DIO_O2); //SegmentTM1637 pour utiliser la methode "print" permet d'enlever les ":" entre les chiffres
const byte PIN_DIO_O3 = 11;   
SevenSegmentExtended       orange3(PIN_CLK_Orange, PIN_DIO_O3); 

bool parse=false;
bool config=false;
int Hour=0;
RTC_DS3231 rtc;
int backlight = 50;
int year_red = 2028;
int year_orange = 2018;

void setup() {

  pinMode(PIN_CLK_Red, OUTPUT);
  pinMode(PIN_CLK_Green, OUTPUT);
  pinMode(PIN_CLK_Orange, OUTPUT);
  pinMode(PIN_DIO_O1, OUTPUT);
  pinMode(PIN_DIO_O2, OUTPUT);
  pinMode(PIN_DIO_O3, OUTPUT);
  pinMode(PIN_DIO_G1, OUTPUT); 
  pinMode(PIN_DIO_G2, OUTPUT);
  pinMode(PIN_DIO_G3, OUTPUT); 
  pinMode(PIN_DIO_R1, OUTPUT);
  pinMode(PIN_DIO_R2, OUTPUT);
  pinMode(PIN_DIO_R3, OUTPUT);
  pinMode(greenAM, OUTPUT);
  pinMode(greenPM, OUTPUT);

  Serial.begin(9600);       // initializes the Serial connection @ 9600 baud
  orange1.begin();            // initializes the display
  orange2.begin();
  orange3.begin();              
  green1.begin();
  green2.begin();
  green3.begin();            
  red1.begin();
  red2.begin();
  red3.begin();            
  orange1.setBacklight(backlight);  // set the brightness to 100 %
  orange2.setBacklight(backlight);
  orange2.setColonOn(0); // Switch off ":" for orange "year"
  orange3.setBacklight(backlight);  
  green1.setBacklight(backlight); 
  green2.setBacklight(backlight);
  green3.setBacklight(backlight); 
  red1.setBacklight(backlight);
  red2.setBacklight(backlight);
  red3.setBacklight(backlight);  
  red2.setColonOn(0); // Switch off ":" for red "year"
  
#ifndef ESP8266
  while (!Serial); // for Leonardo/Micro/Zero
#endif

  Serial.begin(9600);

  delay(3000); // wait for console opening

  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println("RTC lost power, lets set the time!");
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }

}

void loop() {
  
    DateTime now = rtc.now();
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();

if(now.hour()>=13){
   Hour=now.hour();
  digitalWrite(greenAM,0);
  digitalWrite(greenPM,1);}
  
else if(now.hour()==12)
  {Hour=now.hour();
   digitalWrite(greenAM,0);
  digitalWrite(greenPM,1);}

else{
  Hour=now.hour();
  digitalWrite(greenAM,1);
  digitalWrite(greenPM,0);
  }

//Red displays -  Destination TIME 11.05 2028 10:04
red1.printTime(11, 9, true);
red2.print(year_red, true);
red3.printTime(10, 07, true); 

//Green Displays - Present TIME - Heure actuelle
green1.printTime(now.month(), now.day(), true);  
green2.print(now.year());
green3.printTime(Hour, now.minute(), true);

// Orange Displays - Last time departed 10.26 1985 01:24                      
orange1.printTime(11, 9, true);                     
orange2.print(year_orange, true);
orange3.printTime(01, 24, true);
                     
}

Hier die Fehlermeldung

Arduino: 1.8.19 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)

C:\Users\sasch\OneDrive\Dokumente\Arduino\libraries\SevenSegmentTM1637\src\SevenSegmentFun.cpp:187:80: error: no 'void SevenSegmentFun::bouncingBall(uint16_t, uint16_t, bool)' member function declared in class 'SevenSegmentFun'

 void  SevenSegmentFun::bouncingBall(uint16_t moves, uint16_t d, bool runForever) {
                                                                               
exit status 1

Fehler beim Kompilieren für das Board Arduino Nano.

Hier das Projekt bei Youtube

Zuerst einmal muss ich darauf hinweisen, und dass werden alle machen, dass der Code bitte in Klammern gesetzt werden soll und erst dann eingefügt werden soll.
`` So ist es unübersichtlich, den Code zu verbessern. Bitte ändere das.
Das gleiche sollten Sie auch mit der Fehlermeldung machen.

Ich habe jetzt 2mal versucht Deinen Code zu kopieren und scheitere wegen der fehlenden Einbindung von Codetags.
Gehe unten auf den Bleistift, markiere den Code und klicke oben im Editor auf das < code > Symbol.

Bitte formatiere das Programm als Programm:

```
Dein Programm
```

Bitte gehe zu Post #1 und ergänze die Formatierung.

Dann kann man es leicht kopieren und ausprobieren. Das hilft beim Helfen :slightly_smiling_face:

In der Datei SevenSegmentFun.h sehe ich

void bouncingBall(uint16_t moves, uint16_t d, bool runForever = false);

Die Fehlermeldung sagt, bei Dir fehlt diese Funktion bouncingBall. Möglicherweise hast Du eine falsche Version der Bibliothek.

Es scheint, dass Sie einen Kompilierungsfehler haben, weil Sie eine Funktion namens bouncingBall in der Klasse SevenSegmentFun verwenden, aber diese Funktion nicht in der Header-Datei SevenSegmentTM1637.h deklariert haben. Das ist eine häufige Ursache für solche Fehler.

Um das zu beheben, müssen Sie die Funktion bouncingBall in der Header-Datei SevenSegmentTM1637.h innerhalb der Klasse SevenSegmentFun deklarieren, zum Beispiel:

class SevenSegmentFun {
  // andere Funktionen und Variablen
  public:
    void bouncingBall(uint16_t moves, uint16_t d, bool runForever); // Funktion deklarieren
};

Dann sollte Ihr Code kompilieren können.

Ich betone, dass ich diesen Fehler nicht selber gelöst hab und ich mir nicht sicher bin, ob dieser funktioniert, da man ja den Code nicht soooo gut sehen kann.
Ich hoffe, ich konnte trotzdem helfen.

Ok...Wie gesagt für mich ist das hier Neuland...Habe echt Respekt vor euch die das Programmieren drauf haben...

Danke. Wenn Sie dann alle Tipps ausprobiert haben, können Sie ja wieder schreiben, was nicht und was funktioniert hat.
Haben Sie sich genau an die YT-Anleitung gehalten, oder haben Sie daran was verändert?

Ok...Ich bin absolut ehrlich.....aber ich kann mir beim besten willen nicht vorstellen was genau damit gemeint ist...

Anstelle von "How to get the best out of this forum" könnte man auch mit Wie man dieses Forum benutzt - bitte lesen anfangen. Für deutschsprachige Nutzer ist das eventuell angenehmer.

1 Like

Gehe bitte hierher: GitHub - bremme/arduino-tm1637: Arduino library for using a 4 digit seven segment display with TM1636 or TM1637 driver IC

und lade Dir das .zip herunter.
Dann in der IDE
SKETCH - Bibliothek einbinden - .zip Bibliothek einbinden
Die Zip-datei suchen udn fertig.

Nach dem einbinden funktionierts..

1 Like

@cloudDev

Sag mal hast da wieder eine Antwort aus chatGPT copy/paste reinkopiert?
Was bringt es wenn man die member function blos bekannt gibt aber nicht implementiert?
Das ist doch keine Lösung für einen Anfänger!

3 Likes

Habe nichts an dem Sketch geändert... genau nach Anweisung wie bei YT

Mit der von mir in #4 verlinkten Bibliothek ist mein Compiler glücklich:

Der Sketch verwendet 9820 Bytes (31%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 645 Bytes (31%) des dynamischen Speichers, 1403 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Hi...ist mein erster Beitrag.....werde mir mühe geben....

Ok...dann werde ich die Bibliotheken nochmal löschen und es versuchen..

NEIN!
Warum machst Du nicht, was man Dir rät ....

Es kann so einfach sein.

Hi...habe alle tm1637 Bibliotheken gelöscht und es so gemacht wie du hier gezeigt hast....
Frag mich nicht wie oder warum......Es hat funktioniert....Es Läuft.....Nochmals Danke für eure Hilfe...
Danke Danke Danke....

Ich hab die Lösung gefunden:
Zur Info: Ich hab den Code bei mir im Arduino IDE ausprobiert und da war die gleiche Fehlermeldung.

Es werden Bibliotheken benötigt:

SevenSegmentTM1637

und

SevenSegmentExtended

so steht es zumindest im Code:

#include "SevenSegmentTM1637.h"
#include "SevenSegmentExtended.h"
#include "RTClib.h"

Ich hab von dieser Webseite:
SevenSegmentTM1637 - Arduino Libraries
die Version 1.0.0 runtergeladen (NICHT DIE NEUSTE VERSION!):
image
Diese hab ich dann in den Ordern libraries eingefügt, etc:
image
Die Bibliothek

SevenSegmentExtended

hab ich NICHT installiert!
Natürlich braucht man aber auch die RTClib Bibliothek.

Nachdem ich den Code wieder kompiliert hab, hat alles funktioniert.

Hoffentlich funktioniert es bei Ihnen ebenso.

1 Like

Schätze das ich zu viel verschiedene Bibliotheken vom Tm1637 hatte die unnütz waren.....Jetzt läuft es..... Nochmals vielen Dank für eure Hilfe....

Haben Sie diese mehrmals installiert? Wie meinen Sie das?