Nachbauprojekt, viele Fehler beim Upload

Hallo,

so wie bereits im Titel geschrieben, baue ich gerade ein Projekt nach.

Allerdings habe ich einige Fehler wenn ich versuche den Sketch hochzuladen.

Sketch: puzzle-box/Arduino/Puzzle_Box at master · rcalme/puzzle-box · GitHub

Ich habe mir die neueste Arduino IDE 1.8.6 heruntergeladen, kann es evtl. daran liegen das der Sketch mit einer älteren Version erstellt wurde?

Puzzle_Box:162:16: error: variable or field 'moveServo' declared void

 void moveServo(servo, position, minVal, maxVal) {

                ^

Puzzle_Box:162:16: error: 'servo' was not declared in this scope

Puzzle_Box:162:23: error: 'position' was not declared in this scope

 void moveServo(servo, position, minVal, maxVal) {

                       ^

Puzzle_Box:162:33: error: 'minVal' was not declared in this scope

 void moveServo(servo, position, minVal, maxVal) {

                                 ^

Puzzle_Box:162:41: error: 'maxVal' was not declared in this scope

 void moveServo(servo, position, minVal, maxVal) {

                                         ^

Puzzle_Box:162:16: error: variable or field 'moveServo' declared void

 void moveServo(servo, position, minVal, maxVal) {

                ^

Puzzle_Box:162:16: error: 'servo' was not declared in this scope

Puzzle_Box:162:23: error: 'position' was not declared in this scope

 void moveServo(servo, position, minVal, maxVal) {

                       ^

Puzzle_Box:162:33: error: 'minVal' was not declared in this scope

 void moveServo(servo, position, minVal, maxVal) {

                                 ^

Puzzle_Box:162:41: error: 'maxVal' was not declared in this scope

 void moveServo(servo, position, minVal, maxVal) {

                                         ^

C:\Users\Seba\Desktop\puzzle-box-master\Arduino\Puzzle_Box\Puzzle_Box.ino: In function 'void openRightDrawer()':

Puzzle_Box:172:54: error: 'moveServo' was not declared in this scope

   moveServo(rightDrawerServo, 180, rightMin, rightMax);

                                                      ^

C:\Users\Seba\Desktop\puzzle-box-master\Arduino\Puzzle_Box\Puzzle_Box.ino: In function 'void closeRightDrawer()':

Puzzle_Box:177:54: error: 'moveServo' was not declared in this scope

   moveServo(rightDrawerServo, 130, rightMin, rightMax);

                                                      ^

C:\Users\Seba\Desktop\puzzle-box-master\Arduino\Puzzle_Box\Puzzle_Box.ino: In function 'void openKeyDrawer()':

Puzzle_Box:183:48: error: 'moveServo' was not declared in this scope

   moveServo(keyDrawerServo, 180, keyMin, keyMax);

                                                ^

sketch\PegBoard.cpp: In function 'Connection scanPins()':

PegBoard.cpp:25:26: error: 'pegCount' was not declared in this scope

       for (byte in=0; in<pegCount; in++) {

                          ^

PegBoard.cpp:26:22: error: 'startProbe' was not declared in this scope

         startProbe(in);

                      ^

PegBoard.cpp:33:28: error: 'pegPins' was not declared in this scope

           if (!digitalRead(pegPins[out])) {

                            ^

PegBoard.cpp:35:25: error: 'stopProbe' was not declared in this scope

             stopProbe(in);

                         ^

PegBoard.cpp:40:21: error: 'stopProbe' was not declared in this scope

         stopProbe(in);

                     ^

sketch\PegBoard.cpp: In function 'void startProbe(byte)':

PegBoard.cpp:48:13: error: 'pegPins' was not declared in this scope

     pinMode(pegPins[in],OUTPUT);

             ^

sketch\PegBoard.cpp: In function 'void stopProbe(byte)':

PegBoard.cpp:55:18: error: 'pegPins' was not declared in this scope

     digitalWrite(pegPins[in],HIGH);

                  ^

sketch\PegBoard.cpp: In function 'boolean hasNewConnection()':

PegBoard.cpp:69:28: error: 'lastConn' was not declared in this scope

         if( currentConn == lastConn ) {

                            ^

sketch\PegBoard.cpp: In function 'Connection getConnection()':

PegBoard.cpp:85:12: error: 'lastConn' was not declared in this scope

     return lastConn;

            ^

C:\Users\Seba\Desktop\puzzle-box-master\Arduino\Puzzle_Box\Puzzle_Box.ino: In function 'void closeKeyDrawer()':

Puzzle_Box:188:46: error: 'moveServo' was not declared in this scope

   moveServo(keyDrawerServo, 0, keyMin, keyMax);

                                              ^

exit status 1
variable or field 'moveServo' declared void

Snowbal:
... kann es evtl. daran liegen das der Sketch mit einer älteren Version erstellt wurde?

Das halte ich für sehr unwahrscheinlich. Versuche, den genannten Fehler (... declared void) zu vermeiden, indem Du die entsprechende Funktion korrigierst. Evtl. ist nur ein „return(1)“ falsch. Mich wundert, dass der Fehler von „Variable“ oder „Field“ spricht, obwohl es sich um eine Funktion zu handeln scheint.

Gruß

Gregor

Mich wundert, dass der Fehler von „Variable" oder „Field" spricht, obwohl es sich um eine Funktion zu handeln scheint.

Die Deklaration ist falsch!
Darum kann der Kompiler das nicht erkennen.

Habe das mal übersetzt...

Da sind so viele böse Fehler drin...
Das kann in der Form noch nie gelaufen haben!

Hm ok...

Wenn ich das so heraushöre, dann ist es einfacher neu zu schreiben bevor man sich da durchwühlt...

Wenn man das "Projekt" mit einem zusammengekniffenen Auge betrachtet, dann ist das ja im Prinzip nichts anderes wie ein 10 adriges Keypad.

Daher werde ich mal anfangen "umzudesignen" und schaue wie weit ich überhaupt kommen

Snowbal:
Daher werde ich mal anfangen "umzudesignen" und schaue wie weit ich überhaupt kommen

Viel Erfolg!

Wenn Du weitere Fragen hast, bist Du willkommen.

Gruß

Gregor

Welche Extension hat Deine Datei? Ich würde es mal mit .ino versuchen. Und falls es noch mehr Dateien gibt, was für Extensions haben die?

Connection.cpp
Connection.h
PegBoard.cpp
PegBoard.h
Puzzle_Box.ino

Hab es jetzt doch noch hinbekommen.

Am Ende bei solved möchte ich noch ein blinken aller LED´s einbauen, aber das hebe ich mir für morgen auf.

Danke für eure Kommentare

Connection.cpp (811 Bytes)

Connection.h (709 Bytes)

PegBoard.cpp (1.96 KB)

PegBoard.h (860 Bytes)

Puzzle_Box.ino (4.23 KB)

Snowbal:
Am Ende bei solved möchte ich noch ein blinken aller LED´s einbauen, aber das hebe ich mir für morgen auf.

Das ist eine gute Idee. Schlaf ist die meines Wissens nach beste Quelle für Kreativität.

Halte den aktuellen Stand auf jeden Fall so fest, dass Du bei Problemen jederzeit zu einer funktionierenden Version zurück kannst. Dann lässt es sich deutlich entspannter tüfteln. Ich habe früher vieles, das eigentlich schon echt gut war, am Ende in die Tonne getreten, weil ich mir mit irgendeinem ich-will-noch-einen-Fuchsschwanz-dranbasteln-Gehabe viel Arbeit zerschossen habe und nicht zu einer funktionierenden Version zurück konnte.

Gruß

Gregor