Hallo,
ich habe ein Arduino Uno bekommen um damit das eine oder andere Projekt
zu machen. Jetzt lese ich aber ganz oft, dass Arduino doof sein soll.
Aber warum?
Eigentlich sehe ich das bisher nicht so, da es einfach schon viele
libraries gibt, die man verwenden kann.
Würde mich gerne über Pro und Contra Kommentare über Arduino freuen um
meine Meinung zu vertiefen oder evtl. sogar zu ändern.
Mareike
Mareike schrieb:> Jetzt lese ich aber ganz oft, dass Arduino doof sein soll.> Aber warum?
Lass dir nix einreden. Die Arduinos sind ganz normale Atmel AVR (oder
ARM) Prozessoren. Viele sehen es als Nachteil, dass man unter Benutzung
der ganzen verfügbaren Bibliotheken vieles zum Laufen bekommen (oder
auch nicht), ohne es zu verstehen.
Die Arduino IDE ist als solche eigentlich kaum zu bezeichnen, da sie
wenig Unterstützung bei der Programmentwicklung bietet, z.B. keinen
Source Code Debugger zum Verfolgen von Variablenwerten während des
Programmablaufes besitzt.
Natürlich kann man auch Atmel Studio zusammen mit den Arduino
Bibliotheken benutzen und kann dann auch besser in Variablen und Abläufe
reingucken.
Genieße die Vorzüge des Arduinos.
Besonders die kleinen (nano und mikro) versüßen einem das leben dadurch,
dass man billige Hardware bekommt.
Arduino-Feinde oder Fortgeschrittene können immerhin auch "normales" C
zum programmieren nutzen ;-)
Genau die Arduino Boards und die Shields bekommst du meist für < 5€
hinterher geschmissen. Der Uno R3 kostet noch nichtmal 2,5€. Viel
Hardware für wenig Geld. Ich selbst mag die Arduino Libs nicht, aber für
Einsteiger oder für diejenigen die Einfach nur mal eben schnell was
Basteln wollen und sich nicht vorher mit der Hardware auseinandersetzen
zu müssen ist das ne feine Sache.
Alle anderen nehmen einfach nur die Hardware und programmieren sie wie
gewohnt mit Atmel Studio in C oder so.
Hallo,
die Arduino-Diskussionen wird es wohl geben, solange es Arduinos gibt...
Das entscheidende hat Wolfgang schon geschrieben.
ein Bekannter und ich spielen seit einiger Zeit mit Arduinos rum.
Kann man wörtlich nehmen. Der China-Kram ist billig, schon halbwegs
passsend irgendwo raufgelötet und dank der angesprochenen Bibliotheken
schnell nutzbar.
Die IDE... naja, ich habe mir zu Zeiten programmieren beigebracht, als
es ohnehin keine Source Code Debugger gab. Programmiert wird im Kopf und
auf Papier, wenn nötig. Die Hardware würfelt nicht, sie macht genau das,
was man ihr gesagt hat. Das kann man auch so schrittweise dzurchdenken,
man schreibt 3000 Codezeilen zusammen und probiert dann tagelang, den
Unfug zu finden, den man verzapft hat. Wenn ich zu Oszi oder
Logicanalyzer greifen muß, ist irgendwas oberfaul. Ich habe gelernt
Datenblätter und Timingdiagramme zu lesen und zu verstehen.
In diesen Dingen liegt auch Problematik "Arduino". Man ist nicht
gezwungen, sich damit auseianderzusetzen und viele machen es eben auch
nicht. Die wollen nicht verstehen, wie das funktioniert, die wollen nur,
daß es funktioniert. Kann man so machen, dann kann man auch sagen: ich
habe viel mit Arduinos gemacht, mehr aber auch nicht.
Sie kennen den AVR nicht, die Sensoren, die sie benutzen nicht usw. usw.
Sie haben nie in ein Datenblatt geschaut, Grundlagen sind Fremdworte
usw.
Das liegt aber dann nicht an den Arduinos, sondern an den Benutzern
derselben.
Gruß aus Berlin
Michael
> gut oder schlecht?
Jain!
Eher gut UND schlecht.
Eine Frage des Blickwinkels.
> flamewar
Muss nicht sein....
Bauer und Katze vertragen sich deswegen so gut, weil sie eine
grundsätzlich gegenläufige Meinung zur Frage "Sind Mäuse gut oder
schlecht?" haben.
Hallo,
für mich gehen Flamewars in die falsche Richtung.
Beispiel? Arduino Uno R3 und ein 1,8" Display aus China. Pinbeschreibung
am Display jenseits der Realität, ist das nun I2C oder SPI?. Gegoogelt
und einen Hinweis auf den Chip gefunden, ist SPI, die Beschriftung ist
Schrott.
Eine Lib für den Controllerchip gesucht und gefunden und
zusammengesteckt.
Läoft, Ausgabe ist aber horizontal gespiegelt.
Also schnell in die .h geschaut, was kann die Lib. Drehen gibt es,
spiegeln nicht. Datenblatt vom Controlelr gesucht, die .cpp aufgemacht
und die Initialisierung angepasst. Geht.
Was spricht für den Arduiono? Ich mußte den Lötkolben nicht anwerfen,
ich mußte nicht erst ein Gundgerüst bauen, um eine vielleicht vorhandene
C-Library und ein Mini-Demo zu schreiben.
Was spricht dagegen? Eigentlich nur meine interne Abneigung, einen
Mega328 zu nehmen, wo für meinen Zweck ein Mega48 mit internem Clock
gereicht hätte.
Gruß aus Berlin
Michael
aha, aha, aha.
Dann werde ich wohl auch erst einmal dabei bleiben.
Obwohl ich euch auch recht gebe, dass man nicht mehr ins Datenblatt
guckt. Dies braucht man hier aber nicht.
Gut finde ihc einfach, dass es ein fertiger Mikrocontroller mit
drumherum (Programmieradapter, Quarz, Kondensatoren usw) ist.
Ich danke euch und wünsche euch einen schönen Abend.
>Obwohl ich euch auch recht gebe, dass man nicht mehr ins Datenblatt>guckt. Dies braucht man hier aber nicht.
Naja, man guckt ja auch nicht in die Datenblätter von Vakuumröhren,
obwohl es sicherlich nützlich wäre sich damit aus zu kennen, falls man
mal einen Volksempfänger reparieren muss.
Mareike schrieb:> Obwohl ich euch auch recht gebe, dass man nicht mehr ins Datenblatt> guckt. Dies braucht man hier aber nicht.
Das sollte man aber tun, wenn man Erweiterungen an den Arduino anpassen
möchte. Sonnst läuft man schnell Gefahr, das ein oder andere zu killen.
Dieter S. schrieb:> Mareike schrieb:>> Obwohl ich euch auch recht gebe, dass man nicht mehr ins Datenblatt>> guckt. Dies braucht man hier aber nicht.>> Das sollte man aber tun, wenn man Erweiterungen an den Arduino anpassen> möchte. Sonnst läuft man schnell Gefahr, das ein oder andere zu killen.
Naja, das ist dann eben learning by doing. Bei 5 Volt darf man ruhig
etwas rumprobieren finde ich.
Mareike schrieb:> Gut finde ihc einfach, dass es ein fertiger Mikrocontroller mit> drumherum (... Quarz, ...) ist.
Da solltest Du doch mal ins Datenblatt kucken.
Wernerth schrieb:> Naja, das ist dann eben learning by doing. Bei 5 Volt darf man ruhig> etwas rumprobieren finde ich.
Da ist mir das Material doch zu schade. Ich ärgere mich leicht über
jedes defekt Bauteil, und das geht so sehr schnell. Und es sind ja mal
schnell einige Ampere (ohne Sicherung) die da wirken. :-) :-)
Wernerth schrieb:> Naja, das ist dann eben learning by doing. Bei 5 Volt darf man ruhig> etwas rumprobieren finde ich.
Nur blöde, wenn's den Arduino Due killt, weil der nämlich nicht mit 5V
zurecht kommt.
Wernerth schrieb:> Naja, das ist dann eben learning by doing. Bei 5 Volt darf man ruhig> etwas rumprobieren finde ich.
Bei der Einstellung kommt beim Großteil der Arduinonutzer eher "doing by
fragen im Forum" raus. learning ist oftmals nicht dabei.
Im Datenblatt steht übrigens deutlich mehr als du mit deiner Methode
jemals rausfinden wirst.
Im professionellen Bereich ist die Abstraktion von der Arduinobibliothek
zu groß. Bei einem avr (wo es auch angefangen hat), kann man z.B. die
Portfunktinonen recht gut abbilden. Bei einem ARM gibt es oftmals
deutlich mehr Konfigurationsmöglichkeiten. Und auch andere
Peripherieblöcke lassen sich nur sehr sehr eingeschränkt nutzen. Von DMA
ganz zu schweigen. Arduino bleibt halt was es ist. Ein System für
Künstler, aber nichts für halbwegs komplexe Projekte. Die einzige
Möglichkeit, das zu umgehen, ist es selbst Bibliotheken zu schreiben.
Aber dann kann man auch gleich das HAL des µC-Herstellers benutzen.
>Im professionellen Bereich ist die Abstraktion von der Arduinobibliothek>zu groß.
Nicht zwingend. Ich habe in der Fa. schon Haufenweise Arduino Dues
bestellt. Ich nutze sie zur Treiberentwicklung. Die Treiber werden
später auf einer Zielhardware im 100.000er Stückzahlbereich laufen.
Die Testsystem mit Arduino waren schon beim Kunden und sind recht gut
angekommen.
Bei den Bibliotheken musste ich nur eine spezielle Timer-Library
modifizieren, ansonsten ist alles Arduino-Due Standard.
Kann schon sein, dass es manchmal funktioniert. Mir wäre die
Einschränkung zu groß. Außerdem hast du ja selbst die Library verändert.
Dann kann man doch eigentlich gleich alles mit dem richtigen HAL machen.
Ich glaube nicht das man folgende Dinge mit Arduino ohne
Librarymodifikation machen kann:
-Alternate Pin Functions
-DMA
-verkettete Timer o.ä.
-Flankensteilheit von IO-Pins
-int. Pulldown
-spezielle Peripherie (USB, SDIO, LTDC)
-sleep (auch mit rtc)
Mir wäre es das nicht Wert, sich auch noch in das Arduino-Zeugs
einzuarbeiten. Und die obengenannten Punkte kann man durchaus
gebrauchen.
>Mir wäre es das nicht Wert, sich auch noch in das Arduino-Zeugs>einzuarbeiten.
Es ist etwas weniger Aufwand, als die 1459 Seiten des Arduino Due
Prozessors SAM3x8E durchzulesen. Ich habe nur den Abschnitt über die
Timer angeschaut.
Außerdem ist die Hardware unschlagbar billig. Wenn die das in der Firma
Layouten, routen und bestücken müssen kommt so ein Board bei
Einzelstückzahlen wahrscheinlich auf 1000Euro.
Die Nachbarateilung macht teilweise die Testaufbauten mit den DUEs und
die Programmierung mit SIMULINK.
Christian schrieb:> Es ist etwas weniger Aufwand, als die 1459 Seiten des Arduino Due> Prozessors SAM3x8E durchzulesen. Ich habe nur den Abschnitt über die> Timer angeschaut.
Naja, bei mir ist es anders herum. Und wenn ich einen µC einsetze,
möchte ich ihn auch kennen. Daher schaue ich mir immmer zuerst das
Datenblatt an.
> Außerdem ist die Hardware unschlagbar billig. Wenn die das in der Firma> Layouten, routen und bestücken müssen kommt so ein Board bei> Einzelstückzahlen wahrscheinlich auf 1000Euro.
Naja, fertige Boards gibts überall. Ein STM32F3DISCOVERY kostet auch nur
10€ und da ist ein M4 drauf.