Forum: Mikrocontroller und Digitale Elektronik Erfahrungen mit Arduino


von Belo L. (belo)


Lesenswert?

Hallo Forum,

bei mehreren Posts habe ich eine ziemlich negative Einstellung zu 
Arduino festgestellt. Da ich mich gerade in diese Thematik einbeite, 
würden mich die Gründe interessieren. Sagt doch mal bitte, warum ihr den 
Arduino meidet. Aber bitte kein Anti-Arduino-Shitstorm, sondern die 
Erfahrungen, die ihr damit gemacht habt und vielleicht bessere 
Alternativen. Vielleicht wechsele ich dann noch mal.

Viele Grüße

Belo

: Bearbeitet durch Admin
von Paul A. (wandkletterer)


Lesenswert?

Gibt im Grunde keine objektiven Nachteile. Es gibt Anwendungszwecke wo 
ein anderes Board sinnvoller wäre oder kein Board.

von Kaj (Gast)


Lesenswert?

Was mich persoenlich an "Arduino" stoert:

1. Es sind nicht alle Pins nach aussen gefuehrt (z.B. beim Mega2560 oder 
Due). Fuer was bezahle ich denn da 35 - 40 Teuronen? (Frueher sogar 50!) 
Finde ich echt aergerlich.

2. Diese verschissene Luecke von 1.27mm statt 2.54mm zwischen den beiden 
oberen Pinleisten auf der rechten Seite (wenn USB-Buchse nach vorne 
zeigt). Damit kann man praktisch keine einfache Lochraster nutzen, wenn 
man die Pins ganz oben rechts braucht. Waere ja auch zu einfach, wenn 
man sich selbst mal eben schnell ein "Shield" basteln koennte.

3. Das Arduino-Framework ist, was die Performance angeht, schlicht 
scheisse. Das fuehrt dazu, dass einige der Meinung sind einen i7 mit 
droelf Gigabyte RAM zu brauchen, wo es auch der normale AVR tut, wenn 
man den denn vernueftig programmieren wuerde.

4. Die Arduino "IDE" ist sehr schlecht. Da haetten die mal lieber einen 
guten Texteditor wie Notepad++, oder eine IDE wie QtCreator oder Eclipse 
nehmen und dafuer dann ein Plugin schreiben sollen.

5. Es gibt sehr viele, teilweise ueberfluessige Fragen, weil sich die 
Leute nicht mit dem Datenblatt des Controllers beschaeftigen wollen. 
Dazu wollen sich viele nicht mal mit C oder C++ beschaeftigen.

6. Der falsche Gebrauch des Wortes "Library" im Arduinoumfeld. Eine Lib 
ist eine Lib, und Header + Code sind halt Header + Code.

von Clemens L. (c_l)


Lesenswert?

Belo L. schrieb:
> bei mehreren Posts habe ich eine ziemlich negative Einstellung zu
> Arduino festgestellt. Da ich mich gerade in diese Thematik einbeite,
> würden mich die Gründe interessieren.

Die Arduinos sind sehr leicht zu benutzen, und deshalb gerade auch bei 
unerfahrenen Nutzern weit verbreitet. Das führt dazu, dass Fragen, die 
mit Arduino zusammenhängen, oft ein sehr niedriges Niveau haben.

von Christian S. (christian_s593)


Lesenswert?

Man sollte auch zwischen Arduino Hardware und der Arduino IDE 
unterscheiden.

Meines Erachtens hat die Hardware den entscheidenden Vorteil,
dass sie im Großen und Ganzen untereinander austauschbar und kompatibel 
ist.
(Korrigiert mich wenn ich falsch liege.) Vor allem für Programmierer,
die sich nicht mit den elektronischen Problemen des Hardwaredesigns
herumschlagen wollen, ein entscheidender Vorteil.
Ich selber hab die Hardware nie verwendet. Für meine Anwendungen waren
die Platinen von den Ausmaßen zu groß oder waren zu stromhungrig.
Vor allem brauch ich zum Teil andere Taktraten oder andere ICs als
Angeboten wird.

Zur IDE:
Aus Sicht eines Entwicklers sind mir einige Negativpunkte aufgefallen:
- Keine Unterstützung einiger ATMEL Prommer (Debugger)
- Generell keine Debugmöglichkeit (und Simulation) mittels Breakpoints
- Funktionen wie "Rename" "Refactoring" und "Go to reference" fehlen.
- Nur bedingte Möglichkeit aus der IDE hinter den Kulissen der Libraries 
zu sehen

Zu den Libraries selber kann ich nichts schlechtes Sagen,
das ewige Argument, dass ein Pin schalten 100 Takte dauert zählt auch
nicht wirklich, da man ein Pin auch noch auf Hardware-Ebene bedienen 
kann,
wenn man wirklich die Zeit optimieren muss. Zum Beispiel finde ich die
serielle Schnittstelle von Arduino sehr gut umgesetzt.
Jedoch stört mich bei den Libraries die grundsätzliche Benutzung der 
Hardware-Timer, ohne die Teile der Libraries nicht laufen.
Ich selber will die Timer und die Interrupts selbst verwalten und sehe
darin mehr eine Einschränkung als Erleichterung.

Für Einsteiger ist dies jedoch ein Segen. Wer will schon seitenweise
Datenblätter durchsuchen, wie man ein Timer einstellt, oder den Analog
Digial Konverter bedient, wenn es mit einem einfachen Befehl in der
Arduino IDE geht.

von Wirkungsgrad (Gast)


Lesenswert?

Kaj schrieb:
> 1. Es sind nicht alle Pins nach aussen gefuehrt (z.B. beim Mega2560 oder
> Due). Fuer was bezahle ich denn da 35 - 40 Teuronen? (Frueher sogar 50!)
> Finde ich echt aergerlich.

China: DUE ~16€ incl. Versand

> 2. Diese verschissene Luecke von 1.27mm statt 2.54mm zwischen den beiden
> oberen Pinleisten auf der rechten Seite (wenn USB-Buchse nach vorne
> zeigt). Damit kann man praktisch keine einfache Lochraster nutzen, wenn
> man die Pins ganz oben rechts braucht. Waere ja auch zu einfach, wenn
> man sich selbst mal eben schnell ein "Shield" basteln koennte.

Stimmt. Da kann man nix gegen sagen. Was empfiehlst' als Alternative?

>
> 3. Das Arduino-Framework ist, was die Performance angeht, schlicht
> scheisse. Das fuehrt dazu, dass einige der Meinung sind einen i7 mit
> droelf Gigabyte RAM zu brauchen, wo es auch der normale AVR tut, wenn
> man den denn vernueftig programmieren wuerde.

Naja - dafür ist es einfach. Manchem zu einfach - für andere ist das 
gut. Ich freue mich über die vielen Beispiele und Bibliotheken.

>
> 4. Die Arduino "IDE" ist sehr schlecht. Da haetten die mal lieber einen
> guten Texteditor wie Notepad++, oder eine IDE wie QtCreator oder Eclipse
> nehmen und dafuer dann ein Plugin schreiben sollen.

Das kannste ja auch einfach haben. Es gibt einige komplett eigene IDE's 
die Arduino-kompatibel sind. Am Ende ist die Hardware auch nur ein µC 
mit einem Bootloader (früher ein AVR - aber inzwischen gibts ja alles 
mögliche)

>
> 5. Es gibt sehr viele, teilweise ueberfluessige Fragen, weil sich die
> Leute nicht mit dem Datenblatt des Controllers beschaeftigen wollen.
> Dazu wollen sich viele nicht mal mit C oder C++ beschaeftigen.

Tja - leider. Das ist eben so weil es eine Platform mit sehr niedriger 
Einstiegshürde ist.

>
> 6. Der falsche Gebrauch des Wortes "Library" im Arduinoumfeld. Eine Lib
> ist eine Lib, und Header + Code sind halt Header + Code.

Ja, ok. Was kümmert es die stolze Eiche, wenn sich eine Wildsau an ihr 
reibt? Einfach nicht genau hingucken. Ein Diplom bekommt man dafür eh 
nicht und ich zumindest benutze es fürs Hobby - das ist Amateur und da 
darf es etwas "unscharf" sein...

von Jan L. (ranzcopter)


Lesenswert?

Wirkungsgrad schrieb:
>> 2. Diese verschissene Luecke von 1.27mm statt 2.54mm zwischen den beiden
>> oberen Pinleisten auf der rechten Seite (wenn USB-Buchse nach vorne
>> zeigt). Damit kann man praktisch keine einfache Lochraster nutzen, wenn
>> man die Pins ganz oben rechts braucht. Waere ja auch zu einfach, wenn
>> man sich selbst mal eben schnell ein "Shield" basteln koennte.
>
> Stimmt. Da kann man nix gegen sagen. Was empfiehlst' als Alternative?

Nano, Pro Mini, Mega Core, D1 Mini, Teensy, ... ;-)

von Wirkungsgrad (Gast)


Lesenswert?

Na das sind ja auch alles Varianten von Arduinos. Ich meinte jetzt eher 
- gibt es denn preislich konkurrenzfähige Protoboards mit besserem 
Raster und allen Pins herausgeführt?

Ich brauche meist die Pins nicht und habe sowohl die Arduino Pro Micro 
mit HardwareUSB als auch die Wemos D1 mini mit ESP-WLAN im Einsatz. 
Beides prima zum Basteln...

von Joachim S. (oyo)


Lesenswert?

Manchmal beschleicht mich persönlich der Eindruck, als ob der eine oder 
andere (unterbewusst?) auch deshalb ein Problem mit den Arduinos hat, 
weil es die Hürde für den Einstieg in die Mikrocontroller-Welt definitiv 
stark herabgesetzt hat.

Früher stand die Mikrocontroller-Welt nur einem kleineren, vglw. 
elitären Zirkel von Eingeweihten offen, man brauchte zumindest ein 
Grundwissen in ein paar Bereichen, musste sich hier und da einlesen, 
Datenblätter studieren, sich oftmals mit Assembler herumgequälen etc.

Heute mit den Arduinos hingegen kann im Grunde "jeder Depp" ohne die 
geringsten Kenntnisse von Elektronik etc. mit Hilfe eines kurzen 
Internet-Tutorials binnen Minuten die ersten Erfolgserlebnisse haben.

von chris_ (Gast)


Lesenswert?

Früher gab es mal die Vision der "Code Reusability". Damit war die Idee 
gemeint, Code wieder verwenden zu können.
Bei Arduino ist das mittlerweile mit den Plug-In Libraries gelöst. In 
jeder Library steckt so viel Know-How, dass es für einen Programmierer 
sehr aufwändig wäre, alles selbst zu programmieren.
Bei Arduino kein Problem: Library laden, fertig.

Braucht man z.b. einen Treiber für den neuen TOF Abstandssensor VL53L0x:
https://github.com/pololu/vl53l0x-arduino

Arduino ist mittlerweile die Rapid-Prototyping Platform für die es fast 
alles gibt.

Und was die leidige Diskussion von C++ auf Microcontroller anbelangt: 
Viele der Arduino Libraries sind in C++ geschrieben und die Libraries 
lassen sich erstaunlich gut in das System importieren.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

chris_ schrieb:
> . Bei Arduino kein Problem: Library laden, fertig.

Das Problem hierbei nur ist, daß das, was beim Arduino "Library" genannt 
wird, eben keine Library ist.

Was eine Library ist, ist im Umfeld Compiler - Assembler - Linker klar 
und eineindeutig definiert, nämlich compilierter Code in einem 
speziellen Library-Format (*.a bzw. *.lib bei den meisten Compilern).

Eine Arduino-"Library" ist hingegen Quelltext.

Und das ist der Grund, warum viele, die mit dem Arduino anfangen, 
erstmal sehr gründlich scheitern, wenn sie mit einer normalen 
C-/C++-Entwicklungsumgebung konfrontiert werden, die den Begriff 
"Library" im korrekten Sinne verwendet.

Für diesen Missbrauch des Worts "Library" gehören die Arduino-Schöpfer 
verprügelt. Da sie sonst für jeden Furz alternative Begriffe eingeführt 
haben - "Sketch", "Shield" etc., hätten sie das für ihre "Libraries" 
auch machen können.

von Wirkungsgrad (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Für diesen Missbrauch des Worts "Library" gehören die Arduino-Schöpfer
> verprügelt. Da sie sonst für jeden Furz alternative Begriffe eingeführt
> haben - "Sketch", "Shield" etc., hätten sie das für ihre "Libraries"
> auch machen können.

Ja, das hätten sie wohl mal besser machen sollen. Aber der Fakt ist doch 
nun bekannt und wenn man von Arduino zur "echten" IDE umsteigt weil 
einem die Arduino-Welt zu eng wird ist man sowieso bereit dazu zu 
lernen...

von Georg M. (g_m)


Lesenswert?

Belo L. schrieb:
> bei mehreren Posts habe ich eine ziemlich negative Einstellung zu
> Arduino festgestellt. Da ich mich gerade in diese Thematik einbeite,
> würden mich die Gründe interessieren. Sagt doch mal bitte, warum ihr den
> Arduino meidet. Aber bitte kein Anti-Arduino-Shitstorm ...

Die HW-Programmierer sind sehr emotionale Menschen, daher oft diese 
überzogene Reaktion.

von Katatafisch (Gast)


Lesenswert?

Ich bin mit dem AVR Studio groß geworden.
Vorteil ist hier einfach die deutlich besseren Debug-Möglichkeiten.
Also per Debug Wire oder JTAG direkt in die Register reingucken, 
Hardware Breakpoints nutzen usw.
Auch das Arbeiten mit großen Projekten geht meiner Meinung nach besser.

Die Arduino IDE habe ich lediglich einmal genutzt um auf einen ATMega 
eine fertige Firmware zu laden (Repetier Firmware, 3D Druck)

Die Boards nutze ich als Prototyping Plattform. Allerdings mit anderem 
Bootloader (Peter D. Fastboot).
Und da stoße ich recht häufig auf kleine Problemchen.
- 5V Arduino mit 3,3V ICs
- unnötiger Stromverbrauch durch USB/Serial-Wandler
- Baugröße
- Teilweise nicht der komplette Port rausgeführt

Arduino-Fanboys werden nun sagen es gibt doch 3,3V Typen, welche ohne 
USB/Seriell Wandler, welche mit drölfzig Pins ...
Aber, Beispiel 3,3V: Da habe ich einen Arduino pro Mini rumfliegen. 
Warum auch immer sind die I2C Pins irgendwo auf der Platine angeordnet. 
Das stört mich ungemein an dem Ding.
Oder warum einen 5V µC mit Pegelwandler für 3,3V nutzen, wenn ich direkt 
das ganze System auf 3,3V einstellen kann.

Daher für die ersten Codezeilen kommt der Arduino auf den Tisch, danach 
gehts gezielt mit einem anderen AVR (Tiny, Mega, XMega) auf dem 
Steckboard weiter.

Ich nutze gerne einen µC der so klein wie möglich und groß wie nötig 
ist. Eine 7-Segment Uhr lässt sich sehr gut mit nem Tiny 861 aufbauen.

von Tommi (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Was eine Library ist, ist im Umfeld Compiler - Assembler - Linker klar
> und eineindeutig definiert, nämlich compilierter Code in einem
> speziellen Library-Format (*.a bzw. *.lib bei den meisten Compilern).
Da moechte ich dir Widersprechen. "Suche FAT32-Bibliothek" ist 
sicherlich eine korrekte Ausdrucksweise und heisst nicht, dass es nur um 
eine .lib-Datei gehen soll. Natuerlich kann der Begriff Library auch 
enger gefasst werden, und dennoch ist er im weiteren Sinne genauso 
legitim. Selbst in der Fachsprache haben nicht alle Begriffe nur eine 
Bedeutung oder liesen sich in eine DIN pressen.

> Und das ist der Grund, warum viele, die mit dem Arduino anfangen,
> erstmal sehr gründlich scheitern, wenn sie mit einer normalen
> C-/C++-Entwicklungsumgebung konfrontiert werden
Den Grund des unterstellten Scheiterns wuerde ich eher in mangelndem 
Wissen und Erfahrung vermuten~

von Helmut H. (helmuth)


Lesenswert?

Wer sich quälen will und unbedingt Eclipse dazu braucht: 
http://playground.arduino.cc/Code/Eclipse

Der 1.27 Versatz beim Uno hat einen einfachen Grund: Man kann das shield 
nicht versehentlich versetzt falsch einstecken.
Den  Mini Pro (< 3 EUR) z.B. kann man direkt ins Lochraster oder 
Breadboard stecken.

In Anbetracht der kostenfreien und z.T wirklich hochwertigen Software, 
die leicht eingebunden werden kann (z.B. RFID, RF24, MPU650..) stört 
mich die falsche Verwendung des Begriffs Bücherei nicht weiter.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Tommi schrieb:
> Da moechte ich dir Widersprechen.

Das ist dann Deine Arduino-geprägte Sichtweise. Im Umfeld eines 
C-/C++-Compilers resp. Linkers ist das eindeutig definiert, was eine 
Library ist.

Und in diesem Umfeld --und darum geht es hier-- eine konträre andere 
Bedeutung einzuführen, ist schlichtweg kontraproduktiv und sorgt 
ständig für Irritationen und Frustrationen.

Man muss hier noch nicht mal besonders gründlich mitlesen, um dieses 
ständig wiederkehrende Thema mitbekommen zu haben.

von Joachim S. (oyo)


Lesenswert?

Rufus Τ. F. schrieb:
> Tommi schrieb:
>> Da moechte ich dir Widersprechen.
>
> Das ist dann Deine Arduino-geprägte Sichtweise. Im Umfeld eines
> C-/C++-Compilers resp. Linkers ist das eindeutig definiert, was eine
> Library ist.

Andererseits könnte man argumentieren, dass das halt nur in besagtem 
Umfeld so eng definiert ist, und beispielsweise Wikipedia eine viel 
allgemeinere Definition von "Library" bzw. "Programmbibliothek" angibt, 
die auch problemlos auf die Arduino-"Libraries" passt.

> Man muss hier noch nicht mal besonders gründlich mitlesen, um dieses
> ständig wiederkehrende Thema mitbekommen zu haben.

Ich lese hier im Forum mittlerweile sehr regelmässig mit, habe dieses 
Thema aber tatsächlich noch nie (bewusst) mitbekommen.

Aber anyway, was mich eigentlich interessiert: Welchen Begriff würdest 
Du stattdessen für die Arduino-"Libraries" vorschlagen/für besser 
passend halten?

von Yalu X. (yalu) (Moderator)


Lesenswert?

Wo wir gerade bei den Begrifflichkeiten sind:

Ein viel größeres Problem als in der falschen Verwendung des Begriffs
"Library" sehe ich darin, dass die Makros

  min, max, abs, constrain und round

in der Dokumentation "Functions" gelistet sind. Das altbekannte Problem
von Makros, deren Argumente mehrfach expandiert werden, wird bei Arduino
damit einfach unter den Teppich gekehrt.

Natürlich möchte man den Arduino-User, der noch nie ein C- oder gar
C++-Buch in der Hand hatte, nicht mit solchen Spezialitäten verwirren.
Aber warum hat man dann die o.g. Makros nicht einfach als echte
Funktionen, oder – um ihre Generizität beizubehalten – als Template-
Funktionen implementiert?

Stattdessen lässt man den unbedarften Anfänger in die Falle tappen, aus
der er sich mit eigener Kraft nicht wieder befreien kann. Selbst der
Fortgeschrittene findet den einzigen Hinweis darauf, dass diese
"Functions" in Wirklichkeit Makros sind, im Quellcode des Arduino-
Frameworks.

Das Thema wurde schon vor Jahren im Arduino-Forum diskutiert, aber
geändert hat sich seither nichts.

Ich finde generell die Entscheidung, C++ als Arduino-Sprache zu
verwenden, sehr unglücklich, da C++ nun einmal keine Sprache für
Anfänger ist. Sie wird auch nicht dadurch leichter, dass .ino statt .cpp
als File-Extension verwendet und nur ein Subset davon dokumentiert wird.
Spätestens, wenn der Compiler bei einem Syntaxfehler plötzlich ganz
seltsame Fehlermeldungen ausgibt, wird man mit dem vollen Sprachumfang
konfrontiert :)

von Jan L. (ranzcopter)


Lesenswert?

Joachim S. schrieb:
> Andererseits könnte man argumentieren, dass das halt nur in besagtem
> Umfeld so eng definiert ist,

...wobei ich auch "besagtes Umfeld" in Frage stellen würde - ich denke 
eher, der Standard-Arduino-Nutzer hat keine Ahnung, dass er einem 
"C++-Umfeld" zuzuordnen ist. Diese Idee wird m.E. auch offiziell nicht 
besonders in den Vordergrund gestellt.
Und ehrlich gesagt verstehe ich auch nicht, wieso ausgerechnet der 
Begriff der "Libraries" ein solches Problem darstellen soll.
Bin eher ein Wald-und-Wiesen-Gelegenheits-Gebrauchsprogrammierer, und es 
ist mir doch völlig schnurz, wie "Libraries" nun beim Arduino heissen, 
ob die Perl-Libs nun Sourcecode oder Binaries sind, ob's bei PHP nun 
PECL oder PEAR ist, oder analoger Kram bei Puppet als "Classes" verkauft 
wird.
Sollte ich jedenfalls auch mal mit "echtem C++" samt Umgebung zu tun 
haben müssen, käme ich jedenfalls nicht auf die Idee, mich zu 
beschweren, dass die Dinger dort dann "Libs" heissen, aber sich nicht an 
"Arduino-Konventionen" halten... ;-)
Ich würde jedenfalls mit einer "neuen Lernkurve" rechnen.

von Michael B. (laberkopp)


Lesenswert?

Paul A. schrieb:
> Gibt im Grunde keine objektiven Nachteile.

Ähm, hast du schon je einen benutzt ?

Arduino hat viele Vorteile: Einfach per USB programmierbar, einfach 
verständliche vorgefertigte Funktionen aus hohem Niveau, so z.B. 
Infrarotempfang mit automatischer Formatdecodierung, und die Übertragung 
des Programms aus der IDE zum per USB angeschlossenen Prozessor ist 
einfach integriert. Die Einstiegshürde ist also sehr niedrig, ideal für 
Anfänger.

Arduino hat aber auch viele Nachteile: Die Platine braucht deutlich mehr 
Strom als der nackte Prozessor, batteriebetriebene Anwendungen sind 
damit eher nicht zu bauen, viele I/O Anschlüsse sind bereits belegt. Die 
tollen Funktionen sind schnarchlangsam, schon das Bedienen eines 
Ausgangspins dauert 1000 mal länger als wenn man den AVR direkt 
programmiert. Die IDE, also Software-Erstellungsumgebung, ist auf 
Kindergartenstand, weit entfernt vom Komfort eines Eclipse/AVRStudio. 
Das macht sie anfänglich leicht verständlich, aber schnell auch 
unbequem.

Gerade daß der Simulator fehlt mit dem man einzelschrittweise sieht was 
der Prozessor macht und Instruktionen zählt, ist für Anfänger eher doof. 
Die Doku ist ebenfalls unterirdisch, oberflächlich werden die Funktionen 
beschrieben, aber z.B. herauszufinden welche Zahlenwerte HIGH und LOW 
haben ist versteckt. Tieferes Verständnis wird also behindert, auch eher 
doof für Anfänger.

Die Microchip IDE für PIC Prozessoren konnte als das, und wenn man den 
teuren Programmer kaufte war sie besser integriert. Sie war halt nicht 
kostenlos.

von Belo L. (belo)


Lesenswert?

Vielen Dank für die zahlreichen Antworten. Ist wirklich interessant und 
ich kann den Arduino jetzt besser einordnen.

Als vorläufiges Resumee nehme ich mit, dass der Arduino für den Anfang 
ganz in Ordnung ist, um sich erst einmal in das Thema einzuarbeiten. Und 
wenn man die ersten Hürden überwunden hat, sollte man dann doch 
überlegen, sich den "echten" Microcomputern zuzuwenden. Insbesondere, 
wenn es ein bisschen schneller sein muss oder wenn man den Prozess 
batteriebetrieben steuern möchte.

Vielen, vielen Dank

von der Legor (Gast)


Lesenswert?

Ich konnte Arduino (clones) HW und SW erfolgreich einsetzten und Anderen 
"unterjubeln"...

...solange Erfolg gemessen wird an Ansprüche, welche in der selben 
Schublade angesiedelt sind wie z.B. für Lego Technic/Fischer 
Technik/Meccano/Stockis/u.A.
Das ist jetzt ernst positiv gemeint.

Die niedrige Schwelle um Einsteiger überhaupt mal an die Sachen 
Programmierung und mit HW heranzuführen passt hervorragend, 
ungeachtet der Limitierungen.
Natürlich gibt's weder bei Meccano noch den Anderen Linksgewinde, 
Schrägverzahnung noch geschliffene Stahlachsen mit ø12mm, der Modul der 
Zahnräder ist auch nicht frei wählbar so wie auch nicht die Breite der 
Zahnräder um den Drehmomente angepasst zu sein, schmieren kann man auch 
nicht weil zu kleine Laufflächen.
Schon der simple Versuch damit ein Fahrrad zum selber draufsitzen zu 
bauen scheitert, von Unimog oder Rennauto sprechtn wir schon gar nicht.

Natürlich gibt es immer und zu Allem Meckerer: auch dieses Forum hat 
nicht so klare Regeln wie "Mensch ärgere Dich nicht", manche geben von 
selbst auf und andere werden rausgeschmissen...

Arduino hat es also geschafft, anders als z.B. Microprofessor, LEMPS, 
BasicStamp, MEVM, CControl und wie die schon vergessenen alle heissen, 
global und über ein Jahrzehnt nicht bloß zu überleben sonder sich -nicht 
zuletzt dank voller Offenheit- so zu etablieren dass vom beschaulichen 
8-bitter bis rüber zu den komplexen 32-bitter (SAM21, Kinetis, STM32, 
ESPxxx) alles besteht.
Als Krönung betrachte ich 2 Fakten:
- Arduino ist möglich auf "nicht originären" Plattformen
- Peripherie Hersteller/Lieferanten geben Beispiele zu Arduino mit

von Tommi (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Tommi schrieb:
>> Da moechte ich dir Widersprechen.
> Das ist dann Deine Arduino-geprägte Sichtweise.
Jetzt schiesst du aber uebers Ziel hinaus. Mit Arduino hab ich noch nie 
was gemacht. Allerdings stamme ich auch nicht aus dem C-Lager.

> Im Umfeld eines
> C-/C++-Compilers resp. Linkers ist das eindeutig definiert, was eine
> Library ist.
Das kann ja sein, aber das begruendet keinerlei Alleinverwendungsrechte. 
Den Begriff Bibliothek gibts eben nicht nur im C-/C++-Umfeld. Mir ist 
das aber ehrlich gesagt nicht so wichtig, nur wollte ich das nicht 
unwiedersprochen lassen.

von chris_ (Gast)


Lesenswert?

Autor: Katatafisch (Gast)
Datum: 08.03.2017 10:36

>Ich bin mit dem AVR Studio groß geworden.
>Vorteil ist hier einfach die deutlich besseren Debug-Möglichkeiten.

Importing Arduino Sketches Into Atmel Studio 7:
https://www.youtube.com/watch?v=7WnOe00dVu0

von Jan L. (ranzcopter)


Lesenswert?

Belo L. schrieb:
> Als vorläufiges Resumee nehme ich mit, dass der Arduino für den Anfang
> ganz in Ordnung ist, um sich erst einmal in das Thema einzuarbeiten. Und
> wenn man die ersten Hürden überwunden hat, sollte man dann doch
> überlegen, sich den "echten" Microcomputern zuzuwenden.

Alternativ - wenn du die ersten Hürden mal überwunden hast und dich mit 
der Plattform auskennst, sollte es auch kein Problem mehr sein, die 
meisten der angesprochenen Makel/Probleme zu lösen oder zu umgehen. Sie 
es durch direktes Ansprechen der HW, sei es durch Einsatz alternativer 
Libs - und dann dauert das "am Pin klingeln" eben nicht mehr 1000 Takte.
Auch die IDE ist vermeidbar - es wurden bereits Möglichkeiten genannt, 
ich würde auch mal "platformio.org" erwähnen...

von Kolja L. (kolja82)


Lesenswert?

Belo L. schrieb:
> Als vorläufiges Resumee nehme ich mit, dass der Arduino für den Anfang
> ganz in Ordnung ist, um sich erst einmal in das Thema einzuarbeiten. Und
> wenn man die ersten Hürden überwunden hat, sollte man dann doch
> überlegen, sich den "echten" Microcomputern zuzuwenden. Insbesondere,
> wenn es ein bisschen schneller sein muss oder wenn man den Prozess
> batteriebetrieben steuern möchte.

Jain

Wenn du von Anfang an weißt wo du hin möchtest,
z.B. hardwarenahe Programmierung, dann gibt es vielleicht geeignetere 
Starthilfen,
als das Arduino Universum.
Wenn du aber einfache Möglichkeiten eines µC ausschöpfen möchtest,
um dir einen Roboterarm, oder einen Kamera-Slider zu bauen,
wäre es vielleicht etwas abschreckend dafür erst einmal Assembler zu 
lernen.

von Unwissender (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Im Umfeld eines C-/C++-Compilers resp. Linkers ist das *eindeutig*
> definiert, was eine Library ist.

Bitte schnell die "C++ Standard Template Library" und andere, äh, Dinger 
umbenennen.

von Frank (Gast)


Lesenswert?

Unwissender schrieb:
> Bitte schnell die "C++ Standard Template Library" und andere, äh, Dinger
> umbenennen.

Korrektur: Es heißt inzwischen sogar einfach "C++ Standard Library" 
(incl. dem, was vorher STL genannt wurde).

von chris_ (Gast)


Lesenswert?

Man kann sogar in der Arduino IDE ohne die Arduino Funktionen 
programmieren.

Definiert man im sketch statt setup() und loop()
1
int main(void)
2
{
3
}

Kann man richtig "bare bone" programmieren.
Will man die Arduino-Funktionen trotzdem benutzen, muss man sie mit 
include "Arduino.h" einbinden.

von Belo L. (belo)


Lesenswert?

"Wenn du von Anfang an weißt wo du hin möchtest, z.B. hardwarenahe 
Programmierung, dann gibt es vielleicht geeignetere Starthilfen, als das 
Arduino Universum."

Ich weiß noch nicht genau, ob ich dahin möchte. Welche Starthilfen gibt 
es denn da ?
Vor Assembler habe ich eigentlich nicht die große Schwellenangst, eher 
vor der Hardware.

BTW. Wie zietiert man hier eigentlich ? Ich mache das immer in 
Anführungsstrichen, aber es geht doch auch irgendwie anders.

: Bearbeitet durch User
von Yalu X. (yalu) (Moderator)


Lesenswert?

Belo L. schrieb:
> BTW. Wie zietiert man hier eigentlich ? Ich mache das immer in
> Anführungsstrichen, aber es geht doch auch irgendwie anders.

Zu zitierenden Text markieren, dann auf den Link "Markierten Text
zitieren" klicken.

von Manfred (Gast)


Lesenswert?

Michael B. schrieb:
> Funktionen sind schnarchlangsam, schon das Bedienen eines
> Ausgangspins dauert 1000 mal länger als wenn man den AVR direkt
> programmiert.
Das ist meiner Lötkolbenregelung, meinem Ladegerätetimer und meiner 
Akkuüberwachung vollkommen Wurst.

> Die IDE, also Software-Erstellungsumgebung, ist auf
> Kindergartenstand
Erstaml ist der Editor schon eine glatte Frechheit! Nach etwas Sucherei 
habe ich eine Erweiterung des Notepad++ für Arduino gefunden, damit ist 
zumindest das Editieren vernünftig machbar.

Belo L. schrieb:
>> Wenn du von Anfang an weißt wo du hin möchtest,
>> z.B. hardwarenahe Programmierung, dann gibt es vielleicht
>> geeignetere Starthilfen, als das Arduino Universum."
> Ich weiß noch nicht genau, ob ich dahin möchte.
Du musst definieren, was Du benötigst. Wenn Du es nicht weißt: Arduino + 
Lehrbuch kaufen und los. Entweder bist Du glücklich oder merkst, dass Du 
Ideen hast, die damit nicht gehen. Ich erwarte ersteres.

> Welche Starthilfen gibt es denn da?
Da hat er bestimmt an Entwicklerboards und die gerne zitierten Tutorials 
gedacht, wobei letztere mich wenig faszinieren.

> Vor Assembler habe ich eigentlich nicht die große Schwellenangst,
Ich habe vor gut 30 Jahren in Assembler programmiert, das war recht 
zeitaufwendig, da reinzukommen. Ich habe dann lange Zeit nichts mehr mit 
Prozessoren gemacht und dann privat Bedarf verspürt, also mal den 
Arduino angeguckt. Die viel zitierten Geschwindigkeitsnachteile mögen 
vorhanden sein, aber welche Anwnedungen betrifft das wirklich?

> eher vor der Hardware.
Da hasr Du akuten Lernbedarf, ohne Grundlagen selbiger bekommst DU kein 
Gerät zur Funktion!

von Toxic (Gast)


Lesenswert?

Belo L. schrieb:
> Als vorläufiges Resumee nehme ich mit, dass der Arduino für den Anfang
> ganz in Ordnung ist

Arduino wurde entwickelt mit dem Hintergedanken auch technisch nicht 
versierten Usern einen einfachen Zugang zur Elektronik zu 
ermoeglichen.Das ist etwas was die meisten hier ignorieren und nur davon 
quasseln wie schlecht Arduino sei.Die IDE ist BEWUSST spartanisch 
gehalten und fuer Anfaenger von ueberfluessigem Mist befreit. Mit dem 
NANO fuer gerademal 2€ (China-Clone)hat man hardwaremaessig alles um 
sofort(und ich meine sofort...) loszulegen.
Investier 2€ - leg gleich los und einer Woche hast du wahrscheinlich 
schon mehrere Mini-Programme geschrieben und dich auch mit mehreren 
Webseiten beschaeftigt die dir mit Rat und Tat fuer neue Projekte 
beistehen.
Eines duerfte jetzt schon sicher sein:Es macht Spass rasche Erfolge zu 
haben und sich so zu mehr befluegeln lassen.....

So nebenbei:
Was ich z.B. schlecht finde ist Lego.Was soll das? Kindern 
Plastikkloetze in die Hand druecken um damit Tuermchen zu bauen.Reine 
Zeitverschwendung.Die sollten sofort mit Zement,Beton,Hammer,Meissel etc 
konfrontiert werden und "Trump Tower" bauen.Gleich richtig loslegen - 
wird schon werden,auch wenn's am Ende so aussieht wie der schiefe Turm 
vom Pisa....?

von Philipp K. (philipp_k59)


Lesenswert?

Man wächst ja auch mit seinen Aufgaben..

Ich habe als Facharbeiter in der Elektronik und jahrelanger 
Hobbyprogrammiererei in Java,php,android sowie anderen einfachen 
Sprachen zum Arduino gefunden.

Mitlerweile komme ich ganz gut mit C/C++ klar das ich auch kleine tools 
in Linux umsetzen kann, auf den Atmega,sein Datasheet, die Referenzen 
bin ich dann auch gekommen und trage mitlerweile selbst Libs, 
Tips&Tricks bei.. wobei ich dafür auch nur Notepad++ benutze, erstelle 
eigene Customisierte Boards mit Custom Bootloader..

Die Negativen äußerungen hier kommen einfach von Leuten die Äpfel mit 
Birnen vergleichen wollen um sich Luft zu machen das es andere viel 
einfacher zum gleichen Ziel schaffen...

Zum thema Libs sag ich immer, ein echter Programmierer schreibt nur 
wiederverwendbaren Code (ich nicht :D), niemand der den versteht und für 
sich nutzt ist dadurch schlechter.

von BlaBla (Gast)


Lesenswert?

Arduino ist hervorragend für unser technisch versierten Künstler 
gedacht. Die benötigen nur wenige Kenntnisse in "C, C++". Die können 
sich voll ihren künstlerischen Projekten hingeben.
Alle anderen nehmen andere Hardware.

von Gerhard O. (gerhard_)


Lesenswert?

Für mich auch ein interessantes Thema. Viel möchte ich hier nicht 
hinzufügen. Aber wem es interessiert:

Als Hardware Interessierter sind mir die erwähnten Mängel bewußt. Da für 
mich reine Arduino Interoperability nicht unbedingt auschlaggebend ist, 
habe ich angefangen eine etwas abgewandelte Infrastruktur zu schaffen 
die sich auch noch mit dem IDE und BL. programmieren läßt sonst aber in 
jeder Hinsicht abgewandelt ist. Damit können andere 
Programmierumgebungen mit verwendet werden. Im Augenblick arbeite ich an 
einigen neuen Bords. Wenn alles fertig und geprüft ist, wandert alles 
als Open Source Design nach Github mit allen Unterlagen.

Merkmale:

Keine physische Shield Kompatibilität. Alle Bords verwenden ähnliche 
Formgebung wie der Nano, Teensy. Da es mir nicht um Plug and Play geht 
ist es für mich nicht sehr wichtig und würde dann einen handelsüblichen 
Arduino nehmen.

Die Schaltung ist so konzipiert, daß gewisse Unterschaltungen wie 
Regler, Spannungsreferenz durch Lötbrücken zum Zweck niedrigstem 
Stromverbrauchs vom uC entfernt werden können. LEDs lassen sich 
gleichfalls entkoppeln.

Pinouts sind etwas angepasst um SPI, I2C Pins zusammen zu fassen. Die 
DIL Abstände sind 0.8" anstatt 0.6 um mehr Platz zu haben. Auch mit 
diesen Abständen passen sie noch auf Steckbrettern.

Die erste neue Bord hat einen 1284P drauf um mehr Resourcen zu haben. 
Ein SD FAT auf einem 328P finde ich mehr als sportlich. Da hat man auf 
dem 1284 jedenfalls viel mehr Platz für das eigentliche 
Anwendungsprogramm. Eine Externe Spannungsreferenz um bessere 
Temperaturstabilität zur Verfügung zu haben. Einen 3.3 Volt uP LDO für 
externe Baugruppen wie Funkbords.

Alle IO Pins sind auf dem 2x20 Pin Header zugänglich, also 32 IO Pins. 
Der zweite UART ist auch sehr nützlich. Kein USB Wandler weil man die 
als einsteckbare Version sowieso leicht verwenden kann.

Die zweite Bord verwendet einen 328PB wegen zweitem UART und SPI, I2C 
und hat 30 Pins.

Schaffung einer Breakout Bord mit 3.3 oder 5V Schaltregler mit 2A.
Auf dieser Breakout Bord passen alle Pro-Minis, NANO und die beiden 
neuen Bords. Alle Pins sind in Standard Pinouts sowohl auf Wannenstecker 
wie auch Kontaktleisten oder Schrauben Leisten im 2.54mm Raster 
zugänglich. Die 5x2 Wannenstecker haben jeweils 8 IO Pins und Vcc/Masse. 
Diese Steckverbindungen sind für mehr permanente Erweiterungen gedacht. 
Die Analog Eingänge haben zusätzlich SMD Plätze für Filterkondensatoren. 
Alle IO Pins haben Serienwiderstände um den uC etwas zu schützen und 
auch aus anderen Gründen. Es gibt auch noch andere Schutz Vorrichtungen.

Dazu kommen später noch sogenannte Peripheralpacks die gewisse 
Zusatzschaltungen wie RTC, Sensoren enthalten werden.

Zum Experimentieren kommt noch eine weitere Zusatzplatine die feste 
Anschlüsse für LCD, Keypad, status LEDs, EEPROM, etz. Haben werden. 
Diese Platine braucht als Resourcen nur einen I2C Port, einen ext, 
Interrupt und Spannung um die IO-Pins zu erhalten. Damit kann man schon 
mal viel machen. Für Peripherie Erweiterungen wähle ich grundsätzlich 
nur I2C oder SPI um die übrigen IO Pins für die alternativen Funktionen 
frei zur Verfügung zu haben. Mit den gängigen Port Expandern kann man 
gut arbeiten. LCD Module steuere ich grundsätzlich nur mit I2C und 
eigenem Treiber an. Das hat sich schon gut bewährt.

Arduino Bibliotheken verwende ich nur wo es sich wegen der Konplexität 
nicht lohnt das Rad wieder neu zu erfinden. Alles sonstige wird in 
üblicher Weise direkt mit SFRs angesprochen. Da spart man FLASH und 
gewinnt oft höhere Geschwindigkeit. Ich habe auch schon Teile von 
Arduino Bibs in normale direkt vewendbare C Funktionalität verwandelt 
und zum Teil auch auf andere uC wie PIC, 8051 geportet.

Als Entwicklungsumgebung arbeite ich meist mit AVR Studio, CodeVision 
AVR und natürlich geht es auch mit der Arduino IDE;-) Damit hat man 
ziemlich viel Spielraum.

Grüsse,
Gerhard

: Bearbeitet durch User
von Jens G. (jensg)


Lesenswert?

Die Arbeitsweise von Arduino ist heute .. "Stand der Technik".

Bei anderen Controllerfamilien, z.Bsp. Texas Instruments, nennt sich das 
dann "Harddware Abstrakrion Layer" - kurz auch HAL genannt. Der 
Programmierer kann sich um das Wesentliche kümmern, seine Anwendung .. 
muss nicht jedes Detail seiner Hardware kennen. Arbeitsteilung nennt 
sich das dann.

Wer gerne programmiert und nicht jedes Detail seiner Hardware kennt, 
oder kennen möchte, setzt gerne auf vorgefertigte Programmteile (HAL). 
So ist man schneller am Markt und erzielt schneller Ergebnisse.

Ich persönlich verwende nur in Ausnahmefällen hardwarenahe Befehle 
(Assembler). Ganz einfach deshalb, damit der Quellcode besser portierbar 
ist.

Ja gut, die IDE vom Arduino läd nicht umbedingt zum programmieren ein. 
Den Editor muss man nicht nehmen. Ich verwende die IDE nur zum flashen 
des µC.

von Markus (Gast)


Lesenswert?

Michael B. schrieb:
> Funktionen sind schnarchlangsam, schon das Bedienen eines
> Ausgangspins dauert 1000 mal länger als wenn man den AVR direkt
> programmiert.

Der erfahrene Arduino-User weiß aber, dass für fast jedes Problem eine 
Library zu finden ist:
https://github.com/Looooong/FastPin

von Markus (Gast)


Lesenswert?

Autor: Jens Grabner (jensg)
>Die Arbeitsweise von Arduino ist heute .. "Stand der Technik".

>Bei anderen Controllerfamilien, z.Bsp. Texas Instruments, nennt sich das
>dann "Harddware Abstrakrion Layer" - kurz auch HAL genannt. Der
>Programmierer kann sich um das Wesentliche kümmern, seine Anwendung ..
>muss nicht jedes Detail seiner Hardware kennen. Arbeitsteilung nennt
>sich das dann.

Full Ack ... genau so ist es.
Aber ziemlich viele MC-Net User sind halt noch nicht auf dem Stand der 
Technik und sind eher mit Detailprogrammierung aufgewachsen, wie sie mal 
vor 20 Jahren üblich war.
Es geht immer eine ganze Weile bis sich neue Techniken durchsetzen und 
es alle kapiert haben.

von anonym20 (Gast)


Lesenswert?

Die Nutzungsweise kann wohl hier sehr auseinander gehen. Ich zum 
Beispiel habe nie einen Arduino besessen, arbeite aber nur noch mit der 
Arduino IDE. Ich habe meist konkrete Projekte und baue deshalb immer 
auch angepasste Platinen dafür. Da meine Projekte aber meist auch aus 
Design oder anderen Anteilen bestehen, ist mir der Aufwand zu hoch alles 
extrem Hardwarenah zu programmieren. Da ich eher weniger Zeitkritische 
Anwendungen habe, sind mir auch 1000 Takte mehr relativ egal.
Natürlich gibt es auch genug Anwendungsfälle wo sich der Mehraufwand 
lohnt. Beispiele wie Batteriebetrieben, Zeitkritische Anwendungen usw. 
wurden ja schon genannt. Für die meisten Fälle ist es aber relativ egal 
und viele werden nie an solche Punkte gelangen, egal ob mit oder ohne 
Arduino.

Auch wenn man nicht so regelmäßig bastelt ist der Aufwand einfach viel 
geringer, weil man nicht wieder von Vorne anfangen muss (manche Menschen 
vergessen sehr schnell).

von Elmar M. (elmar)


Lesenswert?

Hallo,
ich beschäftige mich schon eine längere Zeit mit  µC CDP1802  von RCA
(ältere werden die Firma kennen). In der Folge dann mit 6502, Z80, 6800 
und mit einigen Atmel Bausteinen. Jetzt nutze ich  µC nur noch als 
Freizeitbeschäftigung.
Bei aller Kritik finde ich die Arduino-Plattform einfach toll. Ohne 
großen zeitlichen Aufwand kommt man zu brauchbaren Ergebnissen und damit 
zu Erfolgserlebnissen. Man kann sich so mit seinem Problem beschäftigen 
ohne sich in Datenblättern zu verlieren. Die Erwartungen an eine 
µC-Anwendung sind inzwischen auch gestiegen und ohne die Nutzung von 
Library's sind kaum "zeitgemäße" Lösungen
in überschaubarer Zeit realisierbar.
Gut, vor 30 Jahren war ich ein Genie weil ich eine LED mit einem 
Controller einschalten konnte und heute kann das jeder nach einem Tag.
Und das ist gut so.
Mit Verlaub, mir gehen diese akademischen Meckereien auf den Geist ob 
jetzt Adruino C++ oder nur eine Untermenge davon nutzt, oder Arduino 
eine richtige Library hat oder nicht. Freuen wir uns auf viele neue 
Arduino-Anwender und deren neuen Anwendungen.
Und wer Spass an µC-Lösungen wird dann vielleicht auch den Weg zu einer 
"richtigen", was immer das auch sein mag, IDE finden.

von Jens G. (jensg)


Lesenswert?

Elmar M. schrieb:
> Mit Verlaub, mir gehen diese akademischen Meckereien auf den Geist ob
> jetzt Adruino C++ oder nur eine Untermenge davon nutzt, oder Arduino
> eine richtige Library hat oder nicht. Freuen wir uns auf viele neue
> Arduino-Anwender und deren neuen Anwendungen.
> Und wer Spass an µC-Lösungen wird dann vielleicht auch den Weg zu einer
> "richtigen", was immer das auch sein mag, IDE finden.
Einfach Super - mit Arduino gelingt der Einstieg in die 
µC-Programmierung. An die Langsamkeit bei den I/O-Ports habe ich mich 
gewöhnt und Lösungen um das Thema herum programmiert. Man darf nicht 
vergessen - die Community (Gemeinschaft vieler Programmierer) hat 
Arduino erst möglich gemacht. Je mehr am System arbeiten um so besser 
wird es (Fehlerfreiheit).

von Markus Simon (Gast)


Lesenswert?

Ich finde Arduino toll!Man kommt schnell zu Ergebnissen und muss nicht 
den Mikrocontroller bis in jedes Register kennen.
Ich denke mal viele User im Forum stört es das ihr "Spezialwissen" 
inzwischen von sehr vielen Leuten angewendet werden kann und das der 
Arduino Nutzer meist schneller zu Ergebnissen kommt wie der "alte Hase".

von spess53 (Gast)


Lesenswert?

Hi

>Man darf nicht
>vergessen - die Community (Gemeinschaft vieler Programmierer) hat
>Arduino erst möglich gemacht.

Sollte wohl eher

'Man darf nicht vergessen - die Community (Gemeinschaft vieler billiger 
Chinesen) hat Arduino erst möglich gemacht.'

heißen.

>Je mehr am System arbeiten um so besser wird es (Fehlerfreiheit).

Nach dem Motto 'Viele Köche verderben den Brei'?

Allerdings taucht z.B. hier im Forum unter der Rubrik 'Projekte & Code' 
(knapp über 30 Beiträge seit 2011) kein einziger wirklicher 'Koch' auf. 
Da scheint also das überwiegende Gros der 'Community' nur per C&P zu 
nassauern und nichts eigenes beitragen.

MfG Spess

von Jens G. (jensg)


Lesenswert?

>>Je mehr am System arbeiten um so besser wird es (Fehlerfreiheit).
>
> Nach dem Motto 'Viele Köche verderben den Brei'?
>
Linux ist ein Beispiel für die Richtigkeit meiner Behauptung.

von spess53 (Gast)


Lesenswert?

Hi

>Linux ist ein Beispiel für die Richtigkeit meiner Behauptung.

Der Satz stimmt nur im Wort 'Behauptung'. Und solange du keine 
belastbaren Zahlen zu Nutzern und Entwicklern bereitstellst wird es das 
bleiben: Behauptung.

MfG Spess

von c.m. (Gast)


Lesenswert?

ich finde arduinos überwiegend gut, weil sie eben fertig aufgebaut sind, 
und mit einer einfach funktionierenden IDE kommen.

nachteil:
die IDE vermisst einige features die ich beim programmieren gerne hätte.
es sind auf den bords nicht alle pins verfügbar - ärgerlich wenn z.b. 
auf dem "pro micro" mit atmega32u4 ein port mit 8 pins vorhanden ist, 
ich die aber nicht einfach nutzen kann weil 2 für dämliche LED's auf dem 
borad "genutzt" werden.

vorteil:
einfach zusammenstecken, IDE auspacken, läuft - einfacher gehts nicht.
die dämlichen anfängerfragen hat auch schon ein anderer dämlicher 
anfänger gefragt, also brauchst du nicht selbst dämlich fragen sondern 
kannst dämlich googeln ;-)
der preis! über ebay aus china habe ich z.b. zwei mega2560 bords für 
zusammen <22€ bekommen (wichtig wg zoll). einziger nachteil dabei ist 
die schneckenpost aus fernost.

von Manfred (Gast)


Lesenswert?

Elmar M. schrieb:
> ich beschäftige mich schon eine längere Zeit mit  µC CDP1802  von RCA
> (ältere werden die Firma kennen). In der Folge dann mit 6502, Z80, 6800
> und mit einigen Atmel Bausteinen.
Hier waren es nur 6504 / 6502 und danach 68HCxxx-Controller. Eine 
Europakarte mit 6502 habe ich sogar noch als Handlayout geklebt.

> Jetzt nutze ich  µC nur noch als Freizeitbeschäftigung.
Ebenso!

> Bei aller Kritik finde ich die Arduino-Plattform einfach toll.
Sie ist in weiten Teilen fertige Arbeit.

> Gut, vor 30 Jahren war ich ein Genie weil ich eine LED mit einem
> Controller einschalten konnte
... wozu ich mehrere Tage intensiver Beschäftigung brauchte.

> und heute kann das jeder nach einem Tag.
Das muss schneller gehen :-)

> Mit Verlaub, mir gehen diese akademischen Meckereien auf den Geist ob
> jetzt Adruino C++ oder nur eine Untermenge davon nutzt, oder Arduino
> eine richtige Library hat oder nicht.
Es liegt genug Hintergrundwissen vor, den benötigten Leistungsumfang 
ehrlich abzuschätzen. Wie mit dem High-End-PC, ist doch geil, wieviel 
schneller ein x-GHz Achtkerner warten kann.

Im Grunde hast Du meine Gedanken formuliert, aber Viele hier können das 
leider nicht akzeptieren.

von m.n. (Gast)


Lesenswert?

spess53 schrieb:
> Allerdings taucht z.B. hier im Forum unter der Rubrik 'Projekte & Code'
> (knapp über 30 Beiträge seit 2011) kein einziger wirklicher 'Koch' auf.

Ich finde nur 18
https://www.mikrocontroller.net/search?query=.ino&forums%5B%5D=4&sort_by_date=1

von Georg M. (g_m)


Lesenswert?

Markus Simon schrieb:
> Ich finde Arduino toll!Man kommt schnell zu Ergebnissen

Auch Arduino ist nicht massentauglich.
Z.B. bei parallel laufenden Prozessen muss man sich programmiererische 
Gedanken machen, z.B.  wenn man eine LED blinken lassen und sich mit 
anderen Dingen beschäftigen möchte.

Sowas wie digitalWrite(ledPin, 200ms_HIGH, 500ms_LOW, 20_times) gibt es 
immer noch nicht.

von Einer K. (Gast)


Lesenswert?

Georg M. schrieb:
> Sowas wie digitalWrite(ledPin, 200ms_HIGH, 500ms_LOW, 20_times) gibt es
> immer noch nicht.

Da haste ja nun wirklich einen massiven Nachteil der Arduino Umgebung 
aufgedeckt!

Georg M. schrieb:
> z.B. bei parallel laufenden Prozessen muss man sich programmiererische
> Gedanken machen,
Ja, auch da hast du voll kommen recht!

Die beiden Argumente sind unschlagbar.

von Martin (Gast)


Lesenswert?

>spess53 schrieb:
>> Allerdings taucht z.B. hier im Forum unter der Rubrik 'Projekte & Code'
>> (knapp über 30 Beiträge seit 2011) kein einziger wirklicher 'Koch' auf.

>Ich finde nur 18
>https://www.mikrocontroller.net/search?query=.ino&;...

Wie mir ein ein Freund, der in verschiedenen Hackerspaces weltweit 
Workshops gibt, wird meine Firmware relativ viel in Asien eingesetzt.
Als jemand der relativ viel Open-Source Software für Arduinos gemacht 
hat, kann ich Dir sagen, dass das es einen Grund gibt, warum hier kein 
richtiger Koch Code posted:
Es gibt hier schlicht zu viele Nörgler und Besserwisser.
Das war früher noch schlimmer und mag sich langsam ändern, jetzt wo 
Arduino sogar hier im MC-Netz zum MainStream wird. Aber die Historie 
prägt eben doch.

von Elmar M. (elmar)


Lesenswert?

> Sowas wie digitalWrite(ledPin, 200ms_HIGH, 500ms_LOW, 20_times) gibt es
> immer noch nicht.

Stimmt, gibt es nicht .
Aber es gibt FreeRTOS und jede Menge andere Lösungen für dieses Problem.
Vielleicht sich mal mit der "Spiel-IDE Arduino" beschäftigen damit man
diese Umgebung besser einordnen kann.

Nachdenken beim Programmieren hat eigentlich noch nie geschadet und ist 
unabhängig von der Umgebung.

von Amateur (Gast)


Lesenswert?

Ich betrachte solche Sachen meist pragmatisch.

Das Teil kann was es kann und nicht was ich gerne möchte.

Der Kern ist schon ein paar Jahre alt.

Also nicht die dicken Megabytes Flash und Speicher.
Nicht hunderte Megahertz Tick-Tack.
Nicht hunderte freie Anschlüsse.
Keine Schaltleitung im oberen Watt-Bereich.

Geht es aber um eine einfache Anwendung, die einen einfachen 
Steuerrechner benötigt, so spare ich mir dessen Entwurf, kopiere zwei 
Sil's in mein Layout und bin das ganze Gehopse los. Ich kann sogar 
"unter" dem Teil noch 'ne Party feiern.
Brauche ich würglich 40 freie Anschlüsse, so ist das Teil schlicht und 
einfach ungeeignet - so einfach ist das.

Übrigens, an alle die gleich nach Himbeeren rufen:
Muss man unter einer Umgebung wie Linux einen Pin mal kurz ein- bzw. 
ausschalten, so bleiben von den vielen Megahertz nicht mehr viele über. 
Es kann sogar sein, dass der Atmel das schneller kann.
Begebe ich mich aber auf das Niveau des Device Dirver hinab, so sieht 
das natürlich schon ganz anders aus. Das kann aber nicht jeder.

von Gerald B. (gerald_b)


Lesenswert?

Das Gute an Arduino ist, das jeder für sich bestimmen kann, wie viel 
Arduino er verwenden will.
Der Eine kann programmieren, hat aber keine Ahnung von Hardware - er 
macht einen Bogen um die IDE und benutzt Shields.
Beim nächsten ist es genau andersrum - er nutzt die IDE, aber ihm sind 
die Shields zu unflexibel und er benutzt das Steckbrett.
Der Nächste nimmt den Uno fürs Prototyping und einen Nano und eine 
Lochrasterplatine mit der restlichen Hardware drumherum.
Bei einem anderen Projekt wird auf dem Uno der Code getestet und dann 
eine eigene Leiterplatte designt und bestückt.
Der Eine gibt sich mit den Fertigboards zufrieden, beim Nächsten hat die 
boards.txt und der Lib Ordner den Umfang vom Brockhaus :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.