ubuntuusers.de

arduino leonardo "hello world"

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

elostio

Avatar von elostio

Anmeldungsdatum:
2. Februar 2006

Beiträge: 424

Wohnort: Guayaquil

Ich habe mir soeben ein Arduino Leonardo-board aus Spaß gekauft. Doch leider bekomme ich ein einfaches Blink einfach nicht zum laufen.

Mein User ist Mitglied der Gruppe dialout.

Ich habbe das richtige Board ausgewählt, als Serial Port habe ich /dev/ttyS0 gewählt.

Anfangen wollte ich mit dem hello world der microcontroller und habe aus den vorgefertigten Beispielprogramm der Arduino IDE blink auf das Board hochgeladen. Es erscheint keine Fehlermeldung und die IDE bestätigt den upload mit Done uploading.

meine Erwartung: Die Led auf dem Board sollte im Sekundentakt zwischen an und aus wechseln.

das beobachtete Ergebnis: Die Led blinkt 3 mal kurz und einmal lang, wobei der ganze Zyklus weniger als eine halbe Sekunde dauert.

Was ich bis jetzt probiert habe: Den nightly build der IDE, und die in den offizielle in den Quellen enthaltene. Hat keinen nennenswerten unterschied im Ergebnis gezeitigt.

Hat jemand damit Erfahrung oder einfach einen Tip?

lg

Developer92 Team-Icon

Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

elostio schrieb:

Hat jemand damit Erfahrung oder einfach einen Tip?

Es gab da einen Bug welcher verhindert hat, dass einfache Programme laufen, sofern die serielle Schnittstelle nicht initialisiert wurde. Ein Serial.begin(9600); am Anfang deiner setup()-Funktion sollte ausreichen um das zu korrigieren. Ist natürlich nur geraten, schließlich kann der Fehler auch andere Ursachen haben.

Für genauere Fehleranalysen wäre natürlich dein exaktes Programm interessant und ob andere Programme funktionieren (einfach ein paar Beispiele ausprobieren, auf arduino.cc gibt es genug davon)

elostio

(Themenstarter)
Avatar von elostio

Anmeldungsdatum:
2. Februar 2006

Beiträge: 424

Wohnort: Guayaquil

Hi vielen Dank für die Antwort. Half leider nicht. Hier ist der Code.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  Serial.begin(9600);
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Developer92 Team-Icon

Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

elostio schrieb:

Hi vielen Dank für die Antwort. Half leider nicht.

Schade, wäre auch zu einfach gewesen.

Bist du dir im Übrigen sicher, dass dein Code sich auf dem Arduino-Board befindet? Ich selbst habe nur den Arduino Uno, der hat bezüglich Reset nicht die Probleme wie der Leonardo (dazu häufen sich im Internet geradezu die Threads).

Hier ist der Code.

[…]

Hm, der Code sieht in Ordnung aus, sollte eigentlich laufen.

elostio

(Themenstarter)
Avatar von elostio

Anmeldungsdatum:
2. Februar 2006

Beiträge: 424

Wohnort: Guayaquil

Habs mal auf einem anderen Computer mit einem anderen Betriebssystem probiert, funktioniert ohne Probleme. So kann ich zumindenstens mal ausschließen dass das Board nicht funktioniert.

Bist du dir im Übrigen sicher, dass dein Code sich auf dem Arduino-Board befindet? Ich selbst habe nur den Arduino Uno, der hat bezüglich Reset nicht die Probleme wie der Leonardo (dazu häufen sich im Internet geradezu die Threads).

Ich war mir sicher dass sich der Code nicht darauf befindet und hab auch auf das Resetproblem getippt. Mitlerweile bereue ich es dass ich mich für das Leonardo entschieden habe.

Ich werd mich noch mehr damit spielen, vielleicht krieg ich es ja noch hin. Was ich mich auch frage was denn dieser weiter obene beschriebene Blinkcode eigentlich heißt. Hab keine Dokumentation dazu gefunden, den Sourcecode wollte ich mir noch nicht ansehen.

Edit:

Was mich wirklich ärgert ist dass die Rückmeldung der IDE schlichtwegs faslsch ist, die Software wurde ja nicht upgeloaded - vielleicht gibt es ja diesbezüglich schon Bugreports.

Developer92 Team-Icon

Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

elostio schrieb:

Habs mal auf einem anderen Computer mit einem anderen Betriebssystem probiert, funktioniert ohne Probleme. So kann ich zumindenstens mal ausschließen dass das Board nicht funktioniert.

Hm, dann musst du unter Ubuntu tatsächlich etwas rumprobieren. In den Threads die ich so gefunden habe wird empfohlen das Programm zuerst zu kompilieren, dann das Board zu resetten und anschließend den Upload-Button in der Arduino-IDE zu drücken. Problematisch ist, dass man das erst ein paar mal probieren muss, bis man den genauen zeitlichen Ablauf drin hat.

Die offizielle Webseite beschreibt das Problem sogar: http://arduino.cc/en/Guide/ArduinoLeonardoMicro#toc12

Ich war mir sicher dass sich der Code nicht darauf befindet und hab auch auf das Resetproblem getippt. Mitlerweile bereue ich es dass ich mich für das Leonardo entschieden habe.

Verständlich. Falls du noch ~20 Euro übrig hast könntest du dir ja noch einen Arduino Uno (Rev.3) holen. Der ist fast baugleich, funktioniert aber problemlos.

Ich werd mich noch mehr damit spielen, vielleicht krieg ich es ja noch hin. Was ich mich auch frage was denn dieser weiter obene beschriebene Blinkcode eigentlich heißt. Hab keine Dokumentation dazu gefunden, den Sourcecode wollte ich mir noch nicht ansehen.

Dieser „Blinkcode“ ist das Hello-World-Programm für Arduino-Boards. Die Erläuterungen dazu finden sich hier.

Was mich wirklich ärgert ist dass die Rückmeldung der IDE schlichtwegs faslsch ist, die Software wurde ja nicht upgeloaded - vielleicht gibt es ja diesbezüglich schon Bugreports.

Nunja, das Problem ist bekannt. Eine wirkliche Lösung ist aber nicht in Sicht, was die IDE aktuell macht gleicht auch eher einem Hack als einer Lösung.

elostio

(Themenstarter)
Avatar von elostio

Anmeldungsdatum:
2. Februar 2006

Beiträge: 424

Wohnort: Guayaquil

Dieser „Blinkcode“ ist das Hello-World-Programm für Arduino-Boards. Die Erläuterungen dazu finden sich hier.

Ich glaube das krieg ich noch hin 😉 . Was ich meinte war der Blinkcode der LED des Booloaders.

Developer92 Team-Icon

Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

elostio schrieb:

Dieser „Blinkcode“ ist das Hello-World-Programm für Arduino-Boards. Die Erläuterungen dazu finden sich hier.

Ich glaube das krieg ich noch hin 😉 . Was ich meinte war der Blinkcode der LED des Booloaders.

Oh, pardon, da hatte ich dich missverstanden. Der Code des Bootloaders ist natürlich auch einsehbar, wenn ich mich nicht irre zeigt ein dreimaliges kurzes Blinken an, dass der Bootloader mit der Initialisierung fertig ist. Der Code ist hier einsehbar (ich hoffe, dass der Atmega8-Bootloader auch für den Leonardo verwendet wird). Komischerweise ist die Sektion mit dem Blinken allerdings auskommentiert, warum auch immer.

Antworten |