c:/users/XXX/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega328p.o:(.init9+0x0): undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
Auch Fehlermeldungen richtig formatieren, wenn Sie auch nicht ganz sind, so ist es aber übersichtlicher:
c:/users/XXX/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega328p.o:(.init9+0x0): undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
Ich habe auf der IDE versucht den Code umzuschreiben (Alles hat ohne Probleme funktioniert). Als ich später am Abend weitermachen wollte (Habe am Code bis dahin noch nichts geändert) kam diese Fehlermeldung. Ich habe das ganze nochmals heruntergeladen und versucht die IDE zu löschen, da ich das Programm nicht in den Einstellungen bei den Apps löschen konnte, habe ich das trotzdem installiert. Es kam immer die Meldung ,,Diese Datei ist bereits vorhanden.,, Deswegen habe ich den Autoklicker die ganze Zeit auf Datei ersetzen klicken lassen. Hat trotzdem nichts gebracht
Ich vermute mal, dass du den Code meinst an dem ich bisschen probiert habe.
Es ist der Code den du mir geschickt hast, ich habe den nur ein bisschen bearbeitet.
const byte motL[2] = {5, 10};
const byte motR[2] = {6, 9};
void setup() {
Serial.begin(9600);
Serial.println(F("\r\nStart...\r\n"));
for (byte b = 0; b < 2; b++)
{
pinMode(motL[b], OUTPUT);
pinMode(motR[b], OUTPUT);
digitalWrite(motL[b], LOW);
digitalWrite(motR[b], LOW);
}
}
void loop() {
//Serial.println(F("Starte Motor L Richtung 1"));
//digitalWrite(motL[1], HIGH);
//Serial.println(F("Starte Motor R Richtung 1"));
//digitalWrite(motR[1], HIGH);
//delay(5000);
// Serial.println(F("Stoppe Motor L"));
// digitalWrite(motL[0], LOW);
// Serial.println(F("Stoppe Motor R"));
// digitalWrite(motR[0], LOW);
// delay(5000);
// digitalWrite(motL[1], LOW); // Linker Motor nach vorne
//digitalWrite(motR[1], LOW);
//delay(100); // Kurze Pause zum anhalten
//Serial.println(F("Starte Motor L Richtung 2"));
//digitalWrite(motL[0], HIGH);
//delay(5000);
//Serial.println(F("Stoppe Motor L"));
// digitalWrite(motL[0], LOW);
Serial.println(F("Starte Motor L Richtung 1"));
digitalWrite(motL[1], HIGH);
Serial.println(F("Starte Motor R Richtung 1"));
digitalWrite(motR[1], HIGH);
//delay(5000);
Serial.println(F("Starte Motor R Richtung 2"));
digitalWrite(motR[1], LOW);
delay(100); // Kurze Pause zum anhalten
digitalWrite(motR[0], HIGH);
delay(5000);
Serial.println(F("Stoppe Motor R"));
digitalWrite(motR[0], LOW);
}
Der Sketch kompiliert fehlerfrei.
Es könnte daran liegen, das Ardublock da was komisches draus macht.
Du benutzt doch windows...
Bitte hole Dir die Version 1.8.19 als .zip und bau Dir eine portable Installation.
(zip entpacken und in der ausgepackten einen Ordner portable anlegen)
Ok, das mit dem auf Updates prüfen kann man machen - ich mach es nich...
Und wenn Du nichts weiter daran änderst, dann kannst Du jeden Abend den Ordner portable kopieren und an einem sicheren Ort unterbringen.
Da ist ALLES drin, was Du brauchst, wenn Du mal auf einen anderen rechner umziehst etc. pp. (Auch auf eine mit einem komplett anderem Betriebssystem)
Also alle Sketche und libs und alle Einstellungen....
So und nu kannst mal austesten, was der Sensor so von sich gibt.
Und ja, der kann gut messen.
Schön zu wissen, was da verbaut ist.
Der zweite Sensor ist ein Reflexionssensor.
Eine LED sendet udn eine empfängt.
Gerne nach unten gerichtet genutzt um einer Linie zu folgen. (Da geht nur reflexion erkannt / Reflexion nicht erkannt)
Ich habe deinen Code eingefügt, da sich der Roboter nicht bewegt vermute ich, dass die pinnst nicht stimmen. Auf der Platine ist beim Sensor 1 ist 6 und 7 und beim Sensor 2 ist 8 und 9.
Ok.
Der Code passt aber zu den Bildern.
Ich hab mal runter gekürzt.
Der Serielle Monitor (WERKZUGE - Serieller Monitor) sollte Dir mit dem folgenden Code alle 100ms einen Wert ausgeben.
Wenn Du die hand an den Sensor führst, sollte der kleiner werden...
Wenn nicht, haben wir evtl. ein Problem...