Hallo,
Ich habe einen Elegoo Uno R3 und habe das Blink-Beispiel erfolgreich ausgeführt. Jetzt hab ich den Code abgeändert, so dass die LED 20 Sekunden brennen soll und erst dann ausgehen soll :
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(20000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
}
Aber es ändert sich nichts. Die LED blinkt dennoch jede Sekunde. Desweiteren kann ich in Arduino 1.8.2 meinen Sketch immer nur einmal Hochladen auf den Elegoo. Bei erneutem Hochladen kommt immer die folgende Fehlermeldung :
Der Sketch verwendet 886 Bytes (2%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2039 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Beim Hochladen des Sketches ist ein Fehler aufgetreten
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Ich muss also immer erst wieder den Arduino abstöpseln vom USB, dann wieder anstecken und dann gehts ab und zu. Aber die LED blinkt immer nur jede Sekunde, egal wie ich den Code abändere.
wenn es immer noch im 1s Takt blinkt, dann hast du bis jetzt nichts an neuen Code hochladen können. Denn mit deinem Code würdest du die LED im Dauer leuchten beobachten können. Schalte doch mal die komplette Ausgabe ein. Compiler Warnungen "ALLE". Ich vermute irgendein Treiberproblem.
Wenn das der komplette Sketch ist dann fehlt die Deklaration der Variablen LED_BUILTIN ( oder ist das eine Systemvariable und per se als D13 Pin definiert)? Es ist aber nicht schlimm wenn Du dir die Deklaration der Variablen angewöhnst.
Dein Sketch schaltet die LED für 20 Sekunden an und dann für einige µS aus um sie dann wieder für 20 Sekunden einzuschalten. Du brauchst ein zweites delay() für die Zeit in der die LED aus sein soll.
Ich nehme an die LED RX und TX blinken nicht während des Uploads.
Das hängt davon ab, ob Du uns verräts, welchen BOCKMIST DU machst.
Es gibt im wesentlichen zwei verschiedene Funktionen, um aus der IDE heraus einen Sketch auf das angeschlossene Board hochzuladen:
Funktion "Sketch hochladen", bzw. Tastenkombination Strg+U
Funktion "Sketch hochladen mit Programmer" bzw. Tastenkombination Strg+Shift+U
Die zweite Funktion umgeht den Bootloader und funktioniert nur zusammen mit einem ISP-Programmer, der am sechspoligen ISP-Programmieranschluss angeschlossen sein muss.
Hast Du einen ISP-Programmer?
Wenn Du keinen ISP-Programmer hast, darfst Du auf keinen Fall die Funktion "hochladen mit Programmer" aufrufen!
Verwendest Du "Sketch hochladen" oder "Sketch hochladen mit Programmer?"
Wenn das Board über USB-Kabel mit dem PC verbunden ist, darfst Du nur die Funktion "Sketch hochladen" verwenden und nix mit "Programmer.
Wenn Dein Sketch nach dem Hochladen eines geänderten Sketches immer noch im Sekundentakt blinkt, dann hat das Hochladen nicht funktioniert und es ist IMMER NOCH DER ALTE BLINK Skletch auf dem Board drauf, der die Board-LED blinken läßt.
Bockmist trifft es leider nicht ganz...eher eine falsche Portvoreinstellung der IDE >:( . Da war COM1 ausgewählt statt COM4. Jetzt funktioniert der Sketch problemlos und auch das hochladen.
Vielen Dank für die zahlreichen Antworten und noch einen schönen Abend !
UnoRookie
uwefed:
Ist für mich aber besonders für Anfänger irreführend. Ok es ist einfach aber die Information daß das LED an Pin D13 hängt wird verschleiert.
Jede Abstraktion verschleiert irgendwas.
Aber andererseits bringt sie auch Flexibilität.
Hier z.B., dass das Blink Beispiel aus der IDE, auf ALLEN Arduinos blinkt.
Egal, an welchem Pin die LED wirklich sitzt.
Egal, ob AVR, ESP oder STM.
Bedenke:
Mit wieviel Sonderfällen, und ihren Abhandlungen, müsste man das IDE Beispiel fluten, damit es auf allen Arduino Kompatiblen läuft?
Und was das größte Problem sein dürfte: Auch auf den Zukünftigen, die noch nicht mal erfunden sind.