Hi,
mir ist hier im Forum aufgefallen, dass einige hier die
Arduino-Plattform ziemlich denunzieren.
Wie kommt es dazu?
Was spricht gegen Arduino?
Grade für Anfänger, die erst "rein kommen" wollen, ist Arudino doch ein
leichter Einstieg oder sehe ich das falsch?
Und wenn man ein Nano nimmt ist die "Energieverschwendung" doch gar
nicht mehr soo groß?
Die Bauteile, die man verbauen muss, um nen Atmega ohne
Arduino-Environment sinnvoll in Betrieb zu nehmen sind doch ähnlich
Umfangreich wie ein ganzer Arduino?
Klar, die Libs haben ein bischen Overhead -- aber ist das wirklich so
"schlimm" wie es oft abwertend dargestellt wird, oder geht es dabei eher
Haarspalterei?
Bin gespannt auf euer Feedback!
Na, nichts was hilft!
dev schrieb:> Grade für Anfänger, die erst "rein kommen" wollen, ist Arudino doch ein> leichter Einstieg oder sehe ich das falsch?
Da auf jeden Fall. Allerdings bleiben viele bei dem Arduino-Sandkaste,
wollen C++ nicht richtig lernen und verstopfen dann die Foren mit Fragen
wie man Arrays übergibt... Arduino als Basis zu nehmen von der man sich
dann aus weiterentwickelt ist legitim...
> Die Bauteile, die man verbauen muss, um nen Atmega ohne> Arduino-Environment sinnvoll in Betrieb zu nehmen sind doch ähnlich> Umfangreich wie ein ganzer Arduino?
Naja, die 2 Kondensatoren und der 1 Widerstand sind schon etwas weniger
als die stifteleisten, USB-Buchse, FT232RL, Taster, etc. was da so alles
drauf ist.
> Klar, die Libs haben ein bischen Overhead -- aber ist das wirklich so> "schlimm" wie es oft abwertend dargestellt wird, oder geht es dabei eher> Haarspalterei?
Das "schlimme" daran ist nur, dass so keiner lernt wie es "richtig" geht
und dann im Forum rumjammern geht wenn er was nicht hinbekommt...
PS: Ein STM32F4 Discovery kostet weniger als ein Standard-Arduino und
hat die 100-fache Leistung... Okay einsteigerfreundlich ist das nun
nicht gerade.
Arduinos gibt es immer wieder: Mikrocontroller in etwas handhabbarer
Verpackung mit vereinfachter Programmierung.
Basic Briefmarke und C-Control, sind Arduino ähnlich und wieder
verschwunden.
Für einen Anfänger ist es verlockend, ein "einfaches" Produkt zu
bekommen, für einen Erfahrenen sind die Preise überzogen und das gesamte
Set (bei Arduino also die Shields, wenn man sie nicht verwendet könnte
man auch an statt des Arduino einen uC verwenden) zu einschränkend.
Daher lohnt es nicht, man fängt besser mit einem "richtigen" uC an, auch
wenn der erste Programmierversuch damit länger braucht. Man muss später
nicht mehr umlernen und vergessen.
Für Informatiker sind Arduinos und Raspberrys aber einfached
einzuschalten.
Für Arduinos sehe ich persönlich auch wenig Grund.
Beim Raspberry sieht das etwas anders aus, weil der Raspi die vermutlich
billigste Möglichkeit ist an eine vollwertige, halbwegs schnelle und
kompakte PC-Plattform zu kommen.
Naja, den Vorteil den meiner Ansicht nach der Arduino gegenüber Sachen
wie der "C-Control" oder der "BASIC-Stamp" hat, ist dass man im Prinzip
nur einen ganz normalen ATMega hat. Das Arduino Zeug ist nur eine
benutzerfreundliche Software. Somit kannst Du das Teil auch mit Deiner
eigenen Software bespielen und auch problemlos wieder den Original
Bootloader drauf bekommen.
Das unterscheidet meiner Meinung nach den Arduino gegenüber den anderen
"Mikrocontrollern für Dummies".
Christian Berger schrieb:> Somit kannst Du das Teil auch mit Deiner> eigenen Software bespielen und auch problemlos wieder den Original> Bootloader drauf bekommen.
Ich mache das nur so und habe die Arduino IDE nie benutzt mit meinen
beiden 2009ern. Man könnte evtl. kritisieren, das die Arduinos ein wenig
teuer sind, aber als Experimentierboards sind sie zumindest weniger
fehlerträchtig als Steckbretter. Die USB Anbindung spart ausserdem noch
Stromversorgung und Kommunikationskram, den man sonst extra machen
müsste.
Arduino ist vom Prinzip gut, wird aber noch besser, wenn man das
"Arduino" bei der Betrachtung weglässt.
Ich hab auch ein Arduino-Board (Mega2560), allerdings betrachte und
benutze ich das einfach nur als Board wo ein Atmel-µC drauf ist. Ohne
Arduino IDE oder Bootloader.
Ist halt ganz schön, weil ich mir keine Gedanken machen muss wie ich den
µC auf ne Platine gelötet bekomme, und auch um den Quarz, Kondensatoren,
Spannungswandler usw. muss ich mich nicht kümmern, das ist ganz schick.
Da hört es für mich dann aber auch schon auf.
Das Problem bei Arduino liegt für mich schlicht darin, das du einen µC
benutzen willst, du aber in keinster weise dazu "gezwungen" wirst ins
Datenblatt des µC zu schauen. Das endet dann so, das es eine Fülle von
Fragen gibt, ("Warum geht das nicht?", "Wie funktioniert dieses?", "Hier
passieren komische Sachen, HIIIILFEEEE!"), die gar nicht bzw. vermindert
auftreten würden, wenn man einfach mal ins Datenblatt schauen würde.
Und in Arduino-"Libs" von Dritten hab ich schon so harte
Programmierfehler gefunden, da wird einem echt schlecht. (als Beispiel
die ShiftPWM-Lib)
OK, das kann auch einfach daran liegen das die Lib von Dritten kommt,
man weiß es halt nicht genau.
Ein µC ist halt kein Auto, wo du einsteigst und losfährst. Ein µC ist
mehr wie der Motor des Auto. Damit der Motor das macht, was er machen
soll, und es auch richtig macht, musst du dich zwangsweise mit dem
Datenblatt und der Funktionsweise auseinandersetzen. Und genau das fehlt
bei Arduino! Arduino will dir erzählen das der µC das Auto ist:
einsteigen und losfahren. Und das funktioniert eben nicht, bzw. nicht
sehr lange.
Außerdem wird ein riesen OverHead erzeugt:
Ein Arduino-Anfänger wird um 20 Pins zu setzen, 20 Funktionen
aufrufen...
Der selbe Anfänger müsste ohne das ganze Arduinozeug ins µC-Datenblatten
schauen und würde sehen, dass das ganze auch mit deutlich weniger Code
wesentlich schneller geht, weil der OverHead für die 20 Funktionsaufrufe
wegfällt.
Arduino: Vom Prinzip ganz gut, aber wenn man es "richtig" lernen möchte,
der falsche Weg.
Das ist soweit meine Meinung dazu. Aber da kann man lange und viel
drüber diskutieren.
Ich störe mich bestenfalls ein klein wenig daran das die Dinger zwar
professionell und in Massen verkauft werden, aber nicht professionell
designed sind und auch nicht besser werden.
Das Bild zeigt den Bereich um den Quarz herum vom Due, also dem
ARM-Arduino.