Forum: Mikrocontroller und Digitale Elektronik Plotclockprogramm wird von Arduiono nicht anerkannt


von Stephan (Gast)


Lesenswert?

Hallo !

Bin ein absulter Neuling hier im Forum und auch was die Elektrotechnik 
angeht. Habe vor einiger Zeit mal die Wortuhr aus der Ping Pong Platine 
von Conrad Elektronic gebaut und dachte ich versuche mich mal an der 
Plotclock.

Habe mir die gelaserten Teile, 3 passende Servos und den Arduino Uno R3 
gekauft. Das Programm Arduino installiert und das "Programm" 
plotclock_V1_01.ino geladen.

Bis dahin klappte alles so wie es sein sollte.
Nun schreibt das Programm Arduino :

Arduino: 1.6.0 (Windows XP), Platine: "Arduino Uno"
Fehler beim Kompilieren.



Gruß Stephan

von ullli (Gast)


Lesenswert?

Da steht unten in der Konsole eine detailliertere Fehlermeldung. Poste 
die mal.

von Stephan (Gast)


Lesenswert?

Hier die gesamte Fehlermeldung !
Bitte nicht lachen. Wahrscheinlich mache ich etwas ganz simples 
verkehrt.

Gruß Stephan



Arduino: 1.6.0 (Windows XP), Platine: "Arduino Uno"

plotclock_V1_01.ino: In function 'void loop()':
plotclock_V1_01.ino:17:7: error: 'last_min' was not declared in this 
scope
plotclock_V1_01.ino:17:26: error: 'minute' was not declared in this 
scope
plotclock_V1_01.ino:19:10: error: 'servo1' was not declared in this 
scope
plotclock_V1_01.ino:19:43: error: 'SERVOPINLIFT' was not declared in 
this scope
plotclock_V1_01.ino:20:10: error: 'servo2' was not declared in this 
scope
plotclock_V1_01.ino:20:43: error: 'SERVOPINLEFT' was not declared in 
this scope
plotclock_V1_01.ino:21:10: error: 'servo3' was not declared in this 
scope
plotclock_V1_01.ino:21:43: error: 'SERVOPINRIGHT' was not declared in 
this scope
plotclock_V1_01.ino:25:10: error: 'hour' was not declared in this scope
plotclock_V1_01.ino:48:5: error: 'servo1' was not declared in this scope
plotclock_V1_01.ino:49:5: error: 'servo2' was not declared in this scope
plotclock_V1_01.ino:50:5: error: 'servo3' was not declared in this scope
plotclock_V1_01.ino: In function 'void lift(char)':
plotclock_V1_01.ino:190:11: error: 'servoLift' was not declared in this 
scope
plotclock_V1_01.ino:190:24: error: 'LIFT0' was not declared in this 
scope
plotclock_V1_01.ino:194:11: error: 'servo1' was not declared in this 
scope
plotclock_V1_01.ino:195:29: error: 'LIFTSPEED' was not declared in this 
scope
plotclock_V1_01.ino:201:11: error: 'servo1' was not declared in this 
scope
plotclock_V1_01.ino:202:29: error: 'LIFTSPEED' was not declared in this 
scope
plotclock_V1_01.ino:212:11: error: 'servoLift' was not declared in this 
scope
plotclock_V1_01.ino:212:24: error: 'LIFT1' was not declared in this 
scope
plotclock_V1_01.ino:215:11: error: 'servo1' was not declared in this 
scope
plotclock_V1_01.ino:216:29: error: 'LIFTSPEED' was not declared in this 
scope
plotclock_V1_01.ino:223:11: error: 'servo1' was not declared in this 
scope
plotclock_V1_01.ino:224:29: error: 'LIFTSPEED' was not declared in this 
scope
plotclock_V1_01.ino:233:11: error: 'servoLift' was not declared in this 
scope
plotclock_V1_01.ino:233:24: error: 'LIFT2' was not declared in this 
scope
plotclock_V1_01.ino:236:11: error: 'servo1' was not declared in this 
scope
plotclock_V1_01.ino:237:29: error: 'LIFTSPEED' was not declared in this 
scope
plotclock_V1_01.ino:243:11: error: 'servo1' was not declared in this 
scope
plotclock_V1_01.ino:244:29: error: 'LIFTSPEED' was not declared in this 
scope
plotclock_V1_01.ino: In function 'void drawTo(double, double)':
plotclock_V1_01.ino:283:13: error: 'lastX' was not declared in this 
scope
plotclock_V1_01.ino:284:13: error: 'lastY' was not declared in this 
scope
plotclock_V1_01.ino: In function 'void set_XY(double, double)':
plotclock_V1_01.ino:312:13: error: 'O1X' was not declared in this scope
plotclock_V1_01.ino:313:13: error: 'O1Y' was not declared in this scope
plotclock_V1_01.ino:318:21: error: 'L1' was not declared in this scope
plotclock_V1_01.ino:318:25: error: 'L2' was not declared in this scope
plotclock_V1_01.ino:320:3: error: 'servo2' was not declared in this 
scope
plotclock_V1_01.ino:320:54: error: 'SERVOFAKTOR' was not declared in 
this scope
plotclock_V1_01.ino:320:69: error: 'SERVOLEFTNULL' was not declared in 
this scope
plotclock_V1_01.ino:324:13: error: 'L3' was not declared in this scope
plotclock_V1_01.ino:328:13: error: 'O2X' was not declared in this scope
plotclock_V1_01.ino:329:13: error: 'O2Y' was not declared in this scope
plotclock_V1_01.ino:335:3: error: 'servo3' was not declared in this 
scope
plotclock_V1_01.ino:335:62: error: 'SERVORIGHTNULL' was not declared in 
this scope
Fehler beim Kompilieren.

  Dieser Report hätte mehr Informationen mit
  "Ausführliche Ausgabe während der Kompilierung"
  aktiviert in Datei > Einstellungen

von indi (Gast)


Lesenswert?

Steht bei Dir irgendwo ein:

#define SERVOPINLIFT  2

?

von Tom Thomsen (Gast)


Lesenswert?

Stephan schrieb:
> Wahrscheinlich mache ich etwas ganz simples verkehrt.
Da fehlt wohl eine Datei oder ist nicht eingebunden.

Ein paar elementarste Grundkenntnisse in C wären auch nicht schlecht ;-)

von Ulli-B (Gast)


Lesenswert?

@Stephan

Kopiere eine der Fehlermeldungen und füge sie bei www.google.de in dem 
Eingabefeld ein.
Drücke "Enter"
Suche dir einen der tausenden Links aus und versuche zu verstehen was 
dort dann erklärt wird.

Es war nie einfacher als heute eine Antwort auf seine Fragen zu 
bekommen.
Gerade beim Thema Arduino hatten schon tausende vor Dir genau die selben 
Fragen.

Ulli-B

von Stephan (Gast)


Lesenswert?

Hallo !

Danke erst einmal für die vielen und schnellen Antworten.
Ja, natürlich habt ihr alle Recht. Programmierkenntnisse wären schön.
Aber leider hatte ich eine andere berufliche und private Laufbahn 
eingeschlagen.

Ich hatte gehofft, dass es so einfach ist wie bei der Wortuhr.
Da habe ich mich einfach an die Anleitung gehalten. Das Programm was 
frei zugänglich war per Serial-Anschluss aufgespielt und es hatte sofort 
funktioniert.
Bei der Plotclock scheint man nicht einfach ein Programm aufzuspielen zu 
können und das funktioniert nicht bei allen ??? RICHTIG ???

Werde mich versuchen weiter in die Materie einzuarbeiten.

Weiterhin vielen Dank

Gruß Stephan

von indi (Gast)


Lesenswert?

Hallo Stephan,

doch. Es sollte fast so einfach wie bei der Wortuhr.
Ich verstehe es selbst nicht, weshalb es bei Dir zu diesen 
Fehlermeldungen kommt. Wo hast Du den Code denn her?

Also so geht es bei mir:
Ich speichere den Code hier: 
https://raw.githubusercontent.com/9a/plotclock/master/plotclock.ino bei 
mir lokal ab.

Dann Arduino File/open und wähle die eben abgespeicherte Datei 
"portclock.ino". Dann kommt ein Dialog "The file portclock.ino need to 
be inside a sketch folder called portclock. Create this folder, move the 
file and continue?". Das bestätige ich mit "OK".

Wenn Du jetzt auf den "Häkchen" VERIFY klickst, wird das Projekt 
kompiliert und es kommt vielleicht die Fehlermeldung

plotclock.ino:54:65: fatal error: Time.h: No such file or directory
compilation terminated.

Das liegt aber daran, dass das "Time" Modul nicht installiert ist.
Das wäre dann aber der nächste Schritt. Kommst Du soweit?

von Jojo S. (Gast)


Lesenswert?

Vielleicht  aus Versehen in den ersten Zeilen ein #include "..." 
Gelöscht? Einfach nochmal das Original laden und vergleichen.

von Stephan (Gast)


Lesenswert?

Super INDI !

Soweit scheine ich jetzt zu kommen ! (siehe unten)


Arduino: 1.6.0 (Windows XP), Platine: "Arduino Uno"

plotclock-22022015.ino:54:65: fatal error: Time.h: No such file or 
directory
compilation terminated.
Fehler beim Kompilieren.

Jetzt scheint er also das Time Modul zu suchen. Kannst du mir jetzt 
sagen wie es weiter geht ??

Vielen Dank und Gruß von Stephan

PS: Muss leider jetzt auf Geburtstag vom Schwiegervater. Kann also erst 
abends wieder hier schauen !

von indi (Gast)


Lesenswert?

Hallo Stephan,

Kopier Dir das Paket "Time.zip" 
http://playground.arduino.cc/uploads/Code/Time.zip auf Deinen Rechner 
und entpacke es.
Dort drin sind 3 Ordner.

Time
TimeAlarms
DS1370RTC

In der Arduino IDE auf "Sketch/Bibliotheken importieren/Bibliotheken 
hinzufügen".
Das 3x machen und jedemal den Ordner Time, TimeAlarms und DS1370RTC 
anwählen.

In Sketch/Bibliotheken importieren müssten die 3 jetzt ganz unten in der 
Liste stehen. Arduino IDE neu starten (weiss nicht, ob notwendig) und 
kompilieren.

Wenn jetzt sowas kommt wie:


In file included from 
\\.psf\Home\Documents\Arduino\libraries\Time\DateStrings.cpp:10:0:
\\.psf\Home\Documents\Arduino\libraries\Time\DateStrings.cpp:18:18: 
error: variable 'monthStr1' must be const in order to be put into 
read-only section by means of '__attribute__((progmem))'
 char monthStr1[] PROGMEM = "January";


Dann liegt das daran, dass die Bibliothek nicht kompatibel mit den neuen 
Compilern ist.
Du kannst es aber von Hand anpassen.

Unter Eigene Dateien gibts einen Ordner Arduino/libraries/Time. Dort die 
DateStrings.cpp öffnen.

Deine Fehlermeldung von oben sagt: "variable 'monthStr1' must be const" 
und das DateStrings.cpp:18:18: davor sagt, dass es in der Datei die 18. 
Zeile ist.

Also ändere dort das "char monthStr1" in "char const monthStr1". Also 
ein "const" an die 2. Stelle einfügen. Das musst Du jetzt überall 
machen, bis die Fehlermeldungen weg sind. Auch zum Beispiel bei "PGM_P 
monthNames_P" --> "PGM_P const monthNames_P"

von Stephan (Gast)


Lesenswert?

Hallo !

Du bist spitze INDI ! Ich habe mich genau nach deinen Anweisungen 
gehalten.
Und nachdem das Programm kompiliert wurde und hochgeladen worden ist, 
fingen die Servomotoren zu laufen an. Ich nehme mal an, dass dann die 
Kalibration durchgeführt wurde.

Ich muß jetzt erst nur die Arme richtig dranbauen.

Dann würde ich mich nochmals melden...wenn ich darf !

Gruß Stephan

von Stephan (Gast)


Lesenswert?

Hallo !

Soweit habe ich die Plotclock ein wenig am laufen.
Jetzt habe ich noch ein paar Fragen:
Die Uhr schreibt alles noch ein wenig zu weit rechts.
Und ein wenig schief.

Sollte ich das justieren besser durch die Servohörnchen (abziehen und 
etwas versetzt wieder draufstecken) erledigen, oder in dem Programm 
Zahlen ändern ??
Ich bin eher für Servohörnchen versetzen (smile).

Andere Frage :
Er hat jetzt 20:01, dann 20:02 usw. geschrieben.
Woher holt er sich die Uhrzeit oder wo steht die Uhrzeit ??
Wo ändere ich das oder wo stelle ich die richtige Uhrzeit ein ?


Gruß Stephan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.