Fehler in meinem Sketch

Hallo Miteinander, ich bin ein totaler Neuling bei Arduino und bekomme bei meinem Projekt Fehlermeldungen, die ich leider nicht interpretieren kann. Recherchen im Internet machen mich bisher nicht wirklich schlauer.

Ich würde mich freuen, wenn mir jemand weiterhelfen könnte. Ich habe die zwei Funktionen “Schalter” und “Servoansteuerung” in zwei getrennten Programmen getestet und es hat funktioniert. Nun, nachdem ich beide Funktionen zusammengefügt habe, ist offensichtlich etwas falsch.

Hier die Fehlermeldungen:
/var/folders/c5/5xf5ghts593b0695vwx6qp740000gn/T//ccseuOPj.ltrans0.ltrans.o: In function main': /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/main.cpp:46: undefined reference to loop’
collect2: error: ld returned 1 exit status
exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

Hier mein kleines Programm:

/* Zwei Servos werden über zwei Schalter angesteuert. Die Servos drehen sich spiegelverkert.
* um 180 Grad. Schalter A (Auf) dreht beide Servos in 180 Grad Stellung, Schalter Z (Zu) in 0 Grad Stellung
*/

#include <Servo.h>

const int servoL = 10; //Linker Servo
const int servoR = 11; //Rechter Servo
const int buttonApin = 9; // SchalterA auf Pin 9 "AUF"
const int buttonZpin = 8; // SchalterZ auf Pin 8 "ZU"

Servo myservoL;  // create servo object to control a servo
Servo myservoR;  // create servo object to control a servo


void setup() {
 myservoL.attach(10);  // deklariert den ServoL auf pin 10 mit dem Servo Objekt
 myservoR.attach(11);  // deklariert den ServoR auf pin 11 mit dem Servo Objekt
 pinMode(buttonApin, INPUT_PULLUP);  
 pinMode(buttonZpin, INPUT_PULLUP);
}
 
void Loop() { 
 if (digitalRead(buttonApin) == LOW)
 {
    myservoL.write(0);
    myservoR.write(180);
 }
 if (digitalRead(buttonZpin) == LOW)
 {
   myservoL.write(180);
   myservoR.write(0);
 }
}

loop() wird klein geschrieben.

Beim nächsten Mal setze Deinen Sketch bitte in Codetags. (</> oben links im Forumseditor)

Gruß Tommy

Steht doch in der Fehlermeldung: Loop

Edit: Tommy war schneller

Hi

Tommy56:
loop() wird klein geschrieben.

Ich schaue mir schon einige Minuten den Sketch an und mir fällt Nichts auf, war schon 'drauf und dran' die VM erneut zu starten um den Sketch darein zu kopieren ...

Respekt, die 'nicht referenzierte loop' hatte ich nämlich ganz deutlich im Code gesehen :wink:

MfG

PS: Man muß die Fehlermeldung halt nur richtig interpretieren ...

PS: Man muß die Fehlermeldung halt nur richtig interpretieren ...

:smiling_imp: das fängt mit lesen an :smiling_imp:
Erst nach dem Lesen, und dem Verstehen, geht es an das Interpretieren.

Tipp:
Wenn der Linker sagt, dass er eine Referenz nicht auflösen kann, dann ist das IMMER glaubwürdig.

Hi

Ja klar (sonst würde Der ja nicht so was sagen).
Nur fand ich ja loop in dem Sketch ... ok, mit großen L ... da muß man schon auf solche Kleinigkeiten achten ... so was Kleines, wie ein großes L.

MfG

Gerade weil ein (L/l)oop im Code stand und der Linker ihn nicht finden wollte (der geht vom loop() in der main aus) fiel der Blick noch mal darauf und entdeckte das große L.

Gruß Tommy

Ach, nur noch 20 Jahre, dann ist auch dein Blick geschärft.

Und die "Macht der Unmöglichkeit", die muss tief einsickern.

Linker meckert fehlendes loop an, Sucher findet loop.
Unmöglich!
Einer MUSS sich irren, Linker oder Sucher.

Das fatale:
Augen + Hirn betrügen uns.
Also wir selber sorgen dafür, dass wir genau das sehen, was wir dort erwarten.
Kleinere Fehler, wie L und l, rechnet das Hirn einfach weg.
Wird ausgeblendet.
Was im Normalfall, bei einfachen Texten(Romane usw.), auch gut und richtig ist, ja, sogar nötig ist, wirkt sich in der EDV fatal aus.

Und dort liegt der Vorteil von der "Macht der Unmöglichkeit". Wenn man diese akzeptiert, dann kann man gezielt den "Sprung in der Projektion" suchen.

Der Weg geht also nicht über "Kleinigkeiten achten", sondern über Einsicht.