Arduino; UNO vs. Leonardo

moinsen leuz,

bin seit kurzem wieder im Hardwarebereich Arduino aktiv und bin auf eine interessante neuerung gestoßen.

Bei Watterott gibt es einen Arduino Leonardo

Hat jemand schon Erfahrungen mit diesem neuen Mitglied? Es ist ein anderer Chip verbaut, konnte nur nicht viel in Erfahrung bringen.

gruß da Hool

So ganz neu ist er auch nicht mehr, hatte meinen ersten Leonardo bereits Ende Mai gekauft und hier eine kleine "Bestandsaufnahme" gemacht: sth77 | Arduino Blog: Arduino Leonardo
Das schöne ist, dass man den Leonardo als Eingabegerät, d.h. als Tastatur ode Maus verwenden kann, außerdem hat er einen PWM-Pin mehr als der Uno. Nachteilig ist hingegen, dass man den Mikrocontroller nicht im DIP-Format bekommt - man ja nicht alles haben. :wink:

Bleibt nochmal explizit zu vermerken, daß der Arduino Leonardo eine Mirco USB Buchse hat. Der Arduino UNO hat eine mini Buchse. Beim Kauf, falls man nicht bereits einen geeigneten USB-Kabel von anderen Geräten hat, gleich den richtigen USB-Kabel mitbestellen der zB im Arduino-Shop wo dieser relatv billig ist ( http://store.arduino.cc/ww/index.php?main_page=product_info&cPath=11_15&products_id=181)
Grüße Uwe

moin,

mir gehts vorallem um den Chip. ob es dort vor oder nachteile gibt, ich mit dem leo vll auch sachen verzichten muss, die ich beim uno hab ect

Außer daß einige Anschlüße auf anderen Pins sitzen und man darum aufpassen muß alles richtig anzuschließen und einige ältere nicht R3 Shields Probleme bereiten könnten gibt es meines wissens keine Nachteile.
Der Bootloader ist wesentlich größer ( 4kByte gegenüber 0,5kByte des UNO). Das müßte aber keine Probleme bereiten.
Grüße Uwe

Du hast einen Vor- bzw. Nachteil, der nicht unerwähnt bleiben soll:

Da der verbaute Chip (ATmega32U4) USB direkt auf dem Microcontroller unterstützt, fällt der FTDI bzw. ATmega16U2 des UNO weg, der die USB2Serial-Umsetzung gemacht hatte. Somit wird für die (Debug-)Verbindung zum PC nicht mehr der Hardware-UART (pin 0 und 1) benötigt und dieser ist frei für die Ansteuerung von irgendwelchen Devices. Wo bei einem UNO zwangsweise auf SoftwareSerial ausgewichen werden musste, wenn ein Device nur per UART-Schnittstelle kommunizieren konnte, ist dies beim Leonardo nicht mehr nötig. Der Hardware-UART ist bei ihm über das Objekt Serial1 zugreifbar, während die Debug-Schnittstelle weiter als Serial-Objekt zur Verfügung steht.
Da bei vielen Sketches die Hardware-UART-Schnittstelle fest mit "Serial" angesprochen wird, kann das notwendige Änderung mit sich ziehen.

Auch ist beim Leonardo in der setup()-Routine nach Serial.begin() der folgende Code anzuraten:

while (!Serial);

Dieser wartet auf die abgeschlossene Initialisierung der seriellen Schnittstelle am USB-Bus und verhindert, dass die ersten Zeichen der Debug-Meldungen verloren gehen.

Danke für die Information! Das hatte ich anfangs noch gar nicht bedacht, obwohl ich eigentlich im Hardwarebereich der Hauptseite darüber gestolpert sein müsste. Ich sehe das als großen Vorteil, wenn man andere serielle Geräte ansteuern will/muss. Vielleicht kann sich der eine oder andere so einen Arduino Mega sparen...