Manchmal lese ich hier im Forum abwertende Kommentare über Arduino Board/Plattform. - Es sei eine Spielerei für Leute die nicht viel Ahnung haben. - Oder man könne damit nicht wirklich lernen Mikrocontroller zu benutzen, sondern nur vorgegebene Sachen und Libs. - Arduino Code mit seinen Libs sei größer und langsamer. Ich bin relativ neu in der Mikrocontroller Welt. Nein ich brauche keine Empfehlungen! ;D Liege ich aber mit der Einschätzung richtig das unter Profis oder sagen wir erfahrenen µC Nutzern Arduino unbeliebt oder als unnötig erachtet wird? Oder sind die Arduino Kritiker von der Sorte von Entwickler, die auch Hochsprachen angreifen und darauf schwören das Assembler der einzig wahre Weg sei und alles andere nur unnötige Vereinfachung oder was für Dummies? :)
KlausImHaus schrieb: > Liege ich aber mit der Einschätzung richtig das unter Profis oder sagen > wir erfahrenen µC Nutzern Arduino unbeliebt oder als unnötig erachtet > wird? Das würde ich so nicht sagen. Das Problem liegt in erster Linie bei den 'Programmiereren' der Arduino Plattform. Zumindest bei denen, die hier im Forum aufschlagen. Denn die stellen sich immer wieder von der Sorte 'Ich brauch das alles nicht richtig lernen, weil Arduino ohnehin so einfach ist' heraus. Weder muss ich meine Programmiersprache lernen, noch interessiert mich die Doku, die es zum Arduino System gibt. Die Hardware an sich finde ich nicht so schlecht. Ok, gegenüber einem Selbstbau ist sie ein wenig teuer, wenn man allerdings einrechnet, was es jemanden bei 0 beginnend kosten würde, eine Platine selbst zu fertigen, einen Programmer anzuschaffen, dann ist die Kostensituation gar nicht mehr so schlecht. Die Arduino Basissoftware und Libraries sind so ausgelegt, dass man wenig über die Hardware an sich wissen muss. Daraus folgt allerdings auch, dass sie recht universell sein muss, was dann wieder eine gewisse Trägheit nach sich zieht. Das kann in Einzelfällen zu einem Problem werden, dem man allerdings durch Verzicht auf den Komfort der Arduino-Libraries begegnen kann. Im schlimmsten Fall kann man da natürlich auf den ganzen Komfort auch verzichten und den µC ganz klassisch direkt programmieren. In meinen Augen liegt das Problem eindeutig weder bei der Hardware, noch bei der Entwicklungsumgebung sondern eindeutig in der 'Ich bin so gut, ich brauch das nicht lernen' Attitüde der Programmierer.
:
Bearbeitet durch User
KlausImHaus schrieb: > Oder sind die Arduino Kritiker von der Sorte von Entwickler, die auch > Hochsprachen angreifen und darauf schwören das Assembler der einzig > wahre Weg sei und alles andere nur unnötige Vereinfachung oder was für > Dummies? :) Ich glaube so ist es. Alles was das Leben einfacher bzw. Spaß macht, passt diesen Leuten einfach nicht in den Kram (Arduino, IDEs, Sprachen > Assembler, Mausbedienung, GUIs in Farbe etc.). Von der Sorte springen hier einige Spezies rum...
:
Bearbeitet durch User
Hallo, ich arbeite nicht mit dem Ardunio. Die Prozzesorauswahl mit dem Ardunio ist nicht besonders groß. Wenn Du einen Prozzesor mit vielen I/O-Pins suchst, suchst Du vergeblich. Wenn Du richtig programmieren willst kommst Du um die richtigen Entwicklungsumgebung, Datenblätter und viel Arbeit nicht herum. Arduino bietet eine nette Einstiegslösung für Anfänger. Allerdings sind bzw. werden die Ardunio-Prozzsoren mit zunehmender Steiegerung immer komplexer zu programmieren. Das ist mein Fazit nach 12 Jahren Erfahrung im Mikrocontroller-Bereich (PIC und 8051). Viele Grüße Ingo
Karl Heinz schrieb: > In meinen Augen liegt das Problem eindeutig weder bei der Hardware, noch > bei der Entwicklungsumgebung sondern eindeutig in der 'Ich bin so gut, > ich brauch das nicht lernen' Attitüde der Programmierer. Das erinnert mich an PHP. Darüber sagt man auch, es hätte die Webentwicklung damals stark vereinfacht und dadurch Leute angezogen die schnell was damit machen wollen, ohne es vernünftig zu lernen, dadurch gäbe es überall schlechten und unsicheren PHP Code, was allgemein dem Ruf von etwas PHP geschadet hätte. Boris B. schrieb: > Ich glaube so ist es. Alles was das Leben einfacher bzw. Spaß macht, > passt diesen Leuten einfach nicht in den Kram (Arduino, IDEs Sprachen > > Assembler, Mausbedienung, GUIs in Farbe etc.). > Von der Sorte springen hier einige Spezies rum.. Es steht jedem frei dies oder jenes nicht zu mögen. Ich frage mich dann nur ob an der Kritik von solchen Leuten wohl was dran ist. Ingo Schick schrieb: > Wenn Du richtig programmieren willst kommst Du um die richtigen > Entwicklungsumgebung, Datenblätter und viel Arbeit nicht herum. Was bedeutet für dich richtig zu programmieren? Sind beispielsweise Java oder Python keine richtigen Programmiersprachen, weil diese Sprachen einen hohen Abstraktionsgrad haben? Bedeutet schwierige Programmierung für dich richtig zu programmieren?
Karl Heinz schrieb: > Die Arduino Basissoftware und Libraries sind so ausgelegt, dass man > wenig über die Hardware an sich wissen muss. Daraus folgt allerdings > auch, dass sie recht universell sein muss, was dann wieder eine gewisse > Trägheit nach sich zieht. Das kann in Einzelfällen zu einem Problem > werden, dem man allerdings durch Verzicht auf den Komfort der > Arduino-Libraries begegnen kann. Im schlimmsten Fall kann man da > natürlich auf den ganzen Komfort auch verzichten und den µC ganz > klassisch direkt programmieren. Hm klingt logisch, aber gilt das nicht auch bei C Bibliotheken für µC?
Schon wieder? Habt ihr das Thema noch nicht genug durchgekaut? Und dann noch der erste Beitrag dazu von einem Moderator, ziemlich traurig.
KlausImHaus schrieb: > Hm klingt logisch, aber gilt das nicht auch bei C Bibliotheken für µC? Das kommt immer auf die Bibliothek an. Beim Arduino sind die Bibs immer gleich. Die Funktionieren und sind nicht performant. Bei allgemeinen c Bibs kann man gute und schlechte erwischen.
Also ich schliesse mich Karl Heinz an. Tut mir leid für Deinen Kommentar. Aber mit diesem bin ich ganz und gar nicht einverstanden. In diesem Beitrag geht es lediglich darum die Ardunio Plattform aus eigener Erfahrung zu bewerten. Nicht mehr und nicht weniger. Du selbst hast offensichtlich kein sachliches oder fachliche Meldung hinterlassen, WARUM? ein Formum kann nur bei der Beantwortng von Fragen helfen, und einem nicht die Arbeit abnehmen.
KlausImHaus schrieb: >> natürlich auf den ganzen Komfort auch verzichten und den µC ganz >> klassisch direkt programmieren. > > Hm klingt logisch, aber gilt das nicht auch bei C Bibliotheken für µC? Ein Beispiel. Um einen Portpin zu schalten, genügt in der 'klassischen' Programmierung ein
1 | PORTB |= ( 1 << PB0 ); |
der verbraucht 1 (oder waren es 2?) Taktzyklen. Die Arduino Variante
1 | digitalWrite( Ausgangsnummer, HIGH ); |
verbraucht ein Vielfaches davon. Aus dem Gedächtnis heraus waren es so um die 150 Taktzyklen. Bei einfachen Lauflichtern spielt das keine Rolle. Will man aber etwas Zeitkritischeres machen, dann wird das aber möglicherweise relevant. Dafür ist man allerdings vom Portdenken und dem zugehörigen Denken in Bits an diesem Port befreit. An der Arduino Platine gibt es eine Stiftleiste mit genau dieser Nummer und die wird geschaltet. Insofern ist das nicht so sehr eine Frage der Qualität der Implementierung, wie es bei unterschiedlichen C-Laufzeitbibliotheken der Fall ist, sondern eine Frage der grundsätzlichen Herangehensweise.
Dave Chappelle schrieb: > Und dann noch der erste Beitrag dazu von einem Moderator, ziemlich > traurig. Aha. Und deswegen darf ich keine Meinung zu einem Thema haben, das einen Fragesteller interessiert?
KlausImHaus schrieb: > Manchmal lese ich hier im Forum abwertende Kommentare über Arduino > Board/Plattform. > > - Es sei eine Spielerei für Leute die nicht viel Ahnung haben. > > - Oder man könne damit nicht wirklich lernen Mikrocontroller zu > benutzen, sondern nur vorgegebene Sachen und Libs. > > - Arduino Code mit seinen Libs sei größer und langsamer. > > > Ich bin relativ neu in der Mikrocontroller Welt. Nein ich brauche keine > Empfehlungen! ;D Im Artikel STM32 für Einsteiger ist als Vergleich ein Arduino ebenfalls gelistet. Der Arduino hat durchaus Vorteile gegenüber anderen Lösungen.
Karl Heinz schrieb: > Ein Beispiel. > Um einen Portpin zu schalten, genügt in der 'klassischen' Programmierung > ein PORTB |= ( 1 << PB0 ); > > der verbraucht 1 (oder waren es 2?) Taktzyklen. > > Die Arduino Variante digitalWrite( Ausgangsnummer, HIGH ); > verbraucht ein Vielfaches davon. Aus dem Gedächtnis heraus waren es so > um die 150 Taktzyklen. Das hatte ich selber vor Monaten mal nachgemessen und war entsetzt. Ich suche immer noch einen "Ausweg" aus der ASM Programmierung der 8-Bitter. Wollte dann mit Arduino Due (ARM) den Einstieg in die C/C++ Welt angehen. Nun habe ich meine Zweifel. Gehen alle C++ Libs so leichtfertig mit der Performance um? Dann macht die Mehrleistung der ARM oder XMega ja keinen Sinn mehr, ein 8-Bitter ist in ASM wahrscheinlich schneller. Ich möchte mich schon gern darauf verlassen, dass der C++ Compiler auch den schnellsten Code erzeugt. Aber das ist wahrscheinlich der Kompromiss, bzw der Preis für den Komfort, nicht mehr mit Registern und Speicherzellen hantieren zu müssen.
Ich schrieb: > Karl Heinz schrieb: >> Ein Beispiel. >> Um einen Portpin zu schalten, genügt in der 'klassischen' Programmierung >> ein PORTB |= ( 1 << PB0 ); >> >> der verbraucht 1 (oder waren es 2?) Taktzyklen. >> >> Die Arduino Variante digitalWrite( Ausgangsnummer, HIGH ); >> verbraucht ein Vielfaches davon. Aus dem Gedächtnis heraus waren es so >> um die 150 Taktzyklen. > > Das hatte ich selber vor Monaten mal nachgemessen und war entsetzt. Na ja. Man muss natürlich auch berücksichtigen, dass hier in einem gewissen Sinne Äpfel mit Birnen verglichen werden. digitalWrite macht ja auch noch einiges zusätzlich mit, kümmert sich zb darum was passieren soll, wenn der Pin vorher auf PWM geschaltet war und einiges mehr. > Nun habe ich meine Zweifel. Brauchst du nicht. Denn wie gesagt, niemand hindert dich daran, letzten Endes aus der Arduino-Software-Welt nur die Teile zu benutzen, die du benutzen willst. > Gehen alle C++ Libs so leichtfertig mit der > Performance um? Du wirfst hier Dinge durcheinander, die nicht zusammengehören. Das ganze hat nichts mit C++ zu tun. Das ganze hat damit zu tun, was die Designer der Funktionen als notwendig erachtet haben. Das Arduino-System ist ein Framework, welches dir Funktionalität zur Verfügung stellt. Und das in einer möglichst allgemein verwendbaren Form, in der das Framework darauf achtet, dass du als Programmierer möglichst wenig technische Fehler machen kannst. Du hast 2 Möglichkeit: dich in diesem Sicherheitsnetz austoben oder darauf pfeifen und selbst die Verantwortung übernehmen. In einem gewissen Sinne der Unterschied zwischen einer Familienkutsche mit ASP, ESP, elektrischen Fensterhebern und Automatik und einem Auto um damit Ralley zu fahren. Gaspedal, Lenkrad und 4 Räder haben beide. > Dann macht die Mehrleistung der ARM oder XMega ja keinen > Sinn mehr, ein 8-Bitter ist in ASM wahrscheinlich schneller. Tja. Man ist immer wieder erstaunt, wie schnell eigentlich Windows 98 auf einem Ur-Pentium ist, auf dem nicht x Programme ihre Zusatz-DLL installiert haben und das System ausbremsen. > Ich möchte mich schon gern darauf verlassen, dass der C++ Compiler auch > den schnellsten Code erzeugt. Es hat nichts mit der Sprache zu tun! (Oder nur sehr wenig) Das ist eine Frage des Systemaufbaus. Die Sprache ist nur das Werkzeug dafür.
:
Bearbeitet durch User
> Gehen alle C++ Libs so leichtfertig mit der Performance um? Nein, keineswegs. Viele Libraries für die Mikrocontrolelr Welt sind wesentlich näher an der Hardware (z.B. die http://www.mikrocontroller.net/articles/AVR_FAT32). > Ich möchte mich schon gern darauf verlassen, dass der C++ > Compiler auch den schnellsten Code erzeugt. Das ist unmöglich. Den schnellsten Code erhälst Du nur mit Assembler, wenn Du die Eigenarten des jeweiligen Computers richtig gut beherrschst. Also mit viel Einsatz von Gehirnschmalz. C und C++ bieten Dir jedoch die Möglichkeit, einen schnellen Code mit viel weniger Personalaufwand zu erzeugen, als in Assembler. Zum Spass schaue ich mir manchmal den vom Compiler erzeugten Assembler-Code an und überlege, wie ich ihn optimieren könnte. Meistens kommt dabei heraus, dass ich es selbst auch nicht besser gemacht hätte. Der GNU C Compiler ist schon ziemlich gut.
Karl Heinz schrieb: >> Das hatte ich selber vor Monaten mal nachgemessen und war entsetzt. > > Na ja. > Man muss natürlich auch berücksichtigen, dass hier in einem gewissen > Sinne Äpfel mit Birnen verglichen werden. digitalWrite macht ja auch > noch einiges zusätzlich mit, kümmert sich zb darum was passieren soll, > wenn der Pin vorher auf PWM geschaltet war und einiges mehr. Ja klar, irgendwie müssen ja die Takte verbraten werden, hab mir die Libs dann mal angeschaut und da wurde mir so einiges klarer. Stefanus schrieb: >> Ich möchte mich schon gern darauf verlassen, dass der C++ >> Compiler auch den schnellsten Code erzeugt. > > Das ist unmöglich. Den schnellsten Code erhälst Du nur mit Assembler, > wenn Du die Eigenarten des jeweiligen Computers richtig gut beherrschst. > Also mit viel Einsatz von Gehirnschmalz. Das ist mir auch klar. Möchte nur sicher sein, dass eine C++Lib nicht auch son ne Vollkaskomentalität hat wie der italienische König. Karl Heinz schrieb: > Das Arduino-System ist ein > Framework, welches dir Funktionalität zur Verfügung stellt. Und die ganzen C/C++ IDE sind das nicht?
Karl Heinz schrieb: > Aha. > Und deswegen darf ich keine Meinung zu einem Thema haben, das einen > Fragesteller interessiert? Natürlich darfst du, aber in deiner Funktion als Moderator könntest du auch einfach auf einen der letzten ~10 Threads verweisen, in denen dieses Thema von A-Z durchgekaut wurde und dort dein Statement (erneut) abgeben.
Ich schrieb: > Karl Heinz schrieb: >> Das Arduino-System ist ein >> Framework, welches dir Funktionalität zur Verfügung stellt. > > Und die ganzen C/C++ IDE sind das nicht? Was hat die IDE damit zu tun? Du wirfst ein weiteres mal Äpfel mit Birnen in einen Topf. Eine IDE ist, wie der Name schon sagt, die Entwicklungsumgebung. Was dein Editor, die Projektverwaltung, das Syntax Coloring etc. etc. alles kann, ist für dich als Programmierer zwar interessant, wenn es darum geht, wie gut du mit der IDE arbeiten kannst, ist aber völlig uninteressant, wenn die Fragestellung lautet: welcher Code kommt dann auf dem AVR tatsächlich zur Ausführung. Du vermischt hier die Qualität des Bleistifts bzw. Kugelschreibers mit der Qualität des Romans der damit geschrieben wird. Das eine hat mit dem anderen nichts zu tun. > Das ist mir auch klar. Möchte nur sicher sein, dass eine C++Lib nicht > auch son ne Vollkaskomentalität hat wie der italienische König. Das alles hat nichts mit C++ zu tun. Es nicht der Schraubenzieher, der dafür verantwortlich ist, dass in dein Auto ein ASR-Modul eingebaut wird, sondern der Designer, der das Ding vorgesehen hat. Im Falle von Arduino hindert dich nichts und niemand daran, dir die Dinge in Source Code Form anzusehen, die du da verbaust. Und wenn dir das, was du da siehst nicht gefällt, dann schreibst du es eben selber.
:
Bearbeitet durch User
>Natürlich darfst du, aber in deiner Funktion als Moderator könntest du >auch einfach auf einen der letzten ~10 Threads verweisen, in denen >dieses Thema von A-Z durchgekaut wurde und dort dein Statement (erneut) >abgeben. Ich erwarte von einem Moderator, dass er sich wie ein normaler / oder erfahrener User an einer Diskussion beteiligt (wenn er das denn möchte) und ansonsten bei groben Regelverstößen eingreift. Das was Du meinst ist ein Erziehungsberechtiger.
Ich bin da voll bei Karl Heinz. Dave vermischt in diesem Fall zu vieles. Der Ardunio bietet einem Einsteiger eine gute Plattform. Nicht mehr und nicht weniger. Diese Plattform stößt irgendwann an seine Grenzen. Sprich in der Größe bzw. Schlankheit des Programmcodes. Die Vielfalt der Prozzesoren stößt bei mir auf Ablehneung. Für diese Plattform gibt es eine Vielzahl an Biblitheken. Diese sind zum Teil sehr gut, allerdings auch teilweise sehr schlecht. Programmieren besteht eben nicht nur aus copy und paste. Jeder Programmierer sollte sich und muss sich irgendwan der IDE des jeweiligen Herstelers in Assembler oder in C stellen. Es gibt viele Programmiersprachen für Controller. Dennoch ist und bleibt der reine Assembler und teilweise auch C die Urform des Programmierens. Daran führt in der Praxis kein Weg vorbei. dies mag ein Arduino Fan nicht gerne hören, ist aber so.
Na gut, dann sag' mir einen gescheiten Grund warum nicht hier weiterdiskutiert wird: Beitrag "Arduino - bringt's das ?" Achim_42 schrieb: > Das was Du meinst ist ein Erziehungsberechtiger. Ein Moderator moderiert das Forum, das heisst im Idealfall: - Löscht er anstössige/beleidigende Kommentare - Löscht Doppelpostings - Verweist auf bereits bestehende Threads - etc.
Dave Chappelle schrieb: > Ein Moderator moderiert das Forum, das heisst im Idealfall: > > - Löscht er anstössige/beleidigende Kommentare OK > - Löscht Doppelpostings Gibt der Seitenbetreiber vor, nicht irgend ein Hergelaufener > - Verweist auf bereits bestehende Threads Gibt der Seitenbetreiber vor, nicht irgend ein Hergelaufener > - etc. OK Was glaubst Du, wer Du bist, dass Du Dir anmasst, die Moderationsregeln vorzugeben? wendelsberg
wendelsberg schrieb: > Was glaubst Du, wer Du bist, dass Du Dir anmasst, die Moderationsregeln > vorzugeben? Öhm, die habe ich höchstens widergegeben, von vorgeben kann hier kaum die Rede sein. Abgesehen davon ist es meines Wissens nach in einem Duzend Foren der Fall, dass Doppelpostings gelöscht werden (hier wohl eher nicht, da das editieren nicht zeitunabhängig funktioniert) und Doppelthreads ebenfalls (hier übrigens auch gängige Praxis, schau mal bei "gesperrte" rein..).
Ingo Schick schrieb: > Jeder Programmierer sollte sich und muss sich irgendwan der IDE des > jeweiligen Herstelers in Assembler oder in C stellen. Och, warum soll ich mir bei jedem Hersteller dessen IDE antun? Nö. Emacs rulez. :) Außerdem gibt es natürlich genügend Programmierer, die mit einem fertigen System à la Arduino oder BASCOM einfach gut genug bedient sind und gar nicht mehr brauchen als das. Warum „müssen“ diese sich deshalb auch C oder gar Assembler antun? Was auf einem kleinen Controller als Zielplattform natürlich immer sehr hilfreich ist ist, wenn man den generierten Code zumindest rudimentär lesen kann und so einschätzen kann, ob die benutzte Programmierumgebung an einer bestimmten Stelle (die sich vielleicht als zeitkritisch herausgestellt hat) sehr suboptimalen Code generiert hat, den man dann nochmal irgendwie aufpolieren müsste. Aber das heißt noch lange nicht, dass man deshalb auch gleich in Assembler selbst programmieren können muss. wendelsberg schrieb: > Was glaubst Du, wer Du bist, dass Du Dir anmasst, die Moderationsregeln > vorzugeben? Lass mal wieder gut sein. Wir haben hier so fast alle eine andere Meinung als Dave, das wurde ihm nun oft genug mitgeteilt. Wenn er das in Frage stellen möchte, möge er bitte einen Thread im Forum „Webseite“ eröffnen. Bitte lasst diesen Thread beim Thema bleiben.
Jörg Wunsch schrieb: > Wenn er das > in Frage stellen möchte, möge er bitte einen Thread im Forum „Webseite“ > eröffnen. Nene, so wichtig is mir das jetzt auch nicht..
Es gibt doch auch die neuen "dicken" arduino boards, wenn junkt da der overhead den arduino mitbringt, ob nun 2 oder 150 cpucycles für ein Portwrite gebraucht werden? Niemand. Eben. Deswegen ist das System an sich auch Klasse, jemand der bare-metal irgendwelche state of the art super code baut denn interresiert arduino nicht. Man ist das langweilig geworden dieses Forum, das man schon auf so eine Scheisse antwortet. gGruß Jonas
wendelsberg schrieb: >> Ein Moderator moderiert das Forum, das heisst im Idealfall: >>....... > > Was glaubst Du, wer Du bist, dass Du Dir anmasst, die Moderationsregeln > vorzugeben? Genau, schleudert den Purschen zu Poden. zum Thema: Nach meiner Meinung ist die entscheidende Frage, WAS man programmieren will. Für (Hobby) Elektronik-Bastler ist Arduino absolut ausreichend. Für professionelle (Echtzeit) Anwendungen mag das nicht mehr gelten. Aber ich habe diese Grenze noch nicht erreicht.
Jonas Biensack schrieb: > wenn junkt da der overhead den arduino mitbringt, ob nun 2 oder 150 > cpucycles für ein Portwrite gebraucht werden? Es juckt schon, wenn man auf diese Weise vielleicht „zu Fuß“ (also ohne Hardware-SPI-Modul) ein 74HC595-Schieberegister ansteuern will oder sowas. Ist normalerweise auf der Hardware ja kein Problem (wenn auch nicht ganz so flink wie Hardware-SPI), aber mit dem Overhead der generischen Methoden unpraktikabel. Aber wie Karl Heinz schon schrieb, solange man damit nur eine LED schalten will, ist das wurscht (oder Käse, für die Vegetarier :).
KlausImHaus schrieb > Manchmal lese ich hier im Forum abwertende Kommentare über Arduino > Board/Plattform. > > - Es sei eine Spielerei für Leute die nicht viel Ahnung haben. Der Arduino wurde ursprünglich entwickelt für Leute wie Künstler. D.h. für Leute die für ihren Beruf nicht unbedingt eine µC Ausbildung mitbringen. > > - Oder man könne damit nicht wirklich lernen Mikrocontroller zu > benutzen, sondern nur vorgegebene Sachen und Libs. Genau, dass wurde damit nicht beabsichtigt !!!!! > > - Arduino Code mit seinen Libs sei größer und langsamer. Spielt für den ursprünglichen Plan keine Rolle. > > > Ich bin relativ neu in der Mikrocontroller Welt. Nein ich brauche keine > Empfehlungen! ;D > > Liege ich aber mit der Einschätzung richtig das unter Profis oder sagen > wir erfahrenen µC Nutzern Arduino unbeliebt oder als unnötig erachtet > wird? Ich würde sagen, unnötig und hinderlich. Mit der Arduino IDE wird man sicher kein µC Experte. Will man µC programmieren lernen sollte man sich diesen Umweg ersparen.Ich weiss wovon ich spreche, habs auch probiert!!! Dass die µC Experten in diesem Forum genervt sind, wenn Arduino Anfänger naive Fragen stellen kann ich gut verstehen ;-) > > Oder sind die Arduino Kritiker von der Sorte von Entwickler, die auch > Hochsprachen angreifen und darauf schwören das Assembler der einzig > wahre Weg sei und alles andere nur unnötige Vereinfachung oder was für > Dummies? :) Hoffe ich habe durch meine Sicht etwas beigetragen. Gruß Franz
Ich nutze Arduinos gerne als schnelle Plattform um mal eben was zu versuchen oder für kleine Projekte als Testumgebung. Klaar ist man nicht auf die Arduino software angewisen. Man kann ohne Probleme alle möglichen hex dateien über den Arduino Bootloader flaschen. Und genau das mag ich an diesen teilen. Eingebauter programmer Eingebaute versorgungsspannung und richtig günstig. Zudem gibt es sehr viel "Ansteck" hardware. Früher habe ich den Avr aufs Steckbrett gesteckt und alle komponenten drumrum oder erstmal eine Platine geätzt. Jetzt kann ich einfach mal drauflos stecken.
Ralf schrieb: > zum Thema: > Nach meiner Meinung ist die entscheidende Frage, WAS man programmieren > will. > Für (Hobby) Elektronik-Bastler ist Arduino absolut ausreichend. > Für professionelle (Echtzeit) Anwendungen mag das nicht mehr gelten. > Aber ich habe diese Grenze noch nicht erreicht. du hast zwar recht, dennoch sehe ich Präzisierungsbedarf! Der Arduino ist zum einen eine fertige Platine mit einem normalen Atmel AVR drauf, zum anderen die Programmierumgebung und der Bootloader. • Der AVR ist ein normaler AVR und natürlich massenhaft im industriellen und kommerziellen Einsatz (Zum Beispiel auch im Apple MacBoook Pro :-) ein Tiny13 ) • Natürlich kann man mit einem Arduino-Board entwickeln und später auf ein eigenes Design umstellen • Der Bootloader ist STK500v1 kompatibel, man kann den Arduino also zb auch über avrdude mit einer ganz normalen avrgcc Toolchain einsetzen • Der Compiler ist ein ganz normaler avrgcc, es stehen also alle Sprachmittel von C++ (damit auch fast alle von C) zur Verfügung, selbstverständlich kann man auch inline-Assembler programmieren, auch alle Code-Snippets die sich im Datenblatt oder sonstwo finden, lassen sich direkt übernehmen • Selbstverständlich ließe sich auch ein Arduino-Compilat auf den AVR auf einem ganz anderen Board „brennen“, der µC ist ja nicht irgendwie speziell. Ob das so unklug wäre, müsste mann erstmal durchdenken! Immerhin laufen viele Arduino-Programme ohne Änderung auch auf dem ARM-Arduino! Das ist schon recht portabel! • ISP ist per Header herausgeführt, du kannst also den Arduino auch ganz normal mit Studio oder sonst einer IDE über ISP programmieren, ohne das Wort je wieder in den Mund zu nehmen. • Das EAGLE-File steht zur Verfügung, man könnte also auch sehr bequem einen Arduino komplett in das eigene Design übernehmen. vlg Timm
Arduino ist meiner Meinung nach ziemlich nett, da man einerseits ein stabiles, umfangreiches und sehr einfach zu nutzendes Framework zur Verfügung hat, auf der anderen Seite aber im Prinzip ganz normales C programmiert. Wenn das Arduino-Framework nicht reicht (zu langsam, Features fehlen, usw.) kann man alles was man braucht leicht und performant selbst implementieren oder existierende C-Libraries adaptieren. Wenn man am Ende über Arduino hinauswächst, kann man die Sourcen durchaus weiterverwenden. Es ist keine Sackgasse wie irgendein proprietärer BASIC-Dialekt.
Franz Pürstinger schrieb: > Ich würde sagen, unnötig und hinderlich. Mit der Arduino IDE wird man > sicher kein µC Experte. Will man µC programmieren lernen sollte man sich > diesen Umweg ersparen bitte erläutere das detaillierter! Nur, weil man kein Makefile anpassen muss? Das muss man in Studio auch nicht. Die Arduino-IDE lässt sich einwandfrei als plattformunabhängiges GUI für avrgcc verwenden, was soll da ein Umweg oder hinderlich sein?
Hallo, ich denke die hier (gesamtes µC.net Forum nicht speziell dieser Thread) öfters geäußerte Kritik liegt an den Personenkreis der hier natürlicherweise im Forum unterwegs sind : Bastler und Profis aus dem ->Computer und Elektronikbereich<- wir wollen halt verstehen wie ein µC funktioniert, arbeiten z.B. bewusst mit verschiedensten Busprotokollen, möchten oder können auch tiefergreifende vielsichtige Stuerungen, Regelungen etc. mit einen µC aufbauen und haben oft mehr Spaß an der entwicklung, den probieren und den umgang mit elektronik als an der Nutzung des ferigen Produkts. Doch was war ursprünglich die Zielgruppe des Arduino Projekts : "Künstler" im weitesten Sinn. Diese interessiert meist ehr das Ergebnis und möchten selten Elektronik, Controllertechnik, Busprotokolle, Bauteilfunktion im Detail usw. kennenlernen - die fertige Funktion ist das Ziel, weniger das verstehen was intern abläuft, wie etwas technisch optimiert werden kann und der ganze andere Kram der uns als typische µC.net Nutzer so interessiert. Erst mit der popularität des Arduino ist er auch in den Bastlerbereich vorgestoßen - und für die ganz anders denkenden "Alt-" und Profiprogrammierer/elektroniker ist die (zu ?) einfache Programmiersprache und der ehr oberflächliche Abhandlung der Elektronik zu simpel und nicht zielführend. Bastler AVR
Timm Reinisch schrieb: > Die Arduino-IDE lässt sich einwandfrei als plattformunabhängiges GUI für > avrgcc verwenden Naja. Die Arduino-GUI ist nun nicht gerade das beste an all dem. Deren Projektgenerator ist (so hat mir zumindest jemand gesagt, der sich das Ding näher angeguckt hat, weil er was ändern wollte) komplett hart in den Java-Code gegossen und praktisch nicht konfigurierbar.
Zum spielen und "schnell" mal was austesten mag ein Arduino ja gut sein, aber ich bin eher für Maßanfertigung, weil ich hierdurch die Möglichkeit habe meine Applikation und meine Hardware speziell auf die Anforderung zu schmieden.
Jörg Wunsch schrieb: > Timm Reinisch schrieb: >> Die Arduino-IDE lässt sich einwandfrei als plattformunabhängiges GUI für >> avrgcc verwenden > > Naja. Die Arduino-GUI ist nun nicht gerade das beste an all dem. > Deren Projektgenerator ist (so hat mir zumindest jemand gesagt, der > sich das Ding näher angeguckt hat, weil er was ändern wollte) komplett > hart in den Java-Code gegossen und praktisch nicht konfigurierbar. Das stimmt! Man kann zum Beispiel nicht einfach den gcc wechseln! Andererseits ist auch ein serielles Terminal direkt in das IDE mit eingebaut! vlg Timm
Wer von uCs keine Ahnung hat und keine Ahnung haben will, ist mit Arduino gut beraten. Der sollte dann aber auch nicht meckern, wenn die Lib nicht so tut, wie erwartet oder wenn mehrere Libs nicht miteinander können.
Hier findest du so viele Meinungsäußerungen zu dem Thema wie ein Jahr Tage hat: Beitrag "Arduino - bringt's das ?" Welche von den Beitragsschreibern Profis oder erfahrene µC-Nutzer sind, musst du allerdings selber herausfinden ;-) Generell gibt unter den µC-Einsteigern welche, bei denen der µC selbst im Zentrum des Interesses steht, und welche, die den µC als Hilfsmittel sehen, um mit möglichst wenig Aufwand eine bestimmte Anwendung zu realisieren. Derjenige, der den µC wirklich verstehen will, wird den µC von Anfang an ohne Zuhilfenahme fertiger Bibliotheken in C oder gar Assembler programmieren wollen. Genauso derjenige, der von Anfang an das letzte aus dem Controller herausholen will. Derjenige aber, der für seine Modelleisenbahn eine Steuerung für Signale und Weichen realisieren möchte, es kaum erwarten kann, bis das Zeug endlich anfängt zu klackern und zu blinken, und mit µCs sonst eigentlich nichts am Hut hat, wird eher den High-Level-Einstieg über den Arduino suchen, weil er damit voraussichtlich schneller zum Ziel kommt. Wer allerdings einmal den Low-Level-Einstieg erfolgreich durchgemacht hat (egal ob aus Neigung oder weil es zu dem Zeitpunkt des Einstiegs die Arduinos noch nicht gab), wird im Nachhinein kaum auf Arduino umsteigen, weil dafür der Einarbeitungsaufwand höher wäre als die Zeitersparnis in zukünftigen Projekten. Er hat ja bereits das Wissen und Code-Fragmente zur Nutzung aller wesentlichen µC-Features, so dass ihm die Nutzung fertiger Bibliotheken kaum Nutzen bringt, er aber mit neuen Problemen (wie bspw. längere Ausführungszeiten) kämpfen müsste. Auch ein Arduino-Nutzer wird es irgendwann als notwendig empfinden, aus Laufzeitgründen eine Bibliotheksfunktion durch ein eigenes Stück Code zu ersetzen, was ja auch in Arduino kein Problem ist, da der direkte Zugang zur µC-Hardware in keiner Weise versperrt ist. Irgendwann findet er sich in einer Situation wieder, wo er nur noch so wenige Teile der Arduino-Bibliothek benutzt, dass er sich fragt, warum er diese nicht einfach komplett weglässt. Die Arduino-Hardware kann er ja vorerst weiter nutzen, bis er vielleicht auf den Gedanken kommt, auch diese durch etwas selbstgelötetes, auf eine konkrete Anwendung zugeschnittenes zu ersetzen. Insofern ist es schon richtig, dass erfahrene µC-Nutzer eher Abstand von Arduino nehmen. Das heißt aber nicht unbedingt, dass sie Arduino deswegen verpönen.
:
Bearbeitet durch Moderator
Hallo Klaus, KlausImHaus schrieb: > Das erinnert mich an PHP. Darüber sagt man auch, es hätte die > Webentwicklung damals stark vereinfacht und dadurch Leute angezogen die > schnell was damit machen wollen, ohne es vernünftig zu lernen, dadurch > gäbe es überall schlechten und unsicheren PHP Code, was allgemein dem > Ruf von etwas PHP geschadet hätte. Leider ist das ja auch der Fall. Schau Dir die bekannte PHP-Software doch mal genauer an. Der Code ist oft wirklich gruselig. Das Problem betrifft aber auch PHP selbst: der Grund, warum PHP so lange keine Namensräume beherrscht hat, ist, daß die PHP-Entwickler ihren eigenen flex-basierten Codeparser nicht mehr verstehen. PHP ist ja im Prinzip eine aufgeblähte Templateengine auf Steroiden und sehr gut für das Einsatzgebiet geeignet, für das es entwickelt wurde: nämlich, um eine weitestgehend statische Webseite mit einigen wenigen dynamischen Elementen aufzupeppen. Für genau diesen einen Anwendungsfall ist PHP gut geeignet und kann seine Stärken ausspielen, und darin ist es tatsächlich besser als SSI, Embperl und Co. Für größere Projekte ist PHP allerdings bei Weitem nicht so gut geeignet und dann mindestens ebenso aufwändig wie seine Wettbewerber. Nicht ganz unähnlich ist die Sache mit Arduino: das ist prima für dessen Zielgruppe, nämlich Kreative und andere Nichttechniker. Die können mit einem vergleichsweise überschaubaren Aufwand kleine Programme schreiben, mit denen sie die Leistungsfähigkeit der Hardware aber selten vollständig ausnutzen. Das muß ja auch nicht immer sein. Echte Könner bedenken das dann zwar gerne mit einem süffisanten Lächeln, aber die haben einen ganz anderen Fokus als die Arduino-Anwender: während Elektronik für die Könner gleichzeitig Weg und Ziel ist, ist sie für die Arduino-Zielgruppe nur ein Mittel zu einem ganz anderen Zweck -- und da gibt es eigentlich nichts zu Belächeln. Beste Grüße, Karl
Wer Arduino professioneller programmieren will, darf gerne zu Eclipse greifen: http://playground.arduino.cc/Code/Eclipse
chris_ schrieb: > Wer Arduino professioneller programmieren will, darf gerne zu Eclipse > greifen: > > http://playground.arduino.cc/Code/Eclipse Weil das ja von der IDE abhängt. Ich finde Eclipse super, aber das Problem ist nicht die grottige Arduino IDE. Die ist auf Platz 896 der schlimmsten Probleme von Arduino. Außerdem, der typische Arduino-Nutzer kann nichtmal ne Doku oder ein Datenblatt lesen, was meinst du wie der auf so eine mächtige IDE reagiert.
:
Bearbeitet durch User
Hallo, Ich schrieb: > Nun habe ich meine Zweifel. Gehen alle C++ Libs so leichtfertig mit der > Performance um? Nein. HTH, Karl
>die grottige Arduino IDE. Die ist auf Platz 896 der >schlimmsten Probleme von Arduino. 16 jähriger Schüler, der fasziniert ist, wie einfach man mit dem Arduino einen kleinen Robeoterarm aus Servos bauen kann. Zeig dem mal Eclipse. Zeig dem Arduino IDE. Ob die dann immer noch auf 896 liegt ? Wie schon oft in diesem Thread und anderen angesprochen: Arduino ist nicht gut oder schlecht, sondern Arduino ist für DEN EINEN bessern, und für JEMAND ANDERS ist ein STM32Discovery besser.
Ich schrieb: > Karl Heinz schrieb: >> Ein Beispiel. >> Um einen Portpin zu schalten, genügt in der 'klassischen' Programmierung >> ein PORTB |= ( 1 << PB0 ); >> >> der verbraucht 1 (oder waren es 2?) Taktzyklen. >> >> Die Arduino Variante digitalWrite( Ausgangsnummer, HIGH ); >> verbraucht ein Vielfaches davon. Aus dem Gedächtnis heraus waren es so >> um die 150 Taktzyklen. > > Das hatte ich selber vor Monaten mal nachgemessen und war entsetzt. Ich bin selber ein klein wenig Perfektionist und mir tut so etwas ebenfalls sehr weh. Allerdings muß die relevante Frage sein, ob die Lösung zum Problem paßt. In der Elektronik- und Microcontroller-Welt ist es ja relativ normal, teilweise nur einen Bruchteil der Funktionen der Hardware zu nutzen (z. T., z. B. bei Mehrfachbelegung von I/O-Pins, ist es nicht einmal möglich, alle Features gleichzeitig zu nutzen). Warum sollte man das bei der Rechenleistung anders machen? > Ich suche immer noch einen "Ausweg" aus der ASM Programmierung der > 8-Bitter. > Wollte dann mit Arduino Due (ARM) den Einstieg in die C/C++ Welt > angehen. Versuch es wirtschaftlich zu betrachten. Es kommt darauf an, was Du machen willst. Hast Du ein Produkt in recht kleiner Stückzahl, so sind die Mehrkosten für einen "großen" Mikrocontroller gegenüber der eingesparten Entwicklungszeit vernachlässigbar, es sei denn, weitere Anforderungen wie z. B. minimaler Stromverbrauch oder Platzbedarf würden dem entgegenstehen. Bei einem Produkt, das in kleiner Stückzahl hergestellt wird, kann man sich evtl. mit einem Arduino auch die Platinenherstellung sparen und dann ist es ein Vorteil, wenn es mehrere verschiedene Varianten gibt, sodaß man etwas mehr Auswahl hat und notfalls einen "größeren" nehmen kann. Und man kann ja "notfalls" auch mit der Arduino-IDE ein nicht-Arduino-Board oder mit einer Standard-Entwicklungsumgebung ein Arduino-Board programmieren, sodaß man sich da nichts verbaut. Soll ein Produkt dagegen in Massenfabrikation hergestellt werden, so lohnt eine Optimierung auf einen minimalen Mikrocontroller, weil sich jeder eingesparte Cent sofort auswirkt. In der Softwareentwicklung auf PCs usw., wo ich mehr Erfahrung habe als mit Mikrocontrollern, hat es sich eingebürgert, das Produkt erst einmal zum Laufen zu bringen und nur performancekritische Teile zu optimieren. Ich sehe diese Herangehensweise etwas kritisch, weil nachträgliche Optimierung ihre Grenzen hat und versuche immer, nicht unter einen gewissen Mindeststandard zu gehen, aber im Prinzip ist es durchaus richtig. > Ich möchte mich schon gern darauf verlassen, dass der C++ Compiler auch > den schnellsten Code erzeugt. Aber das ist wahrscheinlich der > Kompromiss, bzw der Preis für den Komfort, nicht mehr mit Registern und > Speicherzellen hantieren zu müssen. Die Compiler sind in den letzten Jahren besser geworden und nicht mehr mit Stand von vor z. B. 20 Jahren zu vergleichen. Es macht heute (auch wegen der Vielzahl möglicher Plattformen) nur noch in Spezialfällen oder zeitkritischen Bereichen Sinn, hochoptimierten Assemblercode zu schreiben. Bei RISC-Prozessoren ist es sogar gar nicht so wahrscheinlich, daß man besseren Code als der Compiler hinbekommt, wenn man sich nicht sehr gut auskennt. Einer der Vorteile einer High-Level-Plattform wie Arduino ist, daß man auch Portabilität zwischen verschiedenen Prozessoren und Architekturen hat.
:
Bearbeitet durch User
Karl Heinz schrieb: > Das Problem liegt in erster Linie bei den 'Programmiereren' der Arduino > Plattform. Zumindest bei denen, die hier im Forum aufschlagen. > > Denn die stellen sich immer wieder von der Sorte 'Ich brauch das alles > nicht richtig lernen, weil Arduino ohnehin so einfach ist' heraus. Weder > muss ich meine Programmiersprache lernen, noch interessiert mich die > Doku, die es zum Arduino System gibt. Ich wundere mich, dass nun auch von dir solche Vorurteile gestreut werden. Es gab hier in den letzten Wochen gerade einen grossen Thread eines Arduino-Users, der sich voellig merkbefreit verhalten hat. Von Nicht-Arduino-Usern gibt es mindestens einen pro Woche. Und nicht selten sind das "Studenten der Elektrotechnik" die "bereits C/C++/Assembler beherrschen". Die Arduino-Plattform hat viele Probleme. Aber eine Diskussion darueber ist hier ziemlich sinnlos, weil die wenigsten hier, schon gar nicht die, die besonders laut ueber Arduino schimpfen, praktische Erfahrung damit haben. Und deswegen interessiert sich auch keiner in der Arduino-Welt dafuer, was in diesem Forum ueber Arduino geschrieben wird.
Hi >Ich wundere mich, dass nun auch von dir solche Vorurteile gestreut >werden. Aktuelles Beispiel: Beitrag "Arduino Ethernet Shield w5100 nimmt nichts an" MfG Spess
kuebellord schrieb: > Aber eine Diskussion darueber > ist hier ziemlich sinnlos, weil die wenigsten hier, schon gar nicht die, > die besonders laut ueber Arduino schimpfen, praktische Erfahrung damit > haben. Die meisten hier, die ueber Arduino schimpfen, brauchen damit auch keine Erfahrung haben, weil sie es naemlich "richtig" gelernt haben. Die wissen das der mC-Takt vom Quarz abhaengt und nicht von irgend einer Code-Zeile ala:
1 | #define F_CPU 16000000UL
|
Die wissen was ein Programmer ist und wie man debuggt, die wissen was ein Register ist und wie man Pins setzt ohne 100-Taktzyklen zu verschwenden, und die auch in der Lage sind alleine heraus zu finden, warum ihr SPI oder UART gerade nicht funktioniert, ohne erstmal in mind. einem Forum einen Thread zu starten. spess53 schrieb: > Aktuelles Beispiel: > > Beitrag "Arduino Ethernet Shield w5100 nimmt nichts an" Da kann ich leider nur zu stimmen. Das sagt schon wieder alles: Ich habe keine Ahnung davon, will mich nicht damit beschaeftigen, und die Fehlermeldung bei Google eingeben kann und will ich auch nicht. Aber hier einen Thread aufmachen, das geht... Das ist leider nun mal der typische Arduino-User, und trifft auf 98% zu. Gruesse
kuebellord schrieb: >> Denn die stellen sich immer wieder von der Sorte 'Ich brauch das alles >> nicht richtig lernen, weil Arduino ohnehin so einfach ist' heraus. Weder >> muss ich meine Programmiersprache lernen, noch interessiert mich die >> Doku, die es zum Arduino System gibt. > > Ich wundere mich, dass nun auch von dir solche Vorurteile gestreut > werden. Echt? Findest du? Ich kann dazu nur sagen, dass ich seit einiger Zeit, jede Woche mindestens 3 Arduino Programmierern einen Link auf 'ihre' Doku raussuche. Da steht im Posting die Frage, ich geb in Goggle "Arduino" und das zugehörige Stichwort ein (meistens der Name einer Funktion oder einer recht naheliegenden Arduino Klasse) und 10 Sekunden später hab ich einen Link, den ich als Antwort posten kenn, weil dort drinnen alles steht. Die meisten Links führen direkt in die Arduino Web-Seiten. > eines Arduino-Users, der sich voellig merkbefreit verhalten hat. Von > Nicht-Arduino-Usern gibt es mindestens einen pro Woche. Und nicht selten > sind das "Studenten der Elektrotechnik" die "bereits C/C++/Assembler > beherrschen". Zweifellos. Ist alles eine Frage dessen, wie groß der Anteil der Arduino Programmierer am Gesamtaufkommen hier im Forum ist. Genauso wie der Anteil der Studenten/Absolventen schwankt der im Laufe eines Jahres. Selbst wenn man in einem völlig abgedunkelten Raum sitzen würde, könnte man aus der Veteilung recht gut das aktuelle Monat ableiten.
Kaj schrieb: > Ich habe keine Ahnung davon, will mich nicht damit beschaeftigen, und > die Fehlermeldung bei Google eingeben kann und will ich auch nicht. Aber > hier einen Thread aufmachen, das geht... > Das ist leider nun mal der typische Arduino-User, und trifft auf 98% > zu. Einspruch. Ich behaupte viele Arduino-Nutzer sind stille Mitleser, die mit der "Suche" arbeiten und gar nicht erst als Fragesteller auffallen. - - - Aber hier mal eine Kritik an euch "Profis". Der Arduino-Anfänger stellt eine (zugegeben manchmal idiotisch) einfache Frage. Darauf bekommt er nicht die gewünschte Antwort, sondern Kommentare, dass Arduino nichts taugt oder er sich zuerst einmal selbst mit dem Problem auseinandersetzen soll. Nach einer Weile erbarmt sich dann jemand und gibt die Antwort. Das ärgerliche ist dabei: Wenn jemand, wie ich, dann die Suche bemüht findet er nicht dieses Szenario: - Frage - Antwort - Erledigt sondern: - Frage - Gemeckere was das soll - Antwort - Erledigt Und das empfinde ich als ärgerlich und glaube "KlausImHaus" ging es bei der Threaderöffung solche Situationen.
Ralf schrieb: > Der Arduino-Anfänger stellt eine (zugegeben manchmal idiotisch) einfache > Frage. > Darauf bekommt er nicht die gewünschte Antwort, sondern Kommentare, dass > Arduino nichts taugt Seh ich ein. Das ist tatsächlich nicht vernünftig. > oder er sich zuerst einmal selbst mit dem Problem > auseinandersetzen soll. Nach einer Weile erbarmt sich dann jemand und > gibt die Antwort. Ich kann dich beruhigen. Auch die Nicht-Arduino Programmierer kriegen ihr Fett ab, wenn sie Einsteigerfragen stellen, deren Antwort sich in jedem noch so grindigen C-Lehrbuch finden und man aus der Fragestellung entnehmen kann, dass er keine derartige Literatur besitzt, sondern wieder mal nach der "Pogrammierern lernen nach der Hörensagen-Methode" unterwegs ist. Das gilt dann ganz besonders bei Leuten, die dafür dann auch noch einen Abschluss (sei es Mittelschule oder akademischer Grad) bekommen. Da überlegen sich die Helfer 2-mal, wie das wohl wäre mit ihm zusammen zu arbeiten. Jemand der zwar einen akademischen Grad hat, auf Grund dessen er dann auch eingestellt und in die Entwicklertruppe kommt, aber eigentlich müsste man mit dem erst mal einen Grundkurs 'Programmierung' machen und in der Zwischenzeit seine Arbeit auch noch mit machen. Von mir kann ich sagen: Ich hab nichts gegen Arduino an sich. Aber ich hab was gegen die Denkweise, das in Foren angeeignetes anlassbezogenes Achtelwissen ausreichen würde. Oft noch garniert mit dem Zusatz "Ist ja nur ein Hobby, ich will ja kein Profi werden". Und da sind zumindest die Arduino Benutzer die sich hier im Forum rumtreiben, immer wieder an vorderster Front zu finden.
:
Bearbeitet durch User
@ Karl Heinz (kbuchegg) (Moderator) >Ich kann dazu nur sagen, dass ich seit einiger Zeit, jede Woche >mindestens 3 Arduino Programmierern einen Link auf 'ihre' Doku >raussuche. Arduino ist das neue BASCOM ;-)
Karl Heinz schrieb: > Von mir kann ich sagen: Ich hab nichts gegen Arduino an sich. Aber ich > hab was gegen die Denkweise, das in Foren angeeignetes anlassbezogenes > Achtelwissen ausreichen würde. Oft noch garniert mit dem Zusatz "Ist ja > nur ein Hobby, ich will ja kein Profi werden". Von denen gibt es bei den "richtigen" Programmierern aber auch genug. Da heisst es dann: "Ich will das Rad nicht nochmal erfinden". mfg.
Kaj schrieb: > Die meisten hier, die ueber Arduino schimpfen, brauchen damit auch keine > Erfahrung haben, weil sie es naemlich "richtig" gelernt haben. Die > wissen das der mC-Takt vom Quarz abhaengt und nicht von irgend einer > Code-Zeile ala: Danke fuer dieses schoene Beispiel. Ein Beispiel dafuer, wie an der Realitaet vorbei Argumente erfunden werden, um die eigenen Vorurteile zu bestaetigen. Arduino-User haben sicher viele banale Probleme, aber genau dieses ist typisch fuer Anfaenger, die eben keinen Arduino benutzen - in der Arduino-Welt existiert dieses Problem schlicht nicht.
Jeder auf seinem Niveau. Der Einsteiger mit Arduino hat halt Rückstände gegenüber dem FPGA Einsteiger, der normalerweise eine µC Vorgeschichte hat. Leider vergessen das die Pseudofortgeschrittenen mal abgesehen davon, wo sich dieses Forum positionieren möchte. In offenen Forum wie hier tauchen eben Fragen aller Art auf.
Die Frage "Ist Arduino verpönt" ist so an sich gar nicht richtig und zulässig. Arduino ist so gut oder so schlecht wie derjenige der damit arbeitet. Wenn sich jemand damit intensiv beschäftigt und weiß was er der Hard- und Software zutrauen kann, wird die besten Ergebnisse erzielen. Diese Anwender treten hier praktisch nie in Erscheinung. Von denen die keine Datenblätter und Anleitungen lesen, liest man dafür hier zur Genüge. Durch diese, und die zum Teil überflüssigen Kommentare, wird der Arduino in ungerechter Weise schlecht gemacht.
Hubert G. schrieb: > Wenn sich jemand damit intensiv beschäftigt und weiß was er der Hard- > und Software zutrauen kann, wird die besten Ergebnisse erzielen. Warum sollte jemand, der weiß was er tut, >100 Takte für das setzen eines Portpins verschwenden? Antwort: Tut er nicht. Er wird das Arduino Geraffel nicht nutzen. > Diese > Anwender treten hier praktisch nie in Erscheinung. Ja, niemand hat sie je gesehen, aber es gibt sie ganz sicher? > Von denen die keine Datenblätter und Anleitungen lesen, liest man dafür > hier zur Genüge. Leider zieht Arduino diese Nutzer an, wie Sch... die Fliegen. Hier liegt ja des Pudels Kern, der Casus Cnackus, der springende Punkt, wenn man so will.
Gestern war Arduino auf Bild.de http://www.bild.de/lifestyle/mode-beauty/jacken/led-leuchtjacken-trafopop-berlin-33843164.bild.html
cyblord ---- schrieb: > Warum sollte jemand, der weiß was er tut, >100 Takte für das setzen > eines Portpins verschwenden? Wenn das Ergebnis den Anforderungen entspricht, wird das niemanden jucken. Oder bekommst du etwas dafür wenn dein Programm um den Faktor 100 schneller ist aber das Ergebnis sich von dem langsamen nicht unterscheidet?
Hubert G. schrieb: > cyblord ---- schrieb: >> Warum sollte jemand, der weiß was er tut, >100 Takte für das setzen >> eines Portpins verschwenden? > > Wenn das Ergebnis den Anforderungen entspricht, wird das niemanden > jucken. Quatsch. Es zählt nicht das Ziel alleine. Es zählt vor allem wartbarer und verständlicher Code. Den man unter Kontrolle hat. Und gerade solche Konstruktue wie digitalWrite, die Hintergrund alles und nichts machen könnten, bergen die Gefahr von unbekannten Nebeneffekten und machen das ganze zu einem Zufallsspiel. Sicherlich gibt es 1000 Beispiele wo das super funktioniert, aber ein erfahrener Programmierer wird zur einfachsten und durchschaubarsten Lösung greifen, die in jedem Fall funktioniert und wo die Nebeneffekte völlig bekannt und beherrschbar sind. Es gibt einfach keinen Grund solch eine Funktion einzusetzen. Weil sie für den erfahrenen Programmierer keinen Vorteile, aber viele Nachteile hat. Die Vorteile gibt es nur scheinbar und nur für den Noob. > Oder bekommst du etwas dafür wenn dein Programm um den Faktor > 100 schneller ist aber das Ergebnis sich von dem langsamen nicht > unterscheidet? Klar, guten Code. Aber was verstehst du schon davon?
Hubert G. schrieb: > cyblord ---- schrieb: >> Warum sollte jemand, der weiß was er tut, >100 Takte für das setzen >> eines Portpins verschwenden? > > Wenn das Ergebnis den Anforderungen entspricht, wird das niemanden > jucken. Oder bekommst du etwas dafür wenn dein Programm um den Faktor > 100 schneller ist aber das Ergebnis sich von dem langsamen nicht > unterscheidet? Schon mal was von LowPower Anforderungen gehört? Ein programm das 100fach zyklen braucht, hat auch 100 mal schneller die Batterie leergelutscht. MfG
Karle Karlsberg (Gast)schrieb: "Ein programm das 100fach zyklen braucht, hat auch 100 mal schneller die Batterie leergelutscht". Langsam wird es hier peinlich. Und das sage ich als Nicht-Arduino User.
Leute wie cyblord und Karle Karlsberg sind natürlich Zeit ihres Lebens schon immer Profi-Programmierer gewesen und hatten nie eine Lernphase... Arduino ist nun mal auch und gerade für Leute gedacht, die keine professionelle Ausbildung in Elektrotechnik, Informatik oder dergleichen haben. Solche Leute soll es doch tatsächlich auf der Welt geben! Unfassbar. ;-)
cyblord ---- schrieb: > Die Vorteile gibt es nur scheinbar und nur für den Noob. Warum soll man den Noob der gut mit dem Arduino und der IDE gut zurecht kommt, sich aber sonst nie mit C oder Assembler beschäftigt hätte, schlecht machen. Wenn es auf Wartbarkeit des Code und Massenfertigung ankommt, wird der Arduino ohnehin keine Berücksichtigung finden. Bein Einzelstücken bei denen die Lebensdauer abzusehen ist, hat der Arduino aber absolut seine Berechtigung.
Rettet dieses Forum schrieb: > Karle Karlsberg (Gast)schrieb: > "Ein programm das 100fach zyklen braucht, hat auch 100 mal schneller die > Batterie leergelutscht". > > Langsam wird es hier peinlich. Und das sage ich als Nicht-Arduino User. Er hat nicht unrecht, in Low Power Anwendungen, schläft der Controller oft die meiste Zeit. Wacht kurz auf, tut was, schläft wieder. Wenn nun diese Arbeitszeit, auf eine Art, Faktor X mehr Zyklen braucht als auf die andere Art, dann wird deutlich mehr Energie verbraucht und die Batterie wird schneller leer. @Hubert: Du schriebst was von: > Wenn sich jemand damit intensiv beschäftigt und weiß was er der Hard- > und Software zutrauen kann, wird die besten Ergebnisse erzielen. Es ging also nicht um den Noob. Und darauf bin ich eingegangen. Also fang jetzt nicht wieder mit deinen Anfängern an. gruß cyblord
:
Bearbeitet durch User
cyblord ---- schrieb: > Hubert G. schrieb: >> cyblord ---- schrieb: >>> Warum sollte jemand, der weiß was er tut, >100 Takte für das setzen >>> eines Portpins verschwenden? >> >> Wenn das Ergebnis den Anforderungen entspricht, wird das niemanden >> jucken. > > Quatsch. Es zählt nicht das Ziel alleine. Es zählt vor allem wartbarer > und verständlicher Code. Den man unter Kontrolle hat. Und gerade solche > Konstruktue wie digitalWrite, die Hintergrund alles und nichts machen > könnten, bergen die Gefahr von unbekannten Nebeneffekten und machen das > ganze zu einem Zufallsspiel. Was digitalWrite() macht, ist weitgehend dokumentiert und der Quellcode liegt bei, sodaß sich niemand darauf berufen kann, er habe nicht wissen können, was genau der Code tut (im Gegensatz zu manchen proprietären Bibliotheken, die nur als Binary geliefert werden!). Und wer damit nicht einverstanden ist, kann es immer noch an den Arduino-Bibliotheken vorbei anders machen! Der Schuß ging also nach hinten los! > Sicherlich gibt es 1000 Beispiele wo das > super funktioniert, aber ein erfahrener Programmierer wird zur > einfachsten und durchschaubarsten Lösung greifen, die in jedem Fall > funktioniert und wo die Nebeneffekte völlig bekannt und beherrschbar > sind. Genau das ist ja bei der entsprechenden Arduino-Bibliothek offensichtlich der Fall, da sie anscheinend Sonderfälle berücksichtigt, die man vermutlich nicht immer im Kopf hat und nicht bei jedem zweiten Mal ausprogrammieren möchte! > Es gibt einfach keinen Grund solch eine Funktion einzusetzen. Weil sie > für den erfahrenen Programmierer keinen Vorteile, aber viele Nachteile > hat. Die Vorteile gibt es nur scheinbar und nur für den Noob. If it can't be done in Fortran, do it in Assember. If it can't be done in Assember, it isn't worth doing ;-)) . >> Oder bekommst du etwas dafür wenn dein Programm um den Faktor >> 100 schneller ist aber das Ergebnis sich von dem langsamen nicht >> unterscheidet? > Klar, guten Code. Aber was verstehst du schon davon? Die Benutzung der Arduino-Funktionen vermeidet Codeduplikation und Flüchtigkeitsfehler und erzeugt wartbareren, portableren Code. Ohne konkreten Grund besteht keine Veranlassung, es manuell zu machen. Daher kann ich Dir versichern, daß Deine Vorstellungen von "gutem Code" in dieser Verallgemeinerung zurecht eine Minderheitenmeinung sind. Oder legst Du es darauf an, hier einen Flame War zu starten?-)
:
Bearbeitet durch User
Meiner Erfahrung nach verhält es ich so: "Anfänger ==> Arduino Möchtegern Fortgeschrittener ==> ausschließlich MC Profi ==> Nimmt das passende Werkzeug zur passenden Aufgabe. Für Aufgaben, die sich mit einem Arduino schnell Lösen lassen, auch einen Arduino" aus Beitrag "Re: Arduino - bringt's das ?"
Matthias H. schrieb: > cyblord ---- schrieb: >> Hubert G. schrieb: >>> cyblord ---- schrieb: >>>> Warum sollte jemand, der weiß was er tut, >100 Takte für das setzen >>>> eines Portpins verschwenden? >>> >>> Wenn das Ergebnis den Anforderungen entspricht, wird das niemanden >>> jucken. >> >> Quatsch. Es zählt nicht das Ziel alleine. Es zählt vor allem wartbarer >> und verständlicher Code. Den man unter Kontrolle hat. Und gerade solche >> Konstruktue wie digitalWrite, die Hintergrund alles und nichts machen >> könnten, bergen die Gefahr von unbekannten Nebeneffekten und machen das >> ganze zu einem Zufallsspiel. > > Was digitalWrite() macht, ist weitgehend dokumentiert und der Quellcode > liegt bei, sodaß sich niemand darauf berufen kann, er habe nicht wissen > können, was genau der Code tut (im Gegensatz zu manchen proprietären > Bibliotheken, die nur als Binary geliefert werden!). Und wer damit nicht > einverstanden ist, kann es immer noch an den Arduino-Bibliotheken vorbei > anders machen! > > Der Schuß ging also nach hinten los! Wie man Portbits setzt ist in der uC Doku primär beschrieben, die doku eines wrappers mag da noch so gut sein, sie wiegt deb ballast des Wrappers nicht auf. Die fehlerärmste Programmierung ist immer noch die nach dem KISS - Prinzip: Keep it simple, stupid. MfG
Matthias H. schrieb: > Der Schuß ging also nach hinten los! Sicher nicht. Ich kenne den Code für digitalWrite, und genau das ist der Grund warum ich das nie einsetzen würde. > Genau das ist ja bei der entsprechenden Arduino-Bibliothek > offensichtlich der Fall, da sie anscheinend Sonderfälle berücksichtigt, > die man vermutlich nicht immer im Kopf hat und nicht bei jedem zweiten > Mal ausprogrammieren möchte! Offensichtlich... Diese Sonderfälle gibt es so aber nur, wenn man keine Ahnung hat was man da grade tut. Denn ich weiß ja, ob einen Pin als PWM betreibe oder nicht. Ich weiß ja, ob ich den als Ausgang oder Eingang haben will. Ich brauch doch keine Funktion die bei jedem setzen und löschen diese ganzen Dinge durchprüft. Das braucht man dann, wenn man irgendwas tut, ohne Plan. Dann schaut diese Funktion dass es trotzdem geht. Das ist nicht sauber programmieren. > Die Benutzung der Arduino-Funktionen vermeidet Codeduplikation > und > Flüchtigkeitsfehler und erzeugt wartbareren, portableren Code. Wie jede lib. Es gibt auch einfache libs ohne Arduino. Das ist kein Argument. > Ohne > konkreten Grund besteht keine Veranlassung, es manuell zu machen. Daher > kann ich Dir versichern, daß Deine Vorstellungen von "gutem Code" in > dieser Verallgemeinerung zurecht eine Minderheitenmeinung sind. Manuell ist immer relativ. Was ist daran "manuell", wenn ich einen Pin auf Ausgang setze und ihn direkt schalte? Ich kann das ganze noch Kapseln, je nach Funktionalität. Und genau solche Invarianten erzwingen, ich benötige, für das konkrete Programm. Dabei hilft Arduino ja nicht, es prüft ja meist nur unsinnige Dinge, welche sowieso von vorn herein kein Problem darstellen sollten. > Oder legst Du es darauf an, hier einen Flame War zu starten?-) Gerne doch. Ich hab schon gegen Arduino geflamed, da war die Welt noch jung.
Diese ganze Arduino-Diskussion ist schon tausendmal geführt worden, immer mit überschaubarem Ergebnis. Fakt ist: Viele "Arduino-Jünger" haben keinen Plan und keine Lust etwas zu lernen. Fakt ist aber auch: Arduino kann der perfekte Einstieg in die mC-Welt sein, da vieles stark Abstrahiert ist. Ich hab selbst vor Jahren mit dem Arduino angefangen, aus einem einfachem Grund: Ich komme zwar aus der Informatik, bin Softwarentwickler und Elektronik fand ich schon immer faszinierend - aber es war ein Buch mit sieben Siegeln. Ich hab mir verschiedene Fachbücher gekauft, hab gelesen und gelernt, mich aber nie an die mC herangetraut. Dann kam der Arduino und ich dachte mir: "Hey! 25€ - da kannst du nix falsch machen und es ausprobieren..." Gesagt, getan - und schon war ich drinnen in der mC-Welt. Afang als typischer Arduino-Frickler, Stütz- oder Abblock-Kondensatoren gab es nicht, alle Bauteile, die nicht auf ein Steckbrett passen, verwendet man nicht etc. Nach und nach wird einem allerdings der goldene Arduino-Käfig ein wenig zu eng und man bricht nach und nach aus. Ich hab zuerst boards gebastelt, wo ich einen kleinen Arduino Pro Mini sozusagen als CPU aufsteckte, irgendwann dann bin ich zu den Tinys gewechselt, auf SMD umgestiegen etc etc etc... die Programmierung wurde gleichermaßen unabhängiger von der Arduino-IDE und den Bibliotheken. Inzwischen nehm ich auch mal nen STM32 oder einen anderen ARM und die Bibliotheken benutz ich fast nur noch zum abkucken, wie bestimmte Dinge angesteuert werden, wenn ich nicht selber draufkomm oder im Netz nix zu finden ist. Auch die Arduino-Hersteller wollen nicht, dass man ausschließlich die Arduino-Tools benutzt, wie zahlreiche Artikel zeigen. Gerade die oben diskutierte Portmanipulation wird unter Anderem in der Referenz erklärt. http://arduino.cc/en/Reference/PortManipulation Auch werden dinge wie Bit Shifting etc behandelt http://arduino.cc/de/Reference/Bitshift - man muss es nur lernen wollen. Niemand verbietet dir, auf den ganzen Setup() und loop() zu verzichten und direkt plain-C zu schreiben. Niemand verbietet es dir mitten im "Loop" plötzlich ein "PORTB |= ( 1 << PB0 );" anstatt eines "DigitalWrite(PortPin, State)" zu benutzen. Ich bin der Meinung, dass der Arduino eine schöne Möglichkeit bietet in die Microcontrollerwelt einzusteigen - ob man sich dann zwangsweise auf immer und ewig ausschließlich mit dem Arduino auseinanderstzen will oder weiterzieht bleibt jedem selbst überlassen. Gezwungen wird man allerdings nicht.
:
Bearbeitet durch User
Hallo, ich habe jetzt hier nicht alles gelesen, trotzdem mein Senf: Die ganzen Dinge wie Arduino, BASCOM usw. erscheinen ja alle schön einfach, da doch gleich "alles" mitgeliefert wird und alles aufeinander abgestimmt zu sein scheint, aber was ist, wenn doch mal irgend etwas nicht zusammenpasst oder nicht so geht wie gedacht? Genau das ist nämlich der Punkt. Man kann immer weniger wiederverwenden - auch beim erlernten Wissen. Da kommt ein <irgendwas> nach dem nächsten auf dem Markt. Erst C-Control, dann BASCOM, dann Arduino und nun auch noch PSHDL. Über VBScript, Javascript usw. braucht man gar nicht erst reden. Man kommt einfach nicht hinterher. Da will man nur mal die Firmware eines 3D-Druckers aktualisieren und muss daher gleich die ganze Arduino-Grütze installieren, irgendwelche Zusatzpaket zusammenkopieren (Sanguino), herumkonfigurieren und schon wieder ist viel Zeit verloren. Das Gleiche ist dann irgendwie immer ein wenig anders und nach einem Update funktioniert wieder was nicht. Ich wäre dafür mal einen Standard richtig gut zu machen, anstatt immer was neues auszuprobieren.
Marcus W. schrieb: > Ich bin der Meinung, dass der Arduino eine schöne Möglichkeit bietet in > die Microcontrollerwelt einzusteigen - ob man sich dann zwangsweise auf > immer und ewig ausschließlich mit dem Arduino auseinanderstzen will oder > weiterzieht bleibt jedem selbst überlassen. Gezwungen wird man > allerdings nicht. Natürlich nicht. Du kannst dich auch zeitlebens auf dem Kompost wälzen. Niemand zwingt dich aufzustehen und dich mal zu duschen. Bleibt jedem selbst überlassen. Manno mann das sind Weisheiten... Aber ehrlich gesag, NEIN, ich bin doch gegen einen Flamewar. Vor allem heute. Für mich ist Montag und ich hab nur sehr wenig Blut im Kaffee, Schlafrythmus von den 2 Wochen Urlaub total zerstört. Neee, ein andermal vielleicht. Grmpf
:
Bearbeitet durch User
cyblord ---- schrieb: > Marcus W. schrieb: > >> Ich bin der Meinung, dass der Arduino eine schöne Möglichkeit bietet in >> die Microcontrollerwelt einzusteigen - ob man sich dann zwangsweise auf >> immer und ewig ausschließlich mit dem Arduino auseinanderstzen will oder >> weiterzieht bleibt jedem selbst überlassen. Gezwungen wird man >> allerdings nicht. > > Natürlich nicht. Vor allen Dingen, weil es zu nichts führt. Derartige Diskussionen gibt es und gab es schon immer, wenn auch mit unterschiedlichen Themen. Ich erinnere mich zb gerne daran, dass Datenbank-Design vor 30 Jahren etwas war, was man lernen musste. Ganze Uni-Vorlesungen drehten sich darum, wie man Datenbanken aufbaut, was Normalformen sind etc. Dann kam Access auf den Markt und die Datenbankanwendungen schossen wie Pilze nach einem warmen Regen aus dem Boden. Jeder der wollte, fühlte sich berufen eine Datenbank zu 'bauen', egal ob er was davon verstand oder nicht. Es ging ja auch so schön einfach - ein bischen zusammenklicken und fertig war die Sache. Und genau so sahen die DBs dann auch aus. Das Geheul, warum bestimmte Dinge fehlerhaft funktionierten, war zwar gross, dafür war das Einsehen, dass das fehlerhafte Design eine Weiterentwicklung behindert und man das alles im Grunde neu, diesmal aber richtig, machen müsse, das war klein. So, jetzt halt ich mich aber wirklich im weiteren hier raus, denn wie gesagt: es führt zu nichts.
Karl Heinz schrieb: > Ich erinnere mich zb gerne daran, dass Datenbank-Design vor 30 Jahren > etwas war, was man lernen musste. Ganze Uni-Vorlesungen drehten sich > darum, wie man Datenbanken aufbaut, was Normalformen sind etc. Ist heute zum Glück nicht anders. Datenbanken I und II würde ich nicht mehr missen wollen. Waren mit die besten Vorlesungen im Studium. > So, jetzt halt ich mich aber wirklich im weiteren hier raus, denn wie > gesagt: es führt zu nichts. Mach ich auch so.
cyblord ---- schrieb: > Mach ich auch so. Woher kommt dann dein Gelästere in diesem Thread, wo du dich doch so erfolgreich heraushältst ;-)
Mark Brandis schrieb: > Woher kommt dann dein Gelästere in diesem Thread, wo du dich doch so > erfolgreich heraushältst ;-) Jugendlicher Eifer. cyblord tut zwar immer so, als sei er ein alter Hase, ist er aber nicht. Ist leicht zu googeln...
>Fakt ist: Viele "Arduino-Jünger" haben keinen Plan und keine Lust etwas >zu lernen. Arduino ist nicht für Leute gemacht, die etwas lernen wollen, sondern für die, die etwas kreiren wollen.
Achim_42 schrieb: > Arduino ist nicht für Leute gemacht, die etwas lernen wollen, sondern > für die, die etwas kreiren wollen. "Constant repetition does not make a valid argument." Von der Arduino-Seite: "Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments." Was stimmt ist: Arduino ist nicht gedacht fuer elitaere Dorks.
Vielleicht wollen nicht alle etwas tiefgehenderes über Elektronik lernen, die mit Arduinos etwas basteln, aber die Plattform ermöglicht es, denn sie basiert vollständig auf Standardkomponenten und skaliert sehr gut. Das kommt bei anderen ähnlichen Plattformen (PICAXE u.ä.) nicht so unbedingt hin.
Was seid ihr hier für Helden ? Braucht ihr immer die Meinung /Vorurteil Anderer ? Könnt ihr Euch keine EIGENE Meinung bilden ? Etwas Mut !
>Jugendlicher Eifer. cyblord tut zwar immer so, als sei er ein alter >Hase, ist er aber nicht. Ist leicht zu googeln... Das brauche ich nicht zu googeln. Aus seinen Postings sieht man leicht, dass er noch in die Kategorie 2 fällt: > Meiner Erfahrung nach verhält es ich so: >"Anfänger ==> Arduino > Möchtegern Fortgeschrittener ==> ausschließlich MC > Profi ==> Nimmt das passende Werkzeug zur passenden Aufgabe. Für > Aufgaben, die sich mit einem Arduino schnell Lösen lassen, auch einen > Arduino"
Achim_42 schrieb: >>Fakt ist: Viele "Arduino-Jünger" haben keinen Plan und keine Lust etwas >>zu lernen. > Arduino ist nicht für Leute gemacht, die etwas lernen wollen, sondern > für die, die etwas kreiren wollen. Danke, damit triffst du exakt meine Ansicht. Ich bin nur ein harmloser Hobby-Bastler. Ich will kein versierter C-Programmierer werden. Ich will kein Experte für µController werden. Ich freue mich wenn meine kleinen Projekte (autom. Blumengießmaschine, blinkende LEDs am Weihnachtsbaum usw.) funktionieren. Wenn es mal nicht funktioniert, dann will ich hier nachfragen dürfen. Ohne das man mir unterstellt lernunwillig zu sein.
Karl Heinz schrieb: > In meinen Augen liegt das Problem eindeutig weder bei der Hardware, noch > bei der Entwicklungsumgebung sondern eindeutig in der 'Ich bin so gut, > ich brauch das nicht lernen' Attitüde der Programmierer. chapeau! du hast es auf den punkt gebracht. ich möchte möchte es nur um die position "ich weiss alles." "ich kann alles." "nur was/wie ich tue ist richtig." "ich mache keine fehler." ergänzen. ich nutze für kleinere aufgaben die arduino hardware mit geringen modifikationen im industriellen umfeld. das rad wurde schon erfunden. es neu zu erfinden macht es eckiger... :-)
Michael schrieb: > Danke, damit triffst du exakt meine Ansicht. > > Ich bin nur ein harmloser Hobby-Bastler. > Ich will kein versierter C-Programmierer werden. > Ich will kein Experte für µController werden. > > Ich freue mich wenn meine kleinen Projekte (autom. Blumengießmaschine, > blinkende LEDs am Weihnachtsbaum usw.) funktionieren. > > Wenn es mal nicht funktioniert, dann will ich hier nachfragen dürfen. > Ohne das man mir unterstellt lernunwillig zu sein. Meine auch.☺
Michael schrieb: > Ich freue mich wenn meine kleinen Projekte ... funktionieren. Genau DAS ist der Punkt. Verstehe das mal richtig: Es gibt ziemlich große Unterschiede zwischen Bastlern, Programmierern und Entwicklern. Bastler freuen sich eben darüber, daß ihr Bastel-Aufbau bzw. ihre Brettschaltung oder eben ihr Arduino funktioniert und sie haben keinerlei Ambition, daraus ein echtes Gerät zu bauen. Programmierer leben mit möglichst großem Abstand zu Hardware jeglicher Art, worunter bei manchen sogar die konkrete Architektur des verwendeten Systems gehört. Programmierer haben einen Angstsatz: "Hardware lebt - und sie ist böse." Entwickler sind Leute, die Geräte, Maschinen und Anlagen entwickeln und das ganze Programmieren ist nur ein Teilaspekt vom Ganzen, entsprechend distanziert ist deren Standpunkt zu Programmiersprachen aller Art - was einerseits mit einem größeren geistigen Horizont und andererseits mit weniger Detailwissen verbunden ist. Ein Programmierer kann z.B. die Vorrangregeln von C aus dem Stegreif herbeten, einem Entwickler ist das schnurz und er verwendet stattdessen Klammern und ein Bastler - speziell Arduino-Bastler - weiß nichts von dem und will es wohl auch nicht, stattdessen fordert es funktionierende Hardware- und Software-Blöcke, die es gefälligst regeln sollen. Tja - und Leute aus all diesen unterschiedlichen Guppen treffen hier aufeinander und jeder schimpft den anderen einen Blödian, weil er anders ist als man selber. Klaro? W.S.
>ich nutze für kleinere aufgaben die arduino hardware mit geringen >modifikationen im industriellen umfeld. >das rad wurde schon erfunden. es neu zu erfinden macht es eckiger... :-) Ich habe mir sagen lassen, dass selbst in Firmen wie Bosch mittlerweile Arduinos für das schnelle Prototyping bestimmter Anwendungen verwendet wird. Da fällt mir ein schöner Vergleich ein: Nur weil jedes Kind Fussball spielen kann, ist nich jeder der Fussball spielt ein Kind. Der ein oder andere "Leistungssportler" ist schon auch dabei. Der Unterschied ist "wie man etwas tut".
Franz schrieb: > Da fällt mir ein schöner Vergleich ein: > > Nur weil jedes Kind Fussball spielen kann, ist nich jeder der Fussball > spielt ein Kind. > Der ein oder andere "Leistungssportler" ist schon auch dabei. Der > Unterschied ist "wie man etwas tut". richtig. Aber wenn man eine Radtour durch die Provonce machen will, dann muss man Mindestfertigkeiten im Radfahren mitbringen. Wer sich nur mit Stützrädern in der Halbwegs-Senkrechten halten kann, ist da fehl am Platze. Das hat nichts damit zu tun, dass es auch Profis gibt, die im Jahr 15000km am Rad sitzen. Ohne gewisse Mindest-Kentnisse und Fertigkeiten geht es eben nicht. Und die sollte man haben, BEVOR man ein Projekt angeht. Das nennt man dann: Grundlagen lernen. Das, genau das, ist das, was immer wieder bekrittelt wird. Da geht es noch lange nicht darum, Profi werden zu müssen. Das jemand auf Anhieb einen dynamisch allokierten balanzierten Binärbaum nicht hinkriegt, schenke ich jedem hier. Aber was ein Cast ist, und wann und warum man ihn manchmal einsetzt, das sind Grundlagen. Oder wie man Funktionen schreibt, wie Argument Passing funktioniert, Arrays, Strukturen, etc.
:
Bearbeitet durch User
Franz schrieb: >>ich nutze für kleinere aufgaben die arduino hardware mit geringen >>modifikationen im industriellen umfeld. >>das rad wurde schon erfunden. es neu zu erfinden macht es eckiger... :-) > > Ich habe mir sagen lassen, dass selbst in Firmen wie Bosch mittlerweile > Arduinos für das schnelle Prototyping bestimmter Anwendungen verwendet > wird. > Bosch stöhnt ja auch über Fachkräftemangel, die haben keinen der eine kostenoptimierte und ressourcenschonende Platform entwickelt so dass man gezwungen ist auf automotivungeeigneten Kinderkram zurück zu greifen. MfG,
Franz schrieb: >>ich nutze für kleinere aufgaben die arduino hardware mit geringen >>modifikationen im industriellen umfeld. >>das rad wurde schon erfunden. es neu zu erfinden macht es eckiger... :-) > > Ich habe mir sagen lassen, dass selbst in Firmen wie Bosch mittlerweile > Arduinos für das schnelle Prototyping bestimmter Anwendungen verwendet > wird. Wenn die Komponente dann beim Siemens ICE verwendet wird, dann verwundern einen die 1sek Bremsverzögerung nimmer lol
>> .. für das schnelle Prototyping bestimmter Anwendungen verwendet > auf automotivungeeigneten Kinderkram zurück zu greifen. So ein Quatsch. Ein komplexes automotives Steuergerät hat oft sehr viele Sensoren mit PWM oder Impulsschnittstellen. Ob's jetzt in der Vorentwicklung, bei einer Umwelterprobung, EMV oder während Softwaretest ist: Oft muss man Signale wie 10% PWM und 90% PWM abwechselnd im 10 sek. Takt erzeugen. Da kann ich mir schon vorstellen, dass man so nen Testgenerator mit nem Arduino in 10 Minuten und 10 Zeilen Code schreibt. Problem gelöst. Hier redet niemand davon dass man nen Arduino in's Design einplant.
Ein Arduino-Klon kostet beim Chinamann 9€ inkl.Versand. Zum ersten Runspielen ist das doch völlig in Ordnung. Wenn man keinen Bock hat, sich in die Materie einzuarbeiten, holt man sich hier ein paar Klatschen für seine blöden Fragen ab und nach einem halben Jahr liegt das Ding in der Ecke. Vielleicht kriegt man im "Markt" auch noch ein paar Euro dafür. Hat man jedoch Blut geleckt, wird man zum Arduino-Spezi oder man schmeisst irgendwann das Arduino-Geraffel runter, kauft sich einen ISP und programmiert "richtig". Das Board ist OK. 328P in Grundschaltung, USB- Anschluss, alle Anschlüsse auf Buchsenleise rausgeführt - was will man mehr? Einfach positiv sehen. mfg.
quod erat demonstrandum! (was zu beweisen war) Fpga Kuechle schrieb: > Bosch stöhnt ja auch über Fachkräftemangel, die haben keinen der eine > kostenoptimierte und ressourcenschonende Platform entwickelt so dass man > gezwungen ist auf automotivungeeigneten Kinderkram zurück zu greifen. "keiner hat die absicht eine mauer zu bauen" (walter ulbricht ca. 1962) werkzeuge sind hilfsmittel. um einen nagel ein zu schlagen benutze ich einen hebel mit einer ausgeformeten masse (hammer) und kein momenten- und beschleunigungs-gesteuerten servo-geregelt highspeed servoantrieb ;-) das würde ich mir für den spezifischen einsatzfall vorbehalten! eine übertriebene technologie fixiertheit ist genauso so schlimm wie ignoranz. Martin Wende schrieb: > Wenn die Komponente dann beim Siemens ICE verwendet wird, dann > verwundern einen die 1sek Bremsverzögerung nimmer lol trifft das gleiche wie oben zu. ich finde in der szene immer wieder pfiffige denkansätze im gengensatz zu eingefahrenen denkschematas. ist schon traurig, das sich profesionelle kräfte durch das reizwort arduino in konkurenz versetzt fühlen. erinnert mich sehr stark an die mitte der '70 als ich einen der ersten 4-bit prozessoren als alternative zu einem mechanischen hengstler-zähler eingesetzt habe. ihr erfüllt meine "phrasen-drescher" punkte. danke!
>>Ein Beispiel. >>Um einen Portpin zu schalten, genügt in der 'klassischen' Programmierung >>ein >> >> PORTB |= ( 1 << PB0 ); >> >> der verbraucht 1 (oder waren es 2?) Taktzyklen. >> >>Die Arduino Variante >> >> digitalWrite( Ausgangsnummer, HIGH ); >> >>verbraucht ein Vielfaches davon. Aus dem Gedächtnis heraus waren es so >>um die 150 Taktzyklen. Stimmt! Aber nichts (ausser Unkenntnis) hindert der Arduino-Programmierer daran, direkt in den Arduino Code ein lockeres #define PB0 0 ... PORTB |= ( 1 << PB0 ); ... einzustreuen. Das erzeugt dann genau einen AVR-Befehl und der braucht zwei Takte: sbi 0x05, 0 Kann dein Compiler das besser ? MfG Willi
Ach Leuts, das ist mal wieder Äpfel mit Birnen vergleichen. Nehmen wir mal statt Arduino z.B. LEGO-Mindstorm, das kann man entweder mit der grafischen Oberfläche zusammenklicken oder sich ein C-Derivat besorgen und damit programmieren. Die grafische Programmierung ist für die "Kinder" gedacht die dieses "Spielzeug" schnell und ohne sich mit Informatik/Programmierung auseinander setzen zu müssen benutzen wollen. Ergo klickt sich "Kind" seinen Ablauf in einem Plan zusammen und schon fährt sein "Roboter" gegen die Wand. Im C-Derivat schreibt man dafür seine eigenen Routinen und der "Roboter" macht dasselbe, nur muß man nun wissen wie der Eingang für den Taster abgefragt wird und wie man den Motor regelt. Das ist genau das gleiche mit Arduino&Konsorten man hat Basisbibliotheken die einem viel Arbeit abnehmen und auch für Betriebssicherheit sorgen, z.B. wie schon erwähnt das PINs die mehrfache Verwendung haben berücksichtigt werden. Jeder der schonmal selber eine Bibliothek erstellt hat und sicher sein wollte das es niemals knallt weiß wieviel Hirnschmalz und notwendige Codezeilen darin stecken. Wer schnell zu einem funktionierendem Ergebnis kommen will nimmt das was er am schnellsten erlenen kann, ob ich da nun 15000 Takte "verschenke" bleibt isch gleich, wenn ich meine LED passend zum POTI/Musik/Grinsen gedimmt haben will. Und das geht mit Arduino nunmal recht einfach und der Code läßt sich auch auf andere Boards schnell anpassen. Wenn man nun allerdings eine Abtastrate von XYZ-MHz braucht und die dann via DDS auf'm Oszi ausgeben muß, tja dann kann man zwar das eine oder andere Arduino Board in Erwägung ziehen, sollte aber lieber direkt ohne Bibliotheken arbeiten :-P Und preislich gibt sich das auch kaum was, ob 20,- für ein Arduino oder 5,- für USB-Progger und 15,- für Breadboard, µC und Hühnerfutter ist schnuppe. Es kommt halt darauf an was man will, entweder schnell LED blinken und dimmen, oder erstmal in die Elektronik einsteigen bevor man dann merkt das programmieren nicht so trivial ist wie's im Fernsehen dargestellt wird :-P So und nu Schicht im Schacht :-P
kopfkratzer schrieb: > das programmieren nicht so trivial ist wie's im Fernsehen dargestellt > wird Klar ist es das: http://hackertyper.com/ Protip, im Cafe mit Wlan auf Fullscreen laufen lassen und wie bekloppt tippen, dann plötzlich das Notebook zuschlagen, irgendwas fluchen und flüchten.
Martin Wende schrieb: > Wenn die Komponente dann beim Siemens ICE verwendet wird, dann > verwundern einen die 1sek Bremsverzögerung nimmer *lol* Das Arduino-ICE-Shield? ;)
Martin Wende schrieb: > Wenn die Komponente dann beim Siemens ICE verwendet wird, dann > verwundern einen die 1sek Bremsverzögerung nimmer *lol* Wenn Siemens den Arduino eingesetzt hätte, wäre es nicht zu den jahrelangen Verzögerungen beim ICE3 gekommen lol
Hallo Karl Heinz, Karl Heinz schrieb: > Aber wenn man eine Radtour durch die Provonce machen will, dann muss man > Mindestfertigkeiten im Radfahren mitbringen. Wer sich nur mit > Stützrädern in der Halbwegs-Senkrechten halten kann, ist da fehl am > Platze. Nein, warum? Mit Stützrädern dauert es halt länger. Und was der Profi gerne vergißt: auch er hat mal mit Stützrädern angefangen. Manchmal glaube ich, die "Profis" sind nur deshalb so bissig, um ihr mühsam angeeignetes Herrschaftswissen zu verteidigen. Wenn man sich jahrelang mit den Feinheiten von Assembler oder C herumgeschlagen hat, für den erscheint es wie ein Frevel, daß da jemand etwas Ähnliches anstellen kann ohne diesen ganzen Aufwand betreiben zu müssen. Das entwertet gewissermaßen die eigene Wissensinvestition und die eigenen Anstrengungen, und da reagieren manche Leute eben ziemlich zickig. Beste Grüße, Karl
Karl Käfer schrieb: > Karl Heinz schrieb: >> Aber wenn man eine Radtour durch die Provonce machen will, dann muss man >> Mindestfertigkeiten im Radfahren mitbringen. Wer sich nur mit >> Stützrädern in der Halbwegs-Senkrechten halten kann, ist da fehl am >> Platze. > > Nein, warum? Mit Stützrädern dauert es halt länger. Ja, klar. Weil das Sinn macht. > Und was der Profi > gerne vergißt: auch er hat mal mit Stützrädern angefangen. Keiner vergisst das. Der UNterschied ist nur, das wir nicht bei Stützräder stehen geblieben sind, bzw. uns damit zufrieden gegeben haben so ach und krach damit einmal rund ums Haus rollen zu können, wenn die Mami anschiebt. > Manchmal glaube ich, die "Profis" sind nur deshalb so bissig, um ihr > mühsam angeeignetes Herrschaftswissen zu verteidigen. Weisst du was. Du hast keine Ahnung, was man als Profi zusätzlich noch alles lernen muss und beherrschen muss. Das ganze ist sowas von lächerlich. Du denkst wirklich, das bischen Achtelwissen, das hier regelmässig vorgewiesen wird, ist der Punkt an dem Amateuer aufhört und Profi anfängt? Dann will ich dir mal was sagen. Das bischen Achtelwissen ist noch nicht einmal das, was in Relation einen Schulanfänger von einem Gymnasiums-Abiturenten wissensmässig unterscheidet. Das was du als "das reicht mir, ich will ja kein Profi werden" bezeichnest, das ist gerade mal Krabbelstube und Puzzle mit 5 Teilen lösen können. Wenn dir das reicht, dann gut. Aber dann jammere nicht herum, wenn dir der Klempnermeister sagt, dass dein Reperaturversuch Murks war, weil man als Klempner schon ein bischen mehr können muss, als nur mit einem Hammer auf Rohre eindreschen und das das einzige ist, was du beherrscht. Denn "Ich will ja kein Profi-Klempner werden" Nur um da mal die Verhältnisse ins rechte Licht zu rücken. Man ist nun mal kein Schach-Amateur oder Hobby-Spieler, wenn man von 3/4 der Figuren nicht weiß, wie sie ziehen können. Von diesem Level bis zum internationalen Meister, der vom Schachspielen leben kann, ist es aber noch ein weiter Weg.
:
Bearbeitet durch User
Karl Käfer schrieb: > Manchmal glaube ich, die "Profis" sind nur deshalb so bissig, um ihr > mühsam angeeignetes Herrschaftswissen zu verteidigen. Dann gäbe es dieses Forum nicht.
>Nein, warum? Mit Stützrädern dauert es halt länger. Und was der Profi >gerne vergißt: auch er hat mal mit Stützrädern angefangen. Meines Wissens nach lernen Kinder, die keine Stützräder haben sehr viel schneller richtig Radfahren und sind motorisch geschickter. Die Kinder entwickeln mit Stützrädern garkein richtiges Gefühl für Gleichgewicht auf dem Fahrrad und müssen dann nochmal richtig Radfahren lernen, während die anderen Kinder ohne Stützräder vielleicht ein paar mal umgekippt sind aber im gleichen Alter schon ohne Probleme radeln. Die Analogie überlasse ich dem Leser ..
Jörg Wunsch schrieb: > Karl Käfer schrieb: >> Manchmal glaube ich, die "Profis" sind nur deshalb so bissig, um ihr >> mühsam angeeignetes Herrschaftswissen zu verteidigen. > > Dann gäbe es dieses Forum nicht. Bei manchen Beiträgen, speziell relativ defätistischen, oder persönlichen Angriffen auf Leute, die hier Hilfe suchen, drängt sich einem dieser Eindruck aber durchaus gelegentlich auf. Ich verdiene seit über 20 Jahren meine Brötchen mit Softwareentwicklung, Trotzdem passiert es auch mir auch hin und wieder noch mal, daß ich bei der Einarbeitung in Technologien, die mir neu sind, "dumme" Fragen stelle, weil ich einfach noch nicht genug darüber weiß, um die richtigen Suchbegriffe zu kennen.
Arduino ist halt ein bisschen wie das "Apple" der Mikrocontroller. Unter Künstlern der Einfachheit sehr beliebt und bei den Technikern eher unbeliebt.
Matthias H. schrieb: > der Einarbeitung in Technologien, die mir neu sind, "dumme" Fragen > stelle, weil ich einfach noch nicht genug darüber weiß, um die richtigen > Suchbegriffe zu kennen. Das merkt man aber sehr schnell, ob jemanden einfach nur ein Patzer passiert ist, der uns allen mal passiert oder ob da mehr (eigentlich weniger) dahinter steckt. Ich schreib gelegentlich auch einen Haufen Unsinn und verrenn mich schon mal in die falsche Richtung. Ja, passiert.
k. affe schrieb: > Arduino ist halt ein bisschen wie das "Apple" der Mikrocontroller. Unter > Künstlern der Einfachheit sehr beliebt und bei den Technikern eher > unbeliebt. Das stimmt eigentlich überhaupt nicht, es sei denn, sie sind aus für mich nicht nachvollziehbaren Gründen Windows-Fans oder bevorzugen Linux o. ä., das zum Teil, je nachdem, was für Hardware man hat und Anwendungssoftware man braucht, eher rustikal anmutet. Siehe z. B. Apple-Quote beim Chaos Communication Congress und ähnlichen eher "technischen" Events (allerdings z. T. mit Linux). Ich würde eher sagen, Windows ist für Leute, die Spaß am Computerspielen haben und Apple ist für Leute, die den Computer zum Arbeiten brauchen. Übrigens gibt es für Apple die meiste Software aus der UNIX/Linux-Welt portiert. Für viele normale Benutzer, die keine "Power-User" oder Entwickler sind, ist es aber sowieso egal, weil sie E-Mail, einen Webbrowser und ein Büroprogramm brauchen, vielleicht noch eine Branchenlösung, und es oft keinen großen Unterschied macht, was man ihnen hinstellt ;-)) . Da spielt es dann schon eher eine Rolle, ob sie Software brauchen, die nur für bestimmte Plattformen (meist Windows) verfügbar ist.
Karl Heinz schrieb: > Du hast keine Ahnung, was man als Profi zusätzlich noch alles lernen > muss und beherrschen muss. > Das ganze ist sowas von lächerlich. Du denkst wirklich, das bischen > Achtelwissen, das hier regelmässig vorgewiesen wird, ist der Punkt an > dem Amateuer aufhört und Profi anfängt? Dann will ich dir mal was sagen. > Das bischen Achtelwissen ist noch nicht einmal das, was in Relation > einen Schulanfänger von einem Gymnasiums-Abiturenten wissensmässig > unterscheidet. Das kenne ich irgendwoher :-) Beliebter Satz, den ich bei meinen Produkten auch immer wieder höre bzw. gehört habe: "Och, das hätte(n) ich/wir auch gekonnt!" Und dieser Satz kommt leider nicht nur von Laien (denen sieht man es nach, dass sie die Anzahl/Schwierigkeitsgrade der Probleme nicht übersehen) sondern auch von MINTlern .-/ Mittlerweile lächle ich da nur noch freundlich und sage: "Nur zu!" Der Satz, der sich mir im Studium am tiefsten eingebrannt hat, war der eines alten Profs kurz vor dem Ruhestand, den er in einem Praktikum sagte: "Meine Herren, ein gelöstes Problem ist immer einfach." Dieser Satz fasst sehr schön zusammen, dass man kein Problem unterschätzen sollte und dass man diejenigen und deren Arbeit respektieren sollte, die es lösen. Beides ist selbst bei einigen Leuten, die in der Materie stecken, oftmals nicht gegeben.
Jörg Wunsch schrieb: > Dann gäbe es dieses Forum nicht. 95% von dem, was hier im Forum an "Wissen" geteilt wird, geht kaum ueber Arduino-Niveau hinaus. Egal ob mit und auf Arduino-Basis, Breadboard oder selbst gemachten Platinen. Wenn es wirklich mal um Komplexeres geht, zerstreiten sich die Profis binnen kuerzester Zeit hoffnungslos ueber Details, so dass am Ende keinerlei Ergebnis heraus kommt. Es gibt ein paar wenige Ausnahmen, wo dieses Forum wirklich produktiv war, wie die Wortuhr oder die Tutorials (auch wenn die etwas gammelig sind). Aber das ist die Leistung weniger. Von dem auch von Karl-Heinz gerade so hoch gehobenen Expertenwissen zeigt sich hier sonst wenig. Tut mir Leid, aber vergleicht man die Bilanz von Arduino-Welt und Mikrocontroller.net-Welt, steht es klar 10:1 fuer Arduino. Vielleicht ist es das, was hier viele so nervt. Statt zu staenkern, sollten Protagonisten wie cyblord mal etwas von ihrer Brillianz in bessere Bibliotheken und Tools fliessen lassen. Von hoher Codequalitaet nicht nur reden, sondern sie auch zeigen. Du musst dich dabei nicht angesprochen fuehlen, deine Taten sind bekannt und was du erreicht hast, kann sich mehr als sehen lassen.
k. affe schrieb: > Arduino ist halt ein bisschen wie das "Apple" der Mikrocontroller. > Unter > Künstlern der Einfachheit sehr beliebt und bei den Technikern eher > unbeliebt. das trifft des Pudels Kern
kurzer Kommentar noch von mir Wenn ich den Arduino ausgereizt habe, kommt uno32. Dies ist mir bis jetzt zweimal passiert.
kuebellord schrieb: > Von dem auch von Karl-Heinz gerade so hoch > gehobenen Expertenwissen zeigt sich hier sonst wenig. Tut mir Leid, aber > vergleicht man die Bilanz von Arduino-Welt und Mikrocontroller.net-Welt, > steht es klar 10:1 fuer Arduino. Vielleicht ist es das, was hier viele > so nervt. Statt zu staenkern, sollten Protagonisten wie cyblord mal > etwas von ihrer Brillianz in bessere Bibliotheken und Tools fliessen > lassen. Von hoher Codequalitaet nicht nur reden, sondern sie auch > zeigen. ??? Schau mal nach oben. da hat karl heinz sein Expertenwissen bezüglich der schlechten Arduino-Performance klar dargestellt. Mit messwerten; Arduino: 150 takte, C-Code: 2 takte Es ist an Dir die Konsequenzen zu ziehen. MfG
> Wenn ich den Arduino ausgereizt habe, kommt uno32. Dies ist mir bis > jetzt zweimal passiert. Wenn ich meinen 2 fach Toaster mal ausgereizt habe, dann kaufe ich mir einen 4 Fach. Natürlich muss ich mich da erst reinfinden, aber ich denke durch den bisherigen 2 fach Toaster komme ich damit recht schnell klar.
>bezüglich >der schlechten Arduino-Performance klar dargestellt. Mit messwerten; >Arduino: 150 takte, C-Code: 2 takte Aurduino ist auch der GNU C-Compiler. Nur dass man zusätzlich eine Lib hat, die einem viel abnimmt. Beim Arduino kann man es so schreiben:
1 | digitalWrite(LED_ROT, HIGH); // Das braucht recht viele Takte. |
... oder auch so:
1 | PORTB |= (1 << LED_ROT); // Das ist schneller, sieht für einen Anfänger aber komischer aus. Einfach zu viele Smilies in einer Zeile. |
Vielleicht fehlt einfach nur ein digitalFastWrite(LED_ROT, HIGH); in der Lib ,und der Weltfrieden wäre wieder hergestellt.
Matthias H. schrieb: > k. affe schrieb: >> Arduino ist halt ein bisschen wie das "Apple" der Mikrocontroller. Unter >> Künstlern der Einfachheit sehr beliebt und bei den Technikern eher >> unbeliebt. > > Das stimmt eigentlich überhaupt nicht, es sei denn, sie sind aus für > mich nicht nachvollziehbaren Gründen Windows-Fans oder bevorzugen Linux > o. ä., das zum Teil, je nachdem, was für Hardware man hat und > Anwendungssoftware man braucht, eher rustikal anmutet. Siehe z. B. > Apple-Quote beim Chaos Communication Congress und ähnlichen eher > "technischen" Events (allerdings z. T. mit Linux). > Ich würde eher sagen, Windows ist für Leute, die Spaß am Computerspielen > haben und Apple ist für Leute, die den Computer zum Arbeiten brauchen. > Übrigens gibt es für Apple die meiste Software aus der UNIX/Linux-Welt > portiert. > > Für viele normale Benutzer, die keine "Power-User" oder Entwickler sind, > ist es aber sowieso egal, weil sie E-Mail, einen Webbrowser und ein > Büroprogramm brauchen, vielleicht noch eine Branchenlösung, und es oft > keinen großen Unterschied macht, was man ihnen hinstellt ;-)) . Da > spielt es dann schon eher eine Rolle, ob sie Software brauchen, die nur > für bestimmte Plattformen (meist Windows) verfügbar ist. Das ist ja auch nur eine Beobachtung von mir, ich find das Apple Zeug ja auch nicht schlecht, vielleicht etwas zu teuer, aber auf jeden Fall gut und nur weil es einfach zu handhaben ist heißt das ja nicht, dass man damit keine komplexen Aufgaben bewerkstelligen kann ;-) Genau das gilt auch für Arduino.
Pönt schrieb: > hat, die einem viel abnimmt. Beim Arduino kann man es so schreiben: Ja kann man. Wie zitierte Chris D. weiter oben seinen Professor: Gelöste Probleme sind immer einfach. Beim nächsten Arduino-Frager knallst du ihm mal >
1 | > PORTB |= (1 << LED_ROT); // Das ist schneller, sieht für einen Anfänger |
2 | > aber komischer aus. Einfach zu viele Smilies in einer Zeile. |
3 | >
|
um die Ohren und dann schauen wir mal, ob du ihm das verklickert kriegst. > Vielleicht fehlt einfach nur ein digitalFastWrite(LED_ROT, HIGH); in der > Lib ,und der Weltfrieden wäre wieder hergestellt. Vielleicht. Vielleicht fehlt auch eine Servo-Ansteuerung, die nicht bei 8 Servos den Arduino mehr oder weniger lahm legt. Vielleicht. Vielleicht fehlt auch eine ordentliche EEPROM Klasse. Vielleicht. Das alles ist aber nicht der springende Punkt. Ein "Experte" kann sich in allen diesen Fällen nämlich problemlos selber helfen. Der Durchschnitts-Arduino Programmierer, den wir hier im Forum zu Gesicht bekommen, kann das aber nicht. Und deswegen reagier ich pampig, wenn wieder mal dieses dämliche "Ich will ja kein Profi werden" Argument kommt. Das alles hat mit Profi-Tum noch nicht mal ansatzweise das geringste zu tun. Wer beim Schach von 3/4 der Figuren nicht weiß, wie sie ziehen können, ist kein Hobby-Spieler und sowohl davon als auch von einem Profi-Schachspieler, der von seinem Spiel leben kann, noch meilenweit entfernt. Das, was hier im Forum den Fragern immer wieder mal gerne nahegelegt wird, das ist das MINIMUM dessen, was ein Hobby-Programmierer mindestens können muss um einigermassen sinnvoll arbeiten zu können. Das ist von dem, was ein Profi als Einstiegslevel mitbringen muss, noch meilenweit entfernt. Da ist nix mit "Ich will ja kein Profi werden".
:
Bearbeitet durch User
KeinerLachtOhneHoden schrieb: >> Wenn ich den Arduino ausgereizt habe, kommt uno32. Dies ist mir > bis >> jetzt zweimal passiert. > > Wenn ich meinen 2 fach Toaster mal ausgereizt habe, dann kaufe ich mir > einen 4 Fach. Natürlich muss ich mich da erst reinfinden, aber ich denke > durch den bisherigen 2 fach Toaster komme ich damit recht schnell klar. Du kennst anscheined kein uno32.
Krass. Ich habe wohl in ein Wespennest gestoßen :D Ich habe alle bisherigen Beiträge hier gelesen und mit jedem weiteren Beitrag verfestigt sich mein Fazit: Manche mögen Arduino gar nicht, manche sagen kommt darauf an für wen oder was. Und manche andere finden es toll. Die verschiedenen Standpunkte müssen nicht auf Teufel komm raus irgendwie vereint werden. Also ja, Arduino ist verpönt, zugleich aber auch beliebt.
Ich seh hier keinen der Arduino hasst, nur Leute die sich über die (Mehrheit der) Nutzer davon beschweren.
Hallo Karl Heinz, Karl Heinz schrieb: > Karl Käfer schrieb: > Keiner vergisst das. Der UNterschied ist nur, das wir nicht bei > Stützräder stehen geblieben sind, bzw. uns damit zufrieden gegeben haben > so ach und krach damit einmal rund ums Haus rollen zu können, wenn die > Mami anschiebt. > >> Manchmal glaube ich, die "Profis" sind nur deshalb so bissig, um ihr >> mühsam angeeignetes Herrschaftswissen zu verteidigen. > > Weisst du was. Ja, tatsächlich weiß ich was. Nicht so viel, wie ich gern wüßte, obwohl ich mir andererseits dann auch wieder nicht sicher bin, ob Allwissenheit wirklich erstrebenswert ist. Aber das ist wohl eine eher philosophische Frage und vermutlich wenig zielführend. Fakt ist und bleibt: ich weiß was, und, um genau zu sein, weiß ich sogar eine ganze Menge. Ich weiß zum Beispiel, daß Du mich vollkommen mißverstanden hast und mich obendrein gerade mit irgendwem zu verwechseln scheinst. Und ich weiß, daß Dein kleiner Wutanfall hier völlig unangebracht ist. > Du hast keine Ahnung, was man als Profi zusätzlich noch alles lernen > muss und beherrschen muss. Oh, das ist lustig. Zufälligerweise verdiene ich meinen Kaviar seit vielen Jahren als Entwickler und Architekt im UNIX-Umfeld und habe im Auftrag meines damaligen Arbeitgebers, einer lächerlichen kleinen Klitsche namens Sun Microsystems, unter anderem für so unwichtige und unfähige Läden wie die Deutsche Bank, die hessische Landeszentralbank und, die US Air Force und die US Navy gearbeitet. Dabei habe ich die Authentifizierungs- und Autorisierungsarchitektur PAM mitentwickelt, die heute bei fast allen UNIX-Betriebssystemen Standard ist, habe an SunOS, Trusted Solaris, zwei OSS-Betriebssystemen sowie etlichen Serverprogrammen mitgearbeitet, Code zum Kolab-Groupwareserver, zum Doctrine-ORM und zu PostgreSQL beigetragen und entwickle heute mit an einer Echtzeitsoftware zur Betrugsprävention, die bei Versicherungen, Banken und anderen Unternehmen im Kreditkartenbereich im Einsatz ist. Ob mich das zum Profi macht, das weißt Du natürlich besser als ich. Aber daß ich Anfängern lieber helfe, statt ihre Unwissenheit böswillig mit Faulheit zu verwechseln und ihnen diese dann vorzuwerfen: das schmälert die Ahnung, die ich habe, jedenfalls kein bisschen. > Das ganze ist sowas von lächerlich. Du denkst wirklich, das bischen > Achtelwissen, das hier regelmässig vorgewiesen wird, ist der Punkt an > dem Amateuer aufhört und Profi anfängt? Dann will ich dir mal was sagen. > Das bischen Achtelwissen ist noch nicht einmal das, was in Relation > einen Schulanfänger von einem Gymnasiums-Abiturenten wissensmässig > unterscheidet. Das was du als "das reicht mir, ich will ja kein Profi > werden" bezeichnest, das ist gerade mal Krabbelstube und Puzzle mit 5 > Teilen lösen können. Verwechselst Du mich gerade mit irgendwem? Was Du mir da unterstellst, habe ich gar nicht geschrieben. Beste Grüße, Karl
k. affe schrieb: > Ich seh hier keinen der Arduino hasst, nur Leute die sich über die > (Mehrheit der) Nutzer davon beschweren. Dann schaue genauer hin :D
Karl Käfer schrieb: > Aber > daß ich Anfängern lieber helfe, statt ihre Unwissenheit böswillig mit > Faulheit zu verwechseln und ihnen diese dann vorzuwerfen: das schmälert > die Ahnung, die ich habe, jedenfalls kein bisschen. Eigentlich kennt man Karl Heinz hier dafuer, dass er Anfaengern bis zum Excess hilft. Weit ueber das Sinnvolle hinaus, oft so sehr, dass zu bezweifeln ist, dass der Geholfene dabei noch etwas lernt. Dass er sich nun hier so gegenteilig praesentiert, ist zumindest irritierend, wenn nicht gar betrueblich. Wohl ein Imagewechsel zum neuen Jahr. :-(
kuebellord schrieb: > 95% von dem, was hier im Forum an "Wissen" geteilt wird, geht kaum ueber > Arduino-Niveau hinaus. Das sehe ich nicht so (schon deshalb, weil ich weiß, wie oft Karl Heinz hier schon geduldigst den Leuten Grundlagen erklärt hat, und wie oft wir schon im HF-Forum geduldigst auseinander genommen haben, warum der Kemo-"Prüfsender" nicht die Bohne taugt und wie man es ordentlich machen kann). Aber wenn du das Forum unbedingt so sehen willst, dann lass deine Brille, durch die du das siehst, ruhig aufgesetzt. Nein, ich will auch gar nicht wissen, wer dir so ein komisches Nasenfahrrad verkauft hat, ich brauch das Ding nicht. ;-) Ich habe jedenfalls auch für mich aus vielen Diskussionen hier ausreichend viel Information mitgenommen, und verbuche die Zeit für mich einfach als Weiterbildung.
Hallo Jörg, Jörg Wunsch schrieb: > Karl Käfer schrieb: >> Manchmal glaube ich, die "Profis" sind nur deshalb so bissig, um ihr >> mühsam angeeignetes Herrschaftswissen zu verteidigen. > > Dann gäbe es dieses Forum nicht. Als Ort, wo Könner sich austauschen, vielleicht doch. Das ist ja gerade das Dilemma: einerseits tauschen sich hier Leute aus, die wirklich was können, andererseits stellen aber auch Anfänger ihre Fragen. Für erfahrene E-Techniker, von denen es hier ja etliche gibt, sieht das alles ganz einfach aus, was die Anfänger da fragen. Aber für die ist es das nicht, weil da ganz urplötzlich viele Dinge gleichzeitig sind: auf der einen Seite die Hardware, Stütz- und Abblockkondensatoren, Ohmsches Gesetz, Maschenregel, Dioden, Transistoren aller Art, ..., und dann die Software, also eine unbekannte, schwierige Programmiersprache, auf einer ungewöhnlichen Architektur, und und und. Das sind viele neue Sachen auf einmal, und keine davon ist einfach. Dann kommt jemand wie die Arduino-Jungs und vereinfacht ein paar Aspekte, indem er schonmal eine brauchbare Hardware zusammenbrät, die Software ein wenig vereinfacht und dem Anfänger so wenigstens schonmal einen kleinen Erfolg gönnt. Für die Motivation, dranzubleiben, ist das wichtig, und daran gibt es überhaupt gar nichts zu lästern oder zu verpönen, das wäre nichts anderes als Standesdünkel. Liebe Grüße, Karl
Hallo zong, zong schrieb: >>Nein, warum? Mit Stützrädern dauert es halt länger. Und was der Profi >>gerne vergißt: auch er hat mal mit Stützrädern angefangen. > > Meines Wissens nach lernen Kinder, die keine Stützräder haben sehr viel > schneller richtig Radfahren und sind motorisch geschickter. > Die Kinder entwickeln mit Stützrädern garkein richtiges Gefühl für > Gleichgewicht auf dem Fahrrad und müssen dann nochmal richtig Radfahren > lernen, während die anderen Kinder ohne Stützräder vielleicht ein paar > mal umgekippt sind aber im gleichen Alter schon ohne Probleme radeln. Andere stürzen ohne Stützräder so schwer, daß sie danach nie mehr Rad fahren wollen... oder können. Beste Grüße, Karl
A R D U I N O dankt fuer die Aufmerksamkeit ! Habt ihr denn nichts zu programmieren ?
Eigentlich sehr beachtlich wie eine einfache Frage über so ein kleines billiges Ding polarisieren kann.
Hubert G. schrieb: > Eigentlich sehr beachtlich wie eine einfache Frage über so ein kleines > billiges Ding polarisieren kann. Fragen dieser Art ziehen die Fanboys an. http://www.stupidedia.org/stupi/Fanboy
Dieser Beitrag trifft eigentlich ganz gut den Punkt. Ich vermute, dass der Poster sich sehr gut mit Mikrocontrollern auskennt: Beitrag "Re: Umstieg von Arduino auf "klassische" IC Programmierung"
Jörg Wunsch schrieb: > Nein, > ich will auch gar nicht wissen, wer dir so ein komisches Nasenfahrrad > verkauft hat, ich brauch das Ding nicht. ;-) Taste mal ganz vorsichtig, ob auf deiner Nase nicht schon eine Brille sitzt.
Jörg Wunsch schrieb: > Ich habe jedenfalls auch für mich aus vielen Diskussionen hier > ausreichend > viel Information mitgenommen, und verbuche die Zeit für mich einfach als > Weiterbildung. So sehe ich das auch. Ich habe hier schon durch einfaches Mitlesen so viele neue Ideen und gute Lösungen gefunden, dass das Forum für mich und meine Produkte eine echte Bereicherung/Hilfe darstellt (neulich bspw. erst wieder die Sache mit dem Dampfphasenlötgerät). Viele Sachen (die genannten 95%) lese ich auch einfach nicht. Es wird niemand gezwungen, Dinge zu lesen, die ihn nicht interessieren. Es gibt in einem Forum mit zunehmender Betriebsdauer naturgemäß immer mehr Fragen, die schon öfter gestellt wurden (bekannt: "Welches Oszilloskop soll ich nehmen?". Da liest man dann einfach drüber. Die restlichen 5% haben es aber in sich und ich habe schon viel Wissen von Profis erhalten und versuche natürlich auch etwas zurückzugeben. Dass jemand aus seinem Expertenwissen ein Staatsgeheimnis macht, habe ich hier nicht erlebt - im Gegenteil. Jeder ist auf irgendeinem Gebiet Experte, in vielen anderen bestenfalls Fortgeschrittener. Deswegen tauscht man sich aus. Außerdem habe ich auf meine Fragen hier immer vernünftige und hilfreiche Antworten erhalten. Warum habe ich nie eine pampige Antwort erhalten? Das könnte daran liegen, dass ich versuche, beim Threadstart schon möglichst viel Information mitzugeben und auch ganz klar wird: der hat sich damit schon aus eigenem Antrieb intensiver beschäftigt und kommt jetzt an dieser Stelle nicht weiter. Es könnte auch daran liegen, dass ich mir den Text vor dem Absenden ein- bis zweimal durchlese und mir für die Frage durchaus mal 15 Minuten Zeit nehme. Ich habe hier noch nie erlebt, dass bei einer sauber ausgearbeiteten Fragestellung jemandem der Kopf gewaschen wird. Das sind immer nur Beiträge gewesen, die entweder hingerotzt (so muss man es wohl formulieren) wurden oder bei denen es praktisch keine Information gibt und die Trolle ihre Glaskugeln auspacken oder bei denen sofort klar wird: der Schreiber hat sich nicht mal ansatzweise selbst mit der Problemstellung beschäftigt und ist einfach nur faul.
:
Bearbeitet durch Moderator
chris_ schrieb: > Dieser Beitrag trifft eigentlich ganz gut den Punkt. Ich vermute, > dass > der Poster sich sehr gut mit Mikrocontrollern auskennt: > Beitrag "Re: Umstieg von Arduino auf "klassische" IC Programmierung" Welchen Punkt? Dass Arduino was für Leute ist, die mit richtigem C nicht klar kommen? Kann sein :D
>Welchen Punkt? Dass Arduino was für Leute ist, die mit richtigem C nicht >klar kommen? Kann sein :D Aus Deiner Antwort entnehme ich, dass Du noch etwas unerfahren auf diesem Gebiet bist. Hier in diesem Thread wurde ja schon mehrfach beschrieben, dass die Arduinos in C++ programmiert werden. Der verlinkte Beitrag des erfahrenen Programmierers zeigt ja gerade, dass es sich lohnen kann, fertige Libraries zu benützen, statt das Rad neu zu erfinden. ( Beitrag "Re: Umstieg von Arduino auf "klassische" IC Programmierung" Für diejenigen, die mit der Verlinkung im Forum noch nicht so zu Rande kommen: Man kann die Links auf Beiträge innerhalb der Threads setzen )
Hi >Der verlinkte Beitrag des erfahrenen Programmierers zeigt ja gerade, >dass es sich lohnen kann, fertige Libraries zu benützen, statt das Rad >neu zu erfinden. Hast du eigentlich deinen verlinkten Beitrag mal richtig gelesen? Dessen TO schrieb: >Ich habe davor noch nie mit IC's gearbeitet und meine praktische >Codeerfahrung beschränkte sich auf HTML und VB in der Schule. >Meine >Codekenntnisse beschränkten sich auf HTML Fetzen die von früheren Zeiten >noch hängen geblieben sind und einer Grundidee von VB und vielleicht C. >Aber wirklich nur absolutes Basiswissen in C wie "Was ist eine >Schleife?" etc. >Nein, ich kann kein C. Auch kein C++. Ich hab ab und an mal >reingeschnüffelt aber ich würde nicht sagen, dass ich es beherrsche. Nichts mit erfahrener Programmierer. MfG Spess
Hallo Spess,
ist Dein Browser kaputt? Ich komme zu folgendem Post, wenn ich auf den
Link klicke:
Christian E. schrieb:
> Vorweg möchte ich sagen, dass ich wohl etwas tief gestapelt habe.
Mal was zu deinem Psychophänomen 'Gefühl wegen Platzverschwendung auf
MC'.
Ich habe über Weihnachten ein Arduinoprojekt auf einen ATtiny13
angepasst, weil ich davon noch viele rumliegen habe. Da hat mich auch
die Sparmacke getroffen: "Die könnte man noch sinnvoll verwenden, 10
Stck habe ich noch, 10 brauche ich, Pinanz. passt, Programm passt darauf
optmiert evt. gerade noch so rein (SPI in Software abgespeckt nur auf
das was ich brauche) -> ~800 byte insgesamt - puh Glück gehabt!"
Ich wusste vorher schon dass mich das Zeit kosten würde aber dass es
mich nach kurzer Zeit schon dermassen anpissen würde hätte ich auch
nicht erwartet, es wäre billiger gewesen die Dinger einfach wegzuwerfen,
der Aufwand war grösser als das Mock-Up aufm Arduino. Der Port war
eigentlich trivial, reine Codeersetzungen aber trotzdem macht man
Fehler, muss testen, sucht sich nen Wolf im Code (Makrohölle).... Und
wartbar sieht das jetzt alles nicht mehr sonderlich aus, in 1 Monat
verstehe ich den Code garantiert nicht mehr aber die Arduinoprosa sicher
noch nach einem Jahr. Eigentlich totale Zeitverschwendung, das war das
letzte Projekt dieser Art um alten Schrott noch irgendwie sinnvoll
einzusetzen, vorher wandert der Kram in die Tonne, Zeit ist Geld auch
privat.
Spar dir den Aufwand mit 'optimalem' Prozessor der gerade noch passt,
billiger sind die meist eh nicht (mehr), weil sie oft am auslaufen sind
und nur noch für Grossabnehmer produziert werden die darauf angewiesen
sind, die zahlen aber wieder andere Preise,...
Mach das Ding mit einem Arduino (ist ja eh schon fertig), flashe den
Kram später auf einen nackten Proz, fertig ist der Lack. Zeit ist Geld,
s.o.
Bis du mal richtig fit mit nacktem C auf einem MC bist das dauert ne
Weile, du kannst ja nicht mal richtig C geschweige denn C++, da sehe ich
eher die Gefahr dass du gar nicht zum Ziel kommst. Oder such dir
jemanden der den Kram portiert, das wird billiger sein als die Zeit die
du darauf verschwendest, ausser deine Zeit ist absolut nix wert.
Karl Käfer schrieb: > Manchmal glaube ich, die "Profis" sind nur deshalb so bissig, um ihr > mühsam angeeignetes Herrschaftswissen zu verteidigen. Wenn man sich > jahrelang mit den Feinheiten von Assembler oder C herumgeschlagen hat, > für den erscheint es wie ein Frevel, daß da jemand etwas Ähnliches > anstellen kann ohne diesen ganzen Aufwand betreiben zu müssen. Das > entwertet gewissermaßen die eigene Wissensinvestition und die eigenen > Anstrengungen, und da reagieren manche Leute eben ziemlich zickig. den Eindruck habe ich auch häufig... leider :(
@ Karl Käfer (Gast) >> Meines Wissens nach lernen Kinder, die keine Stützräder haben sehr viel >> schneller richtig Radfahren und sind motorisch geschickter. >> Die Kinder entwickeln mit Stützrädern garkein richtiges Gefühl für >> Gleichgewicht auf dem Fahrrad und müssen dann nochmal richtig Radfahren >> lernen, während die anderen Kinder ohne Stützräder vielleicht ein paar >> mal umgekippt sind aber im gleichen Alter schon ohne Probleme radeln. >Andere stürzen ohne Stützräder so schwer, daß sie danach nie mehr Rad >fahren wollen... oder können. Jaja, das Leben ist schon grausam, da lobt man sich die Vollkaskogesellschaft! Alles in Watte packen und den 3jährigen auf dem Holzroller immer nur mit Helm und Vollprotektoren spielen lassen. OMG! Zum Lernen gehören nun mal auch Negativerfahrungen. Und Gott sei Dank sind die SEHR selten so dramatisch. Dramatisch ist eher, dass einige Leute meinen, JEGLICHE Negativerfahrung mit aller Macht vermeiden bzw. von Kindern/Lernenden fernhalten zu müssen. Passende Anekdote zum Thema. Ich war mal in Ägypten auf Quad-Tour in der Wüste. Der Guide ist mit dem Motorad (leichte 250er Crossmaschine) vorausgefahren. Wie? Mit T-Shirt, kurze Hose und FlipFlops! Ich fragt ihn, ob das nicht etwas gefährlich sei. Er meinte, dass er dadurch SICHERER fährt, eben WEIL er weiß, dass er eher vorsichtig fahren MUSS und dass ein Crash nicht harmlos verläuft. Wenn gleich das sicher KEINE massentaugliche Weise ist, muss man sagen, dass zuviel Schutzfunktionen leichtsinnig machen und zuviel Sicherheit vorgaukeln.
Franz schrieb: >>Welchen Punkt? Dass Arduino was für Leute ist, die mit richtigem > C nicht >>klar kommen? Kann sein :D > > Aus Deiner Antwort entnehme ich, dass Du noch etwas unerfahren auf > diesem Gebiet bist. Hier in diesem Thread wurde ja schon mehrfach > beschrieben, dass die Arduinos in C++ programmiert werden. > Der verlinkte Beitrag des erfahrenen Programmierers zeigt ja gerade, > dass es sich lohnen kann, fertige Libraries zu benützen, statt das Rad > neu zu erfinden. > ( Beitrag "Re: Umstieg von Arduino auf "klassische" IC Programmierung" > Für diejenigen, die mit der Verlinkung im Forum noch nicht so zu Rande > kommen: Man kann die Links auf Beiträge innerhalb der Threads setzen ) Nicht eher in C?
>Nicht eher in C?
Hier ein Ausschnitt aus einem der Arduino-Examples:
1 | // print the results to the serial monitor:
|
2 | Serial.print("sensor = " ); |
3 | Serial.print(sensorValue); |
4 | Serial.print("\t output = "); |
5 | Serial.println(outputValue); |
Was meinst Du zu dem Syntax?
Franz schrieb: > Was meinst Du zu dem Syntax? Wär eine schöne Frage für eine neuen thread zum Wochenende. Hier vorerst ein Zitat von der Arduino Homepage: "The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing)."
Hallo, ja, jetzt wird's aber mal spannend: Kennt jemand einen Unterschied zwischen der Arduino Programming Language und C++? Mir ist noch nie ein Unterschied aufgefallen! vlg Timm
Ok, ist es halt cpp.. Kropf schrieb: > Franz schrieb: >> Was meinst Du zu dem Syntax? > > Wär eine schöne Frage für eine neuen thread zum Wochenende. > > Hier vorerst ein Zitat von der Arduino Homepage: > "The microcontroller on the board is programmed using the Arduino > programming language (based on Wiring) and the Arduino development > environment (based on Processing)." Da fängt es schon an, das ist es was ich an Arduino hasse, es wird gar nicht versucht dem Benutzer den technischen Hintergrund zu erklären
Ich dachte immer, es sei C und C++. Wikipedia beschreibt Processing und Wiring ganz lustig "Processing ist eine auf die Einsatzbereiche Grafik, Simulation und Animation spezialisierte objektorientierte, stark typisierte Programmiersprache mit zugehöriger integrierter Entwicklungsumgebung" "Aus Processing hat sich das Projekt Wiring entwickelt. Es benutzt die Processing-IDE gemeinsam mit einer vereinfachten Version von C++, um Künstlern die Programmierung von Mikrokontrollern nahezubringen." Komisch, dass am Ende der gcc Compiler dahinter steckt. Ich habe sehr das Gefühl, dass man sich hier mit femden Federn schmückt.
kif schrieb: >> Hier vorerst ein Zitat von der Arduino Homepage: >> "The microcontroller on the board is programmed using the Arduino >> programming language (based on Wiring) and the Arduino development >> environment (based on Processing)." > > Da fängt es schon an, das ist es was ich an Arduino hasse, es wird gar > nicht versucht dem Benutzer den technischen Hintergrund zu erklären Wie detailliert soll es denn bitte sein? Es steht jedem frei, beim Wunsch nach genauerem Wissen in den Quellcode zu gucken und vertiefende Dokumentation zurate zu ziehen. Das dahinterstehende Prinzip, nicht bei den einzelnen Registern, Maschinenbefehlen, Werkzeugen usw. anzufangen, sondern ein fertiges Paket zu liefern, nennt sich Abstraktion und ist eines der wichtigsten Prinzipien überhaupt in der Informatik, ohne das man kein größeres Projekt fertig bekommen würde.
Matthias H. schrieb: > Wie detailliert soll es denn bitte sein? Es steht jedem frei, beim > Wunsch nach genauerem Wissen in den Quellcode zu gucken und vertiefende > Dokumentation zurate zu ziehen. > Das dahinterstehende Prinzip, nicht bei den einzelnen Registern, > Maschinenbefehlen, Werkzeugen usw. anzufangen, sondern ein fertiges > Paket zu liefern, nennt sich Abstraktion und ist eines der wichtigsten > Prinzipien überhaupt in der Informatik, ohne das man kein größeres > Projekt fertig bekommen würde. Und dennoch weiß jeder der an so einem Projekt mitprogrammiert wie so ein Controller funktioniert.
Stefanus schrieb: > Ich dachte immer, es sei C und C++. Wikipedia beschreibt Processing und > Wiring ganz lustig > > "Processing ist eine auf die Einsatzbereiche Grafik, Simulation und > Animation spezialisierte objektorientierte, stark typisierte > Programmiersprache mit zugehöriger integrierter Entwicklungsumgebung" > > "Aus Processing hat sich das Projekt Wiring entwickelt. Es benutzt die > Processing-IDE gemeinsam mit einer vereinfachten Version von C++, um > Künstlern die Programmierung von Mikrokontrollern nahezubringen." > > Komisch, dass am Ende der gcc Compiler dahinter steckt. Ich habe sehr > das Gefühl, dass man sich hier mit femden Federn schmückt. ja seltsam und irgendwie unsympathisch! In der Tat. Ich mag Arduino und ich habe auch welche, aber an dieser Stelle ist es irgendwie prutschig und komisch. vlg Timm
kif schrieb: > Und dennoch weiß jeder der an so einem Projekt mitprogrammiert wie so > ein Controller funktioniert. In groben Zügen ja, aber muß man wirklich jeden Transistor und jedes Spezialregister kennen? Ganz klar nein, das Produkt hat ein Datenblatt, in dem stehen sollte, was es tut und wie das zu erreichen ist, da suche ich mir heraus, was ich brauche und benutze es, und fertig! Genauso kann es durchaus sein, daß ein Softwareentwickler nicht genau weiß, was die Zielplattform ist bzw. es mehrere gibt oder sich sogar die Zielplattform im Laufe der Entwicklung ändert, z. B. weil man feststellt, daß man mehr RAM oder I/O-Ports braucht oder Plattform B deutlich billiger zu beziehen ist als Plattform A. Wer auf unterster Ebene programmiert hat, "darf" nun u. U. ganz von vorne anfangen. Wenn man dagegen in einer Hochsprache und mit vernünftigen Abstraktionen programmiert hat, ist das dagegen kein oder zumindest kein großes Problem. Daher ist Abstraktion unverzichtbar und die genaue Kenntnis der Zielplattform bis ins Detail nicht immer notwendig, manchmal sogar bei zu enger Orientierung daran kontraproduktiv!
:
Bearbeitet durch User
Chris D. schrieb: > Dass jemand aus seinem Expertenwissen ein Staatsgeheimnis macht, habe > ich hier nicht erlebt > Das könnte daran liegen, dass ich versuche, beim Threadstart schon > möglichst viel Information mitzugeben und auch ganz klar wird: Aber manche TOs machen aus den Details zu frage eine Staatsgeheimnis kif schrieb: >> Beitrag "Re: Umstieg von Arduino auf "klassische" IC Programmierung" Mich stört, dass er den Mikrocontroller immer IC nennt. Falk Brunner schrieb: > Jaja, das Leben ist schon grausam, da lobt man sich die > Vollkaskogesellschaft! Alles in Watte packen und den 3jährigen auf dem > Holzroller immer nur mit Helm und Vollprotektoren spielen lassen. An einer Grundschule in meiner Nähe ist auf dem Schulhof das Rennen verboten, da sich ab und zu jemand verletzt oder Kleidung kaputt gemacht hat.
Guest schrieb: > An einer Grundschule in meiner Nähe ist auf dem Schulhof das Rennen > verboten, da sich ab und zu jemand verletzt oder Kleidung kaputt gemacht > hat. facepalm
KlausImHaus schrieb: > Ich habe alle bisherigen Beiträge hier gelesen und mit jedem weiteren > Beitrag verfestigt sich mein Fazit: Manche mögen Arduino gar nicht, > manche sagen kommt darauf an für wen oder was. Und manche andere finden > es toll. Vielleicht war die Formulierung des Topics nur zu schwammig. Ich versuch's nochmal zusammenzufassen: 1. Arduinos und Co kriegt man als Bastler für wenig Geld vom Ebay-Chinesen - fertig zusammengelötet. 2. Den Eigenbau von etwas Vergleichbarem kriegt man als Bastler nicht so ohne Weiters hin, weil man als privater Bastler eben schlechten oder gar keinen Zugriff auf die Sortimente industrieller Distris hat. Ebenso sieht es mit Dingen wie Leiterplatten aus, wo man für gute Tools keine Lizenz hat und mit schlechten Tools sich herumärgern muß. 3. Programmierer haben aus wirklich gutem Grunde die Ansicht, daß durch die Bauklötzchen-Mentalität bei Arduino deren Anwender eben nicht gehalten sind, sich in die Materie wirklich einzuarbeiten. Deswegen kommen sie zwar schnell zu einer vorgekauten Lösung für einfachere Bastelprobleme aber sie kommen geistig nicht darüber hinaus. 4. Die Kritik richtet sich NICHT gegen die Arduino-Bauklötzchen, sondern gegen die geistige Unbedarftheit von Arduino-Benutzern, die zwar eine Technik benutzen, aber selbige nicht wirklich verstehen. Anstatt nun sich das Verstehen anzueignen, wird gar zu häufig argumentiert, man habe das ja bei Arduino nicht nötig. Genau dieses ist die Quelle böser Bemerkungen, die den Arduinos zugerechnet werden, sich aber eigentlich gegen unbedarfte benutzer richtet. 5. Profis und Geräteentwicklern ist Arduino egal. Der Grund ist, daß man damit eben nicht wirklich Geräte bauen kann, was auch auf so ziemlich alle Eval-Boards zutrifft (gilt auch für das grandiose Raspberry). Solche Bastelboards sind nett in Einzahl für den ad hoc Einsatz auf dem Labortisch (Mal eben nen Taktgenerator für 27.5 Sekunden Periode machen) und da geht sicherlich auch ein Arduino, auch dann, wenn er 1500 Takte für das Toggeln eines Portpins braucht. Zum mal eben Basteln reicht's. Für Geräte hingegen - selbst für kleine Bastel-Geräte - will man ein handliches Gehäuse haben und darin eine dem Problem angepaßte Leiterplatte. So. Arduinos haben offensichtlich ihren Sinn in der Hardware-Beschaffung, wenn man sonst keine guten Quellen hat. Man kann damit auch ein paar allererste Schritte krabbeln oder ne Gelegenheits-Sache zusammenklicken. Man sollte aber nicht auf dieser Krabbelstufe steckenbleiben. Haben wir's nun? W.S.
Matthias H. schrieb: > Daher ist Abstraktion unverzichtbar und die genaue Kenntnis der > Zielplattform bis ins Detail nicht immer notwendig, Gröhl.. Du befaßt dich also nur ganz abstrakt mit Technik, ja? W.S.
Der/Die/Das Arduino ist für für die Erdbevölkerung gedacht, für die man auch die (billigen) Netbooks ersonnen hat.
Warum ich einen Arduino benutze? Deshalb: Beitrag "Tiny Programmierung nach fuse ändern schwierig" Das System bleibt für mich immer benutzbar, keine Probleme mit wirrem Zeug. Und an die ganzen Fuse-Experten hier: Warum ist eigentlich jeden Tag so ein Profi hier, der dann doch nicht mit den Fuses klar kommt? Die meinen alles besser zu können, aber trotzdem sich auf dem Handy ein Fuse Calculator runter laden müssen. Dazu noch einen Dude, ponyprog etc. Ne, da nehme ich beim Arduino und kann mich ganz dem eigentlichen Problem widmen.
W.S. schrieb >Haben wir's nun? Naja, eher nicht. Möglicherweise konntest Du diesem langen Thread nicht folgen, deshalb möchte ich Dir bei eigen Argumenten helfen. >1. Arduinos und Co kriegt man als Bastler für wenig Geld vom >Ebay-Chinesen - fertig zusammengelötet. Der Profi bestellt auch gerne Arduinos bei Farnell oder RS, weil die dann am nächsten Tag schon geliefert werden. >2. Den Eigenbau von etwas Vergleichbarem kriegt man als Bastler nicht so >ohne Weiters hin, weil man als privater Bastler eben schlechten oder gar >keinen Zugriff auf die Sortimente industrieller Distris hat. Ebenso >sieht es mit Dingen wie Leiterplatten aus, wo man für gute Tools keine >Lizenz hat und mit schlechten Tools sich herumärgern muß. Der versierte Bastler verwendet auch gerne die einen Arduino Schaltplan und erweitert diesen um z.B. eine SPS ähnliche Schaltung herzustellen. Er hat dann den Vorteil, dass seine Kunden ein kompletes, freies Entwicklungssystem bekommen, mit dem sie die SPS programmieren können. Nicht zu vergessen den Support, der überall im Netz zu finden ist. >3. Programmierer haben aus wirklich gutem Grunde die Ansicht, daß durch >die Bauklötzchen-Mentalität bei Arduino deren Anwender eben nicht >gehalten sind, sich in die Materie wirklich einzuarbeiten. Deswegen >kommen sie zwar schnell zu einer vorgekauten Lösung für einfachere >Bastelprobleme aber sie kommen geistig nicht darüber hinaus. Ein neugieriger Profi geht sehr sparsam mit der Zeit um. Wenn er z.B. ein PC Interface für I2C, CAN, Ethernet, Wifi mit speziellen Eigenschaften will, nimmt er einfach schnell einen Arduino plus entsprechendes Shield und programmiert sich die passende Funktion in 20 Minuten. >4. Die Kritik richtet sich NICHT gegen die Arduino-Bauklötzchen, sondern >gegen die geistige Unbedarftheit von Arduino-Benutzern, die zwar eine >Technik benutzen, aber selbige nicht wirklich verstehen. Anstatt nun >sich das Verstehen anzueignen, wird gar zu häufig argumentiert, man habe >das ja bei Arduino nicht nötig. Genau dieses ist die Quelle böser >Bemerkungen, die den Arduinos zugerechnet werden, sich aber eigentlich >gegen unbedarfte benutzer richtet. Da die Einfachheit des Arduinos sehr vielen Anfängern den Einstieg in die Mikrocontrollertechnik leicht macht, entstehen bei diesen viele Fragen. Der oberflächliche Beobachter setzt dann leicht "Arduino" mit "Anfänger" gleich. Das ist ein Fehler, weil zwar Arduino von Anfängern gut zu verwenden ist, aber nicht jeder Arduino Nutzer ein Anfänger ist. ( Es ist übrigens ein Fehler, der bei statistischen Beobachtungen häufig gemacht wird, siehe http://de.wikipedia.org/wiki/Scheinkorrelation ) >5. Profis und Geräteentwicklern ist Arduino egal. Der Grund ist, daß man >damit eben nicht wirklich Geräte bauen kann, was auch auf so ziemlich >alle Eval-Boards zutrifft (gilt auch für das grandiose Raspberry). >Solche Bastelboards sind nett in Einzahl für den ad hoc Einsatz auf dem >Labortisch (Mal eben nen Taktgenerator für 27.5 Sekunden Periode machen) >und da geht sicherlich auch ein Arduino, auch dann, wenn er 1500 Takte >für das Toggeln eines Portpins braucht. Zum mal eben Basteln reicht's. Der Profi weis aber auch, dass er die Arduino Hardware auch mit professionellen Tools und eigenen Libs programmieren kann: Beitrag "Re: Arduino mit Eclipse AVR-gcc Plugin programmieren" Er weis vor allem, dass er für den Preis eines Arduino gerade mal 15 Minuten seines Stundensatzes für die Bestückung einer Mikrocontrollerplatine aufwenden könnte. Da nimmt er bei passender Eignung doch lieber gleich einen Arduino.
PittyJ schrieb: > Und an die ganzen Fuse-Experten hier: Warum ist eigentlich jeden Tag so > ein Profi hier, der dann doch nicht mit den Fuses klar kommt? Gibt es für den AVR eigentlich keine brauch- und bezahlbaren HV-Programmer, dass sich immer wieder jemand dem AVR verfused?
Mit AVR-Studio lassen sich die Fuses relativ fehlerfrei einstellen. Problematisch ist meistens Pony-Prog.
Franz schrieb: > Problematisch ist meistens Pony-Prog. Wohl vor allem deshalb, weil sie die Negation der Negations versucht haben: eine gesetzte Fuse wird halt überall mit ihrem physischen Wert "0" angezeigt, bei PonyProg aber offenbar irgendwie anders. Aber seitdem es keine Parallelports mehr gibt, ist es um PonyProg ziemlich ruhig geworden. Max H. schrieb: > Gibt es für den AVR eigentlich keine brauch- und bezahlbaren > HV-Programmer, dass sich immer wieder jemand dem AVR verfused? Doch, STK500 oder AVR Dragon. Aber die, die sowas haben, verfusen sich ihre Controller sowieso nur selten. :-)
Hi >Ein neugieriger Profi geht sehr sparsam mit der Zeit um. Wenn er z.B. >ein PC Interface für I2C, CAN, Ethernet, Wifi mit speziellen >Eigenschaften will, nimmt er einfach schnell einen Arduino plus >entsprechendes Shield und programmiert sich die passende Funktion in 20 >Minuten. Wer garantiert eigentlich die Fehlerfreiheit von Arduino-Librarys? Wenn die genau so zusammengeschustert sind wie manche Shields würde ich die nicht mal mit der Kneifzange anfassen. MfG Spess
>Wer garantiert eigentlich die Fehlerfreiheit von Arduino-Librarys?
Es sagt Dir ja auch niemand, dass Du die Arduinos in einem Atomkraftwerk
einsetzen sollst.
BTW: Wer garantiert überhaupt fehlerfreie Software ?
HI >Es sagt Dir ja auch niemand, dass Du die Arduinos in einem Atomkraftwerk >einsetzen sollst. Eine Rückrufaktion kann auch sehr teuer werden. Aber deine Antwort sagt mir alles. >TW: Wer garantiert überhaupt fehlerfreie Software ? Erfahrene Programmierer. Die werden sich allerdings kaum mit Processing oder Wiring abgeben. Solche Progammier-Säue werden ständig durchs Dorf getrieben und landen ... regelmäßig im Schlachthof. Erinnert mich an an die Zeiten um 1900. Jeder Grafiker, oder der, der sich dafür hielt musste eine neue Schriftart (neudeutsch Font) erfinden. 99% davon sind in der Versenkung verschwunden. MfG Spess
PittyJ schrieb: > Ne, da nehme ich beim Arduino und kann mich ganz dem eigentlichen > Problem widmen Sehr pragmatisch orientiert. Lobenswert, betrachtet man die BWL-Seite. Aber bei schnellen Anwendungen wird schnell Einarbeitungszeit fällig. Die mitunter dauern kann. Mich nervt es, wenn man bei der Suche im Inet ständig über diese obskuren Arduino-Libs stolpert, wenn man auf der Suche nach echten Sourcen in C (oder asm) ist. Also summa summarum: Ja, Arduino ist bei mir verpönt. Allerdings haben die "Shields" auch den Vorteil, daß jede Menge Sensoren auf netten DIP-Breakout-Boards aufgetaucht sind (Sparkfun, Lipoly, Exp-Tech), so daß man billig und einfach an die Dinger rankommt ;)
spess53 schrieb: > Wer garantiert eigentlich die Fehlerfreiheit von Arduino-Librarys? Wenn > die genau so zusammengeschustert sind wie manche Shields würde ich die > nicht mal mit der Kneifzange anfassen. Ob sie fehlerhaft sind, kann ich nicht sagen, aber an einigen Stellen besteht großes Optimierungspotential, bspw. bei der bereits diskutierten Funktion digitalWrite. Good News: Die oben genannte Dauer von 150 Taktzyklen für einen Aufruf der Funktion ist zu hoch gegriffen. Die Zahl stammt vermutlich von einer älteren Arduino-Version, wo ein schlechter optimierender Compiler verwendet wurde. Bad News: Es sind immer noch stolze 61-77 Taktzyklen, wenn ich richtig gezählt habe. Die Funktion braucht deswegen so lange, weil - immer davon ausgegangen wird, dass sowohl die Pinnummer als auch der zu schreibende Bitwert variabel, also nicht zur Compile-Zeit bekannt sind, - zur Ermittlung der Portadresse, der Bitmaske usw. insgesamt 4 Lookups auf Tabellen im Flash gemacht werden, - beim Beschreiben eines Pins, das auch ein PWM-Ausgang sein kann, die PWM für dieses Pin durch die Funktion deaktiviert wird und - die Interrupts temporär gesperrt werden, um den Zugriff auf das Portregister atomar zu machen. Die Funktion ließe sich durch den geschickten Einsatz von Inlining ohne jegliche Einschränkungen der Funktionalität so weit optimieren, dass sie für konstante Pinnummern und Bitwerte (was der mit Abstand häufigste Anwendungsfall sein dürfte) nur 7 (für PWM-Pins) oder sogar nur 2 Zyklen (für alle anderen Pins) benötigt und in allen verbleibenden, selteneren Fällen zumindest nicht schlechter als bisher performt. Für digitalRead gilt ähnliches.
[Meine Meinung] Von mir aus kann jeder mit Arduino arbeiten der es will, er sollte sich aber vorher mit den Grundlagen der Elektronik beschäftigen, wie z.B. Transistoren, Mosfets, Widerstände, eventuell Logik ICs... Man sieht es hier im Forum manchmal, dass ein Arduino Nutzer schon Überfordert ist, wenn es für sein Problem kein Shield oder "Schaltplan" fürs Steckboard gibt. Arduino ersetzt das Wissen über die CPU, aber nicht das Wissen über das was außerhalb passiert… [/Meine Meinung] boaahh schrieb: > Arduino, kommt der aus Italien? Ich habe (Wohne in Italien) noch nie einen in freier Wildbahn rumhüpfen gesehen ;-) Ich würde sagen ARRRRRRduino ist das lieblings µC Board der Piraten.
:
Bearbeitet durch User
boaahh schrieb: > Arduino, kommt der aus Italien? In der Tat: http://en.wikipedia.org/wiki/Arduino#History Max H. schrieb: > Ich würde sagen ARRRRRRduino ist das lieblings µC Board der Piraten. :-)
:
Bearbeitet durch User
Mark Brandis schrieb: > boaahh schrieb: >> Arduino, kommt der aus Italien? > > In der Tat: > http://en.wikipedia.org/wiki/Arduino#History Deshalb drucken die Chinesen auch den Stiefel aufs PCB ;-) Ich nutze auch gerne die Arduino als Rapid-Prototyping-Plattform mit kleinerem und schnellerem Bootloader. Programmierung erfolgt in AVR Studio. Für z.B. die evaluierung von der ansteuerung von Schrittmotoren und steuerung über UART ist das perfekt. Arduino + Motorshield + Motoren = Fertig. Wenn alles fluppt kann ich die Sourcen auf eine Lochrasterplatine portieren. Problem ist nur das die generell auf 5V laufen und oft (oder immer?) mit 16Mhz. Ein Projekt mit 3,3V Peripherie will ich nicht mittels Widerständen oder Pegelwandler an das Arduino Board ranfuschen. Low Power Projekte kann man auch knicken. ---------------------------------- Unterm Strich würde ich aber jedem Einsteiger, der mal schnuppern will ein Arduino empfehlen. -> Schneller Lernerfolg, geringe Materialkosten, ... Wenn jemand ernsthaft in die µC Welt einsteigen will und Großes vorhat sollte dieser jemand den qualvollen Weg über Assembler (für die Struktur) und AVR-GCC nehmen. -SE
Man hat mir mal beigebracht das C++ nur eine Teilmenge von C ist. Das würde bedeuten das C++ ohne C nicht geht. Die meisten Bibliotheken sind C++ bei Arduino.
>Man hat mir mal beigebracht das C++ nur eine Teilmenge von C ist.
umgekehrt wird ein Schuh draus ...
SE schrieb: > Problem ist nur das die generell auf 5V laufen und oft (oder immer?) mit > 16Mhz. Stimmt beides nicht, einige arbeiten mit 3,3 V (z. B. Due) und es gibt auch welche mit abweichender (allerdings vorgegebener) Taktfrequenz (z. B. Fio, 3,3 V und 8 MHz). > Wenn jemand ernsthaft in die µC Welt einsteigen will und Großes vorhat > sollte dieser jemand den qualvollen Weg über Assembler (für die > Struktur) und AVR-GCC nehmen. Das ist ja gerade das Problem: Die Einstiegshürden auf dieser Ebene werden nicht niedriger. Da würde ich schon eher mit einer Arduino-Entwicklung anfangen und, sobald es läuft, zwecks Optimierung auf Stromverbrauch, Codegröße o. ä. die Software noch mal mit was anderem neu entwickeln. Eine Prototypenentwicklung, bei der man noch mal das eine oder andere ausprobieren muß, in Low-Level-Sprachen führt fast immer zu viel Mehrarbeit und Flüchtigkeitsfehlern.
morob65 schrieb: > Man hat mir mal beigebracht das C++ nur eine Teilmenge von C ist. > Das würde bedeuten das C++ ohne C nicht geht. > > Die meisten Bibliotheken sind C++ bei Arduino. Wie Franz schon geschrieben hat, ist es eigentlich andersherum. C++ ist eine viel, viel größere, mächtigere Sprache. Es gibt kleine Inkompatibilitäten zwischen C und C++, wo also C++ nicht ganz abwärtskompatibel ist, aber das sind vergleichsweise exotische Fälle. Wieviel instabile Software und verschwendete Entwicklerarbeitszeit wäre der Welt erspart worden, hätte Stroustrup seine Energie lieber in eine Neuentwicklung gesteckt, die zwar C-Code gut integrieren kann, aber z. B. eine übersichtlichere Syntax, Modulkonzept, optionale Überlauf- und Bereichsüberprüfung, höherwertigere Datentypen wie Strings usw. gleich in die Sprache eingebaut gehabt hätte!
Franz schrieb: >>Man hat mir mal beigebracht das C++ nur eine Teilmenge von C ist. > > umgekehrt wird ein Schuh draus ... sicher? C++ ist eine von der ISO genormte Programmiersprache. Sie wurde ab 1979 von Bjarne Stroustrup bei AT&T als Erweiterung der Programmiersprache C entwickelt. C++ ermöglicht sowohl die effiziente und maschinennahe Programmierung als auch eine Programmierung auf hohem Abstraktionsniveau. (Quelle Wikipedia)
Natürlich sicher. morob65 schrieb: > als Erweiterung der Programmiersprache C Also ist C eine Teilmenge von C++, da C++ im Grunde C mit Erweiterungen ist. Somit also mindestens C, aber noch etwas mehr. Denk doch mal nach.
cyblord ---- schrieb: > Natürlich sicher. > > morob65 schrieb: >> als Erweiterung der Programmiersprache C > > Also ist C eine Teilmenge von C++, da C++ im Grunde C mit Erweiterungen > ist. Somit also mindestens C, aber noch etwas mehr. Denk doch mal nach. :-D kurzer Endkommentar von mir dazu: C++ läuft aber nicht ohne C Elemente
morob65 schrieb: > kurzer Endkommentar von mir dazu: C++ läuft aber nicht ohne C Elemente Worauf willst du eigentlich hinaus? Was soll der quatsch? Was willst du uns sagen? Was ist dir nicht klar?
Hallo Falk, Falk Brunner schrieb: > Jaja, das Leben ist schon grausam, da lobt man sich die > Vollkaskogesellschaft! Alles in Watte packen und den 3jährigen auf dem > Holzroller immer nur mit Helm und Vollprotektoren spielen lassen. http://de.wikipedia.org/wiki/Strohmann-Argument > Zum Lernen gehören nun mal auch Negativerfahrungen. Und Gott sei Dank > sind die SEHR selten so dramatisch. Ok, der Vergleich war vielleicht nicht ganz passend, aber es war ja nicht mein Vergleich, sondern ich bin nur darauf eingegangen. Mir ging es nicht um eine Vollkaskomentalität, sondern um Motivation. Wenn Du jemanden, der das als Hobby machen will, gleich zu Beginn mit etlichen Fehlschlägen (und dann auch noch mit "hilfreichen" Kommentaren wie "selbst schuld" und "lern C") verprellst, dann schmeißt der das Zeug irgendwann in die Ecke. Ist es das, was Du erreichen willst? Denn dann wären wir ganz schnell wieder bei der Sache mit dem Herrschaftswissen. > Dramatisch ist eher, dass einige > Leute meinen, JEGLICHE Negativerfahrung mit aller Macht vermeiden bzw. > von Kindern/Lernenden fernhalten zu müssen. Auch mit Arduino machen die Leute genügend negative Erfahrungen, wie die vielen Arduino-Postings hier im Forum doch ziemlich eindeutig belegen. > Passende Anekdote zum Thema. Ich war mal in Ägypten auf Quad-Tour in der > Wüste. Der Guide ist mit dem Motorad (leichte 250er Crossmaschine) > vorausgefahren. Wie? Mit T-Shirt, kurze Hose und FlipFlops! Ich fragt > ihn, ob das nicht etwas gefährlich sei. Er meinte, dass er dadurch > SICHERER fährt, eben WEIL er weiß, dass er eher vorsichtig fahren MUSS > und dass ein Crash nicht harmlos verläuft. Wenn gleich das sicher KEINE > massentaugliche Weise ist, muss man sagen, dass zuviel Schutzfunktionen > leichtsinnig machen und zuviel Sicherheit vorgaukeln. Ja, das Fachwort dazu lautet "Risikokompensation" und ist nicht nur in der IT-Sicherheit ein ebenso ständiges wie leidiges Thema. Beste Grüße, Karl
cyblord ---- schrieb: > morob65 schrieb: >> kurzer Endkommentar von mir dazu: C++ läuft aber nicht ohne C Elemente > > Worauf willst du eigentlich hinaus? Was soll der quatsch? Was willst du > uns sagen? Was ist dir nicht klar? wenn Du die C Elemente aus C++ raus nimmst, was hast Du dann?
Matthias H. schrieb: > SE schrieb: >> Problem ist nur das die generell auf 5V laufen und oft (oder immer?) mit >> 16Mhz. > > Stimmt beides nicht, einige arbeiten mit 3,3 V (z. B. Due) und es gibt > auch welche mit abweichender (allerdings vorgegebener) Taktfrequenz (z. > B. Fio, 3,3 V und 8 MHz). Dann ziehe ich das generell zurück und füge oft ein. ;-) Das Due ist natürlich für mich als Prototyping Plattform völlig ungeeignet wenn ich ein Mikrocontroller Projekt mache. Aber das Fio ist interessant. Das kannte ich noch nicht. :-) Auch mit der integrierten Li-Ladeschaltung. Matthias H. schrieb: > Eine Prototypenentwicklung, bei der man noch mal > das eine oder andere ausprobieren muß, in Low-Level-Sprachen führt fast > immer zu viel Mehrarbeit und Flüchtigkeitsfehlern. Das Stimmt wohl. Aber es ist sehr lehrreich. Ab einer bestimmte komplexität würde ich aber auch jedem C Empfehlen. Ein Großes Assemblerprogramm ist sehr schwer zu lesen. (Besonders wenn man es 3 Jahre nicht anpackt und man sich beim erstellen die Kommentare gespart hat...*g* )
morob65 schrieb: > cyblord ---- schrieb: >> morob65 schrieb: >>> kurzer Endkommentar von mir dazu: C++ läuft aber nicht ohne C Elemente >> >> Worauf willst du eigentlich hinaus? Was soll der quatsch? Was willst du >> uns sagen? Was ist dir nicht klar? > > wenn Du die C Elemente aus C++ raus nimmst, was hast Du dann? Eine halbe Programmiersprache die nicht funktioniert. Aber das ist jedem klar, die Frage ist: Worauf willst du hinaus? Wie läuft das jetzt den Aussagen hier zuwider? Deine Aussage oben war einfach falsch, weil es genau andersrum ist. Daran ändert das jetzt leider auch nichts. Kann es sein dass du unter "Teilmenge" was ganz anderes verstehst als der Rest der Welt?
morob65 schrieb: > wenn Du die C Elemente aus C++ raus nimmst, was hast Du dann? Was soll man dann schon haben? Das macht überhaupt keinen Sinn.... Willst du uns damit irgendwas sagen? Falls ja drück dich mal verständlich aus.
Boris B. schrieb: > morob65 schrieb: >> wenn Du die C Elemente aus C++ raus nimmst, was hast Du dann? > > Was soll man dann schon haben? Das macht überhaupt keinen Sinn.... > Willst du uns damit irgendwas sagen? Falls ja drück dich mal > verständlich aus. C++ ist eine Teilmenge von C
cyblord ---- schrieb: > morob65 schrieb: >> cyblord ---- schrieb: >>> morob65 schrieb: >>>> kurzer Endkommentar von mir dazu: C++ läuft aber nicht ohne C Elemente >>> >>> Worauf willst du eigentlich hinaus? Was soll der quatsch? Was willst du >>> uns sagen? Was ist dir nicht klar? >> >> wenn Du die C Elemente aus C++ raus nimmst, was hast Du dann? > > Eine halbe Programmiersprache die nicht funktioniert. Aber das ist jedem > klar, die Frage ist: Worauf willst du hinaus? Wie läuft das jetzt den > Aussagen hier zuwider? Deine Aussage oben war einfach falsch, weil es > genau andersrum ist. Daran ändert das jetzt leider auch nichts. > > Kann es sein dass du unter "Teilmenge" was ganz anderes verstehst als > der Rest der Welt? sicher? für mich ist eine Teilmenge ein Bestandteil eines Ganzen, C++ ist eine ein Bestandteil von C
morob65 schrieb: > Boris B. schrieb: >> morob65 schrieb: >>> wenn Du die C Elemente aus C++ raus nimmst, was hast Du dann? >> >> Was soll man dann schon haben? Das macht überhaupt keinen Sinn.... >> Willst du uns damit irgendwas sagen? Falls ja drück dich mal >> verständlich aus. > > C++ ist eine Teilmenge von C Ich glaube das können wir abhaken. Du bist ein troll oder doof. Nein warte, so doof kann niemand sein. Wir habens dir erklärt du willst es nicht verstehen. Schade für dich.
morob65 schrieb: > C++ ist eine Teilmenge von C Jetzt hör aber mal auf damit. Das ist schlichtweg FALSCH.
Man sagt mir eine Menge nach, aber nicht das ich doof oder dumm bin. Dafür mache ich das schon zu lange.
> für mich ist eine Teilmenge ein Bestandteil eines Ganzen, C++ ist eine > ein Bestandteil von C Vorallem ist eine Teilmenge gleich oder kleiner als Das Ganze. Und C++ ist größer als C, da es C+Erweiterungen ist. Also kann C++ keine Teilmenge von C sein. Du echt nicht die hellste Kerze im Leuchter oder? Nochmal ab in die 9. Klasse und Mengenlehre büffeln. > Dafür mache ich das schon zu lange. Was? Quatsch reden? gruß cyblord
:
Bearbeitet durch User
cyblord ---- schrieb: >> für mich ist eine Teilmenge ein Bestandteil eines Ganzen, C++ ist eine >> ein Bestandteil von C > > Vorallem ist eine Teilmenge gleich oder kleiner als Das Ganze. Und C++ > ist größer als C, da es C+Erweiterungen ist. Also kann C++ keine > Teilmenge von C sein. Du echt nicht die hellste Kerze im Leuchter oder? > Nochmal ab in die 9. Klasse und Mengenlehre büffeln. > >> Dafür mache ich das schon zu lange. > Was? Quatsch reden? morob65 hat vollkommen recht. Das ist wie bei einem Fahrrad: Ein Fahrrad ist eine Teilmenge der Speichen. Weil, wenn man die Speichen wegnimmt, fährt das Fahrrad nicht mehr. Ist doch logisch, oder? mfg.
Karl Heinz schrieb: > Hardware an sich wissen muss. Daraus folgt allerdings > auch, dass sie recht universell sein muss, was dann wieder eine gewisse > Trägheit nach sich zieht. Ich bin auch ziemlich träge, ich habe zu Weihnachten große Mengen an Schnuckereien und Keksen verzehrt und habe dadurch an Trägheit gewonnen.
Thomas Eckmann schrieb: > morob65 hat vollkommen recht. Das ist wie bei einem Fahrrad: > Ein Fahrrad ist eine Teilmenge der Speichen. Was ist, wenn ich ein Rad ohne Speichen habe, nähmlich ein Vollgummirad? Dann ist es ein speichenloses Rad, also wäre in dem Fall die implizierte Teilmenge gleich Null, obwohl dennoch ein Fahrrad vorhanden ist und ohne Speichen gemovt werden kann. I love chickenwings, you?
Thomas Eckmann schrieb: > morob65 hat vollkommen recht. Das ist wie bei einem Fahrrad: > Ein Fahrrad ist eine Teilmenge der Speichen. Weil, wenn man die Speichen > wegnimmt, fährt das Fahrrad nicht mehr. Ist doch logisch, oder? Haben sich die Scherzkeske hier dann so langsam mal ausgetobt?
morob65 schrieb: > für mich ist eine Teilmenge ein Bestandteil eines Ganzen, C++ ist eine > ein Bestandteil von C Deine Definition von Teilmenge ist korrekt, aber in bezug auf das Verhältnis von C und C++ ist das Wort, was Du meinst, Obermenge! Du kannst C ohne C++ benutzen, aber C++ ist ein erweitertes C, also mehr als C, darum ist C++ eine Obermenge von C.
cyblord ---- schrieb: > Also ist C eine Teilmenge von C++, da C++ im Grunde C mit Erweiterungen > ist. Das mag 1979 so gewesen sein, als Stroustrup damit angefangen hat. Spätestens seit C99 haben sie sich aber endgültig auseinander entwickelt.
Jörg Wunsch schrieb: > cyblord ---- schrieb: >> Also ist C eine Teilmenge von C++, da C++ im Grunde C mit Erweiterungen >> ist. > > Das mag 1979 so gewesen sein, als Stroustrup damit angefangen hat. > > Spätestens seit C99 haben sie sich aber endgültig auseinander > entwickelt. Nicht hilfreich. Du hast zwar recht, hat mit der Diskussion aber wenig zu tun.
Boris B. schrieb: > Thomas Eckmann schrieb: >> morob65 hat vollkommen recht. Das ist wie bei einem Fahrrad: >> Ein Fahrrad ist eine Teilmenge der Speichen. Weil, wenn man die Speichen >> wegnimmt, fährt das Fahrrad nicht mehr. Ist doch logisch, oder? > > Haben sich die Scherzkeske hier dann so langsam mal ausgetobt? Das ist kein Scherz, sondern eine reductio ad absurdum. mfg.
Hallo W.S., W.S. schrieb: > Du befaßt dich also nur ganz abstrakt mit Technik, ja? Ja, natürlich. Du doch vermutlich auch, oder schreibst Du Deine Firmware direkt in Maschinencode? Bereits Assembler und noch vielmehr C sind doch herausragende Beispiele für die gelungene Anwendung von Abstraktion. Beste Grüße, Karl
Karl Käfer schrieb: > Ja, natürlich. Du doch vermutlich auch, oder schreibst Du Deine Firmware > direkt in Maschinencode? Wie, Du wickelst Deine Widerstände und Spulen nicht selbst?
Wie soll ich es sagen, in meinem Arbeitsleben ist mir kaum eine Berufsgruppe begegnet, die mehr von ihrer Omnipotenz ueberzeugt war, als Elektroniker. (Die Ausnahme sind Physiker.) Aber eine Frage konnte der Thread wenigstens beantworten: Ja, Arduino ist hier verpoent.
jau schrieb: > quod erat demonstrandum! (was zu beweisen war) > > Fpga Kuechle schrieb: >> Bosch stöhnt ja auch über Fachkräftemangel, die haben keinen der eine >> kostenoptimierte und ressourcenschonende Platform entwickelt so dass man >> gezwungen ist auf automotivungeeigneten Kinderkram zurück zu greifen. > > "keiner hat die absicht eine mauer zu bauen" (walter ulbricht ca. 1962) > > werkzeuge sind hilfsmittel. um einen nagel ein zu schlagen benutze ich > einen hebel mit einer ausgeformeten masse (hammer) und kein momenten- > und beschleunigungs-gesteuerten servo-geregelt highspeed servoantrieb > ;-) "Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel", Paul Watzlawick Dieses Spruch ist heute aktueller den je. Wie oft sehe ich, wie einfachste Problemstellungen mit Gewalt mit einem MC gelöst werden. Ansonsten finde ich Adruino ganz OK. Wer Erwachsen wird holt sich einen ISP und kann dann das Spielzeug noch einmal verwenden.
@ Karl Käfer (Gast) >es nicht um eine Vollkaskomentalität, sondern um Motivation. Gut. >Wenn Du jemanden, der das als Hobby machen will, gleich zu Beginn mit >etlichen Fehlschlägen (und dann auch noch mit "hilfreichen" Kommentaren >wie "selbst schuld" und "lern C") verprellst, dann schmeißt der das Zeug >irgendwann in die Ecke. Ja. > Ist es das, was Du erreichen willst? NEIN! > Denn dann wären wir ganz schnell wieder bei der Sache mit dem > Herrschaftswissen. Ja. >Auch mit Arduino machen die Leute genügend negative Erfahrungen, wie die >vielen Arduino-Postings hier im Forum doch ziemlich eindeutig belegen. Mag sein. Ich bin auch kein Gegner von Arduino! Ich finde den Ansatz schon sehr gut! Und Arduino kann man, das entsprechende Wissen vorausgesetz, auch deutlich perfomanter programmieren. Alles kein Problem. Anfänger sind Anfänger, und die dürfe auch erstmal klein und mit wenig Power anfangen, auch mit unvollständigem Wissen, Delay statt Timer. Der Rest ergibt sich. Wer dann WIRKLICH besser werden will um mehr zu können, der entwickelt sich. Wer das nicht will, bleibt halt beim Anfängerniveau stehen. Ist OK. Kein Lernprozess ist perfekt. Ich habe auch ne Weile gebraucht, um von meinem mittelmässigem Spaghetticode mit BASIC auf etwas solidere Strukturen in Pascal umzusteigen. Anfangs hielt ich es für UNMÖGLICH, ohne Goto ein Programm zu schreiben ;-) >Ja, das Fachwort dazu lautet "Risikokompensation" und ist nicht nur in >der IT-Sicherheit ein ebenso ständiges wie leidiges Thema. Danke für das Stichwort. http://de.wikipedia.org/wiki/Risikokompensation
Matthias H. schrieb: > SE schrieb: >> Problem ist nur das die generell auf 5V laufen und oft (oder immer?) mit >> 16Mhz. > > Stimmt beides nicht, einige arbeiten mit 3,3 V (z. B. Due) und es gibt > auch welche mit abweichender (allerdings vorgegebener) Taktfrequenz (z. > B. Fio, 3,3 V und 8 MHz). Ich habe gerade einen SainSmart Uno R3 erstanden, der hat einen Umschalter für 5V und 3,3V. Zusätzlich sind, da M328P TQPF, PC6 und 7 auch herausgeführt.
Quack schrieb: > Aber eine Frage konnte der Thread wenigstens beantworten: Ja, Arduino > ist hier verpoent. Sehe ich nicht so. Leute, die einen professionellen Hintergrund vermuten lassen, sind da emotionslos. Sicher gibt es da auch Vorlieben aber Zeit ist eben Geld. Die Abwägung, zu was ich was nehmen sollte, bedingt einen größeren Horizont, den ich den Eindimensionalen nicht abnehmen kann. Die hört man leider nur mit ihren markanten Worten am lautesten.
Kropf schrieb: > Die hört man leider nur mit ihren markanten Worten am lautesten. Da von den wenigen Lauten aber jeder Arduino-thread geentert wird, kommt am Ende das Gleiche raus, als haetten Alle ein Problem mit Arduinos.
Hier ein heute erschienener Artikel der dieses Thema behandelt: Embedded-Programmierung im Umbruch Aufgrund langer Produktzyklen und hoher Fehlschlagrisiken erweist sich der Embedded-Bereich als vergleichsweise innovationsscheu. Doch gilt auch hier, dass die Zeit des Zählens von Bits so langsam vorbei ist. Das liegt auch an Systemen wie Arduino und Raspberry Pi, die einen einfacheren Einstieg in Embedded ermöglichen. http://www.heise.de/developer/artikel/Embedded-Programmierung-im-Umbruch-2082301.html
KlausImHaus schrieb: > Hier ein heute erschienener Artikel der dieses Thema behandelt: > > Embedded-Programmierung im Umbruch > > Aufgrund langer Produktzyklen und hoher Fehlschlagrisiken erweist sich > der Embedded-Bereich als vergleichsweise innovationsscheu. Doch gilt > auch hier, dass die Zeit des Zählens von Bits so langsam vorbei ist. Das > liegt auch an Systemen wie Arduino und Raspberry Pi, die einen > einfacheren Einstieg in Embedded ermöglichen. > > http://www.heise.de/developer/artikel/Embedded-Programmierung-im-Umbruch-2082301.html Schöner Artikel. Selten eine gequirltere Kacke gelesen. mfg.
Das Thema ist äquivalent zu den Controller Djs vs. Turntable Djs. Bei den Controllern muss man auch kein Beatmatching beherschen, das macht alles die Software...
KlausImHaus schrieb: > Dachte mir schon das es einigen gefallen wird :D Sehr guter Artikel, trifft meine Meinung zu dem Thema auch. Am besten gefällt mir der Satz: "Die von Banzi vertretene Sicht der Dinge ist genauso falsch wie die des pensionierten Managers. Der beste Weg liegt, wie so oft, in der Mitte." Für Spielzeug à la "Kaffeemaschine einschalten" ist ein Arduino allemal gut genug. Die Schnellabschaltung einer Kreissäge sollte man aber dann doch so Takt-Sparend wie möglich realisieren. M•E•I•N•E M•E•I•N•U•N•G
Michael schrieb: > KlausImHaus schrieb: >> Dachte mir schon das es einigen gefallen wird :D > > Sehr guter Artikel, trifft meine Meinung zu dem Thema auch. > Am besten gefällt mir der Satz: "Die von Banzi vertretene Sicht der > Dinge ist genauso falsch wie die des pensionierten Managers. Der beste > Weg liegt, wie so oft, in der Mitte." > > Für Spielzeug à la "Kaffeemaschine einschalten" ist ein Arduino allemal > gut genug. > Die Schnellabschaltung einer Kreissäge sollte man aber dann doch so > Takt-Sparend wie möglich realisieren. > > M•E•I•N•E M•E•I•N•U•N•G Ja, gut genug ist er. Aber vollkommen überdimensioniert...
zong schrieb: > Michael schrieb: >> KlausImHaus schrieb: >>> Dachte mir schon das es einigen gefallen wird :D >> >> Sehr guter Artikel, trifft meine Meinung zu dem Thema auch. >> Am besten gefällt mir der Satz: "Die von Banzi vertretene Sicht der >> Dinge ist genauso falsch wie die des pensionierten Managers. Der beste >> Weg liegt, wie so oft, in der Mitte." >> >> Für Spielzeug à la "Kaffeemaschine einschalten" ist ein Arduino allemal >> gut genug. >> Die Schnellabschaltung einer Kreissäge sollte man aber dann doch so >> Takt-Sparend wie möglich realisieren. >> >> M•E•I•N•E M•E•I•N•U•N•G > > Ja, gut genug ist er. Aber vollkommen überdimensioniert... Wenn du morgen einkaufen gehst, dann beobachte mal mit was für Autos der "Durchschnittsdeutsche" im Supermarkt vorfährt. Mein Lieblingsmodell ist der Geländewagen "Pajero" (kann jemand Spanisch ;-) ) Im Ernst: Natürlich ist es überdimensioniert für so etwas. Aber deshalb ist es auch eine individuelle Lösung für den Arduino-Hobby-Bastler. Wollte jemand das Produkt in Massen anbieten, dann ist ein Arduino selbstverständlich nicht mehr die erste Wahl.
In der Welt alles Lebenden gibt es immer zwei maßgende Faktoren: - Aufwand - Nutzen Diese beiden Faktoren haben die Evolution seit Jahrmillionen geprägt und auch im technischen Bereich gelten diese fundamentalen Regeln. Zunächst gilt es zu definieren was unter "Aufwand" zu verstehen ist. Nun - Der Aufwand lässt sich in stoffliche und nichtstoffliche Aspekte gliedern. Es gibt den materiellen Aufwand (häufig monetär quantifiziert) und den zeitlichen Aufwand. Der Arduino-Nutzer ist bestrebt einen bestimmten Nutzen zu erzielen (Das funktionierende Gerät). Ferner führt der Arduino-Nutzer eine Priorisierung jener zwei Aspekte durch, welche wir als "materiellen" und "zeitlichen" Aufwand bezeichnet haben. In der Regel wird der Arduino-Nutzer wohl den zeitlichen Aufwand höher priorisieren als den materiellen Aufwand (Geld). Ihm kommt es nicht darauf an, ob das Gerät (in der Regel ein Einzelstück) einige Euro mehr oder weniger kostet. Er wird also versuchen das Ziel möglichst Schnell zu erreichen. Die Geschwindigkeit der Entwicklung korreliert hierbei mit der Abstraktionshöhe des genutzen Systems. Da Arduino einen hohen Abstraktionsgrad zur Verfügung stellt, passt dieses System gut auf das Anforderungsprofil des typischen Arduino-Nutzers (niedriger Kenntnissstand).
@ KlausImHaus (Gast) >http://www.heise.de/developer/artikel/Embedded-Pro... Durchwachsen. >Aufgrund langer Produktzyklen und hoher Fehlschlagrisiken erweist sich der >Embedded-Bereich als vergleichsweise innovationsscheu. Beweis? Wir heute überall noch wie vor 10 oder gar 20 Jahren entwickelt? Kaum. > Dank diverser Hochsprachen seien nun auch Künstler, Grafiker und >Architekten zum Konstruieren von Gadgetry befähigt – und das ohne >langwieriges Studium der internen Architektur des verwendeten >AVR-Controllers. Stimmt. Und das ist auch eine große Leistung der Plattform. > Von Seiten des Managers kam daraufhin der Einwand, dass die damit >erstellten Produkte aus technischer Sicht nur mangelhaft sein könnten – Nein. >wer die interne Architektur der zugrunde liegenden MCU (Microcontroller >Unit) nicht verstehe, erstelle keine effizienten Applikationen. Effizient genug, um den anvisierten Zweck unter Beachtung der eigenen Fähigkeiten zu erfüllen. > Die verschwindend geringe Minderheit fokussierte ihre Kritik vor allem >an der als Entwicklungsumgebung verwendeten Sprache Processing. Diese ist >alles andere als hardwarenah, der aus der Hochsprache generierte >Assembler-Code lässt sich nicht ohne Weiteres nachvollziehen. Das muss er auch gar nicht. Wozu? >Aufgrund der eher geringen Rechenleistung und des einfachen Aufbaus ist >der Einsatz von Hochsprachen aus technischer Sicht alles andere als >sinnvoll. Zudem "übt" das Programmieren in Assembler das Gehirn der >Entwickler. So ein Käse. >Ein kleiner Teil der Kritiker ging aus diesem Grund sogar so weit, Banzi >vorzuwerfen, dass er dafür verantwortlich wäre, dass die nachkommenden >Programmierer zunehmend weniger "praktische Erfahrung" mitbrächten. Käse die 2. > Die Mehrheit der Anwesenden ging jedoch davon aus, dass die Kreativität >der Nutzer wichtiger sei als die technische Effizienz des resultierenden >Systems. Ist auch so. Es sind eher Nutzer, nicht Entwickler. So etwa wie die Leute, die ne handvoll Formeln ins Excel tippen, bei Visual basic Macros aber abwinken. >Dabei handelt es sich – zumindest bis zu einem gewissen Grad – um eine >logische Abwehrreaktion, die die Verteidigung der eigenen Pfründe >avisiert. Solange das Entwerfen von Embedded-Steuerungen eine >komplizierte Aufgabe darstellt, lässt sich mit Beratungsdienstleistungen >viel Geld verdienen. Unsinn. Mit RICHTIGER Entwicklung wird auch noch Geld verdient, denn dort braucht man "etwas" mehr Know How als bisse Arduino. Der Gadget-Bereich darf ruhig von den Arduinos "übernommen" werden. > Der Einsatz programmierbarer Suchköpfe könnte im Rüstungsbereich zu > einem Quantensprung führen Hier sollte der Autor mal was zum Thema Netiquette lesen. Keine Sau weiß, wovon er redet. >Bei einem für die Massenfertigung vorgesehenen Produkt ergibt das >Einsparen einiger Cents an Hardwarekosten Sinn. In diesem Fall wäre die >Verwendung von Assembler und einem "kleinen" Controller mit Sicherheit >gerechtfertigt Ja. Aber selbst hier ist heute oft C vollkommen ausreichend und die EInsparung duch ASM ziemlich gering. > – für ein in Kleinserie produziertes System sieht die Kalkulation >naturgemäß völlig anders aus. Eben. > Doch gilt auch hier, >dass die Zeit des Zählens von Bits so langsam >vorbei ist. Ja, und das ist auch OK. >Einplatinen-Computer wie Arduino, Raspberry Pi und BeagleBone bieten >Rechenleistungen, die vor zehn Jahren im Workstation-Bereich üblich waren. Stimmt. Aber was wird draus gemacht? Ein LED-Blinker mit Webserver? Ohje. > Das liegt auch an Systemen wie Arduino und Raspberry Pi, die einen >einfacheren Einstieg in Embedded ermöglichen. Einstieg vielleicht, aber dadurch wird man sicher nicht im Handumdrehen zum Experten, der die CPU mal WIRKLICH fliegen lässt. Die ganzen Arduino und Raspberry Pi Experten verbrennen meist viel Power für kleine Aufgaben. Für ein paar Test, Spielereien, Gadgets und Hobby ist das OK, wenn es aber mal um erstere, wirklich LEISTUNGSHUNGRIGE Dinge geht, ist schnell das Ende der Fahnenstange erreicht.
aus dem Heise-Artikel: "Eine technisch nicht sonderlich begabte Lebensgefährtin eines Elektronikers nutzte einen Arduino, um ihre Kaffeemaschine vom Bett aus fernsteuern zu können" eine Funksteckdose gibts aber bei Pollin fix und fertig deutlich billiger
>> "Eine technisch nicht sonderlich begabte Lebensgefährtin eines >> Elektronikers nutzte einen Arduino, um ihre Kaffeemaschine vom Bett aus >> fernsteuern zu können" > eine Funksteckdose gibts aber bei Pollin fix und fertig deutlich > billiger Genau! "All you can eat" beim Chinesen ist auch schnell und billig. Dennoch meinen manche sie könnte es besser und kochen selbst. Allein die Kosten für die Küche! Das lohnt doch alles nicht...
>Für Spielzeug à la "Kaffeemaschine einschalten" ist ein Arduino allemal >gut genug. >Die Schnellabschaltung einer Kreissäge sollte man aber dann doch so >Takt-Sparend wie möglich realisieren. Was die Reaktionszeiten in der Mechanik angeht, täuschen sich die meisten. Selbst die Air-Bag Auslößung wird im Millisekundenbereich abgehandelt. Mikrosekunden spielen da keine Rolle.
Hier die Größenordnungen für den Airbag: http://www.shortnews.de/id/186044/bosch-und-das-airbag-tuning
Walter schrieb: > aus dem Heise-Artikel: > "Eine technisch nicht sonderlich begabte Lebensgefährtin eines > Elektronikers nutzte einen Arduino, um ihre Kaffeemaschine vom Bett aus > fernsteuern zu können" > > eine Funksteckdose gibts aber bei Pollin fix und fertig deutlich > billiger Völlig richtig. Lasst es gut sein. In dem Artikel werden Äpfel mit Birnen durcheinander geworfen. Schade, dass der Autor das nicht behirrnt hat. Besagte Dame kann auch mit ihrem Nagellack die kleine Schramme am Auto kaschieren. Das macht sie aber noch lange nicht zum ausgebildeten Lackierer.
Feinschmecker schrieb: >>> "Eine technisch nicht sonderlich begabte Lebensgefährtin eines >>> Elektronikers nutzte einen Arduino, um ihre Kaffeemaschine vom Bett aus >>> fernsteuern zu können" > >> eine Funksteckdose gibts aber bei Pollin fix und fertig deutlich >> billiger > > Genau! "All you can eat" beim Chinesen ist auch schnell und billig. > Dennoch meinen manche sie könnte es besser und kochen selbst. Allein die > Kosten für die Küche! Das lohnt doch alles nicht... im Artikel geht es dann so weiter: "Ihr Leben wurde somit um ein technisches Gerät reicher, das sie sonst nicht (oder nur mit viel Aufwand) hätte erhalten können." deshalb noch Mal: das gibts anderwo billiger (und vermutlich sogar den Sicherheitsvorschriften genügend)
Walter schrieb: > aus dem Heise-Artikel: > "Eine technisch nicht sonderlich begabte Lebensgefährtin eines > Elektronikers nutzte einen Arduino, um ihre Kaffeemaschine vom Bett aus > fernsteuern zu können" Du glaubst doch nicht ernsthaft, daß das wahr ist? mfg.
Karl Heinz schrieb: > Besagte Dame kann auch mit ihrem Nagellack die kleine Schramme am Auto > kaschieren. Das macht sie aber noch lange nicht zum ausgebildeten > Lackierer. Wenn du ein IKEA-Regal kaufst und es selbst aufbaust, macht dich das nicht zu einem Schreiner. Wenn du in deiner Küche Plätzchen backst, macht dich das nicht zu einem Bäcker. Wenn du deine Winterreifen selbst montierst, macht dich das nicht zu einem KFZ-Mechaniker. All diese arbeiten werden regelmäßig von Amateuren gemacht. Warum sollten wir Elektronik-Amateure nicht mit Arduino programmieren?
Michael schrieb: > Warum sollten wir Elektronik-Amateure nicht mit Arduino programmieren? natürlich darf man das, ist sogar gut wenn die Einstiegshürde niedrig liegt, aber wenn man mehr will stößt man bald an die Grenzen Genau wie bei Ikea, wenn man was anderes will als die Standards dann muss man halt zum Schreiner
Um mal im Paradigma der Zielgruppe zu bleiben: Arduino und das Ganze Zeugs ist im Grunde malen nach Zahlen. Und wer das schafft ist halt einfach allenfalls ein Anstreicher aber kein Maler.
Ich bin dafür in Zukunft alle Diskussionen die in die Richtung "Was bringt Arduino, für wen ist der etc." gehen zu schließen. Der Erkenntnissgewinn ist gleich null.
Arduino erlaubt C und Assembler Code. Nachdem es auf den avr-gcc setzt, gibt es keinen Unterschied zu jedem anderen AVR-Evalboard. Wenn man an die Grenzen der fertigen Arduino Libraries stösst, kann man sie meist auch lesen und umschreiben. Es ist dann eine Kleinigkeit z.B. mit WinAVR weiter zu machen... Fazit: preislich interessante AVR-Evalboards und einfache Entwicklungsumgebung für Einsteiger und Interessierte
me schrieb: > Arduino erlaubt C und Assembler Code. Nachdem es auf den avr-gcc setzt, > gibt es keinen Unterschied zu jedem anderen AVR-Evalboard. Doch die beschissenen Pin-Nummern. Ein Grund kein Arduino-Board zu kaufen. > Wenn man an die Grenzen der fertigen Arduino Libraries stösst, kann man > sie meist auch lesen und umschreiben. Es ist dann eine Kleinigkeit z.B. > mit WinAVR weiter zu machen... Was hat das dann noch mit Arduino zu tun? > Fazit: preislich interessante AVR-Evalboards und einfache > Entwicklungsumgebung für Einsteiger und Interessierte Günstig finde ich sie immernoch nicht. Ein Avr mit geätzter Platine ist günstiger und beinhaltet gleich noch die Funktionalität der teueren Shields. Das fertige selbst erstellte Board kostet weniger als jede Arduino Kombination. Bei der Entwicklungsumgebung kann ich dir zu zustimmen. Zu einfach und primitiv und damit nicht produktiv nutzbar.
avr schrieb: > me schrieb: > Zu einfach und > primitiv und damit nicht > produktiv nutzbar. Das ist kein Gegensatz sondern der Idealfall für Produktivität!
avr schrieb: Das fertige selbst erstellte Board kostet weniger als jede > Arduino Kombination. Ich habe hier einen Nano V3, AVR + FTDI + Kleinkram wie Spannungsregler + Platine, in der Bucht für nen 10er gekauft (in D.). Bau es billiger!
Herr Senken bringt es auf den Punkt: http://www.heise.de/forum/heise-Developer/Kommentare/Embedded-Programmierung-im-Umbruch/Im-Grunde-schon-ganz-richtig/posting-445626/show/ "Daher sehe ich Arduino sowohl als Fluch als auch als Segen. Immerhin bringt es endlich wieder Leute zur Hardware - da war eine Generation lang ja nur Software angesagt. Andererseits breitet sich in der Kielwelle ein Dilettantismus aus, der mich grauselt."
Wegen dem Preis vom Arduino ist das hier interessant: Mit dem chinesischen µC LGT8F88A sind Arduino Boards möglich, die 5 Dollar kosten, also weniger als 5 Euro. Dabei ist die chinesische Kopie LGT8F88A in einigen Punkten sogar leistungsstärker als das Original von Atmel. http://www.indiegogo.com/projects/iteaduino-lite-most-inexpensive-full-sized-arduino-derivative-board/x/4148639 http://imall.iteadstudio.com/lgt8f88a.html Beitrag "atmega88A clone"
Gut möglich das die Preise noch stärker sinken könnten, wenn die Industrie bzw. immer mehr Menschen Arduino Platinen kaufen.
Schöner Artikel, leider nur allzu wahr. Früher waren Programmierer noch echte Männer, heute sind es (fast) nur noch Java-Weicheier. Wenn ich überlege, was man damals aus C64, Amiga & Co mit ihren aus heuter Sicht geradezu lächerlichen Taktfrequenzen und Speichern geholt hat, dann sind 90% der Applikationen heute einfach nur diletantisch.
Falk Brunner schrieb: > Wenn ich überlege, was man damals aus C64, Amiga & Co mit ihren aus > heuter Sicht geradezu lächerlichen Taktfrequenzen und Speichern geholt > hat, dann sind 90% der Applikationen heute einfach nur diletantisch. Das stimmt so nicht, wenn du Bezug auf die Spieleentwicklung nimmst. Da nutzt man C/C++ und für einige zeitkritische Dinge bei der Engine auch Assembler. Moderne Spiele definieren einen aktuellen Durchschnitts PC oder orientieren sich an den festen Werten einer Spielekonsole und versuchen dann das beste dafür raus zu holen. Dabei werden viele Tricks und Künste angewandt, um mit einfachen Mitteln hohe Qualität zu erreichen usw.
Ich hatte an der Uni mal das Vergnügen mit ein paar Arduino Bastlern zu reden. Da schlägt einem die geballte Inkompetenz entgegen. Nahezu kein Hardwareverständnis. (gibt ja für alles Libs). Wenns dann ein bisschen weiter geht scheitern sie... Natürlich lockt man damit Leute zur Hardware - aber ob das für die das richtige Hobby ist bezweifle ich. Ich kenne keinen Entwickler der von Arduino zu richtiger Hardware gekommen wäre.
Johannes O. schrieb: > Ich kenne keinen Entwickler der von Arduino zu richtiger Hardware > gekommen wäre. So wie Java Entwickler niemals zu Treiber Entwicklung in C kommen :D Java ist für sie bereits der Höhepunkt der Entwicklung ;)
Johannes O. schrieb: > Ich hatte an der Uni mal das Vergnügen mit ein paar Arduino Bastlern zu > reden. > Da schlägt einem die geballte Inkompetenz entgegen. Nahezu kein > Hardwareverständnis. (gibt ja für alles Libs). Wenns dann ein bisschen > weiter geht scheitern sie... > Natürlich lockt man damit Leute zur Hardware - aber ob das für die das > richtige Hobby ist bezweifle ich. > > Ich kenne keinen Entwickler der von Arduino zu richtiger Hardware > gekommen wäre. Leute, Leute… gibt es für euch denn nur Wahl zwischen Perfektionismus und kompletter Inkompetenz? In meiner Welt existieren sehr viele Abstufungen zwischen diesen beiden Extremen. Gruß Michael (kopfschüttel)
@ KlausImHaus (Gast) >> hat, dann sind 90% der Applikationen heute einfach nur diletantisch. >Das stimmt so nicht, wenn du Bezug auf die Spieleentwicklung nimmst. Da >nutzt man C/C++ und für einige zeitkritische Dinge bei der Engine auch >Assembler. Das stimmt.
Falk Brunner schrieb: > Das stimmt. Das liegt daran das in der Spieleentwicklung die Hardware Ressourcen Goldwert sind. Nutzt man die Hardware Leistung besser aus entsteht ein besseres bzw. hübscheres Spiel und das kann die Verkaufszahlen erhöhen. In vielen anderen Bereichen gibt es diesen Faktor nicht bzw. es ist vernachlässigbar. Die meisten Programme führen keine aufwendigen Berechnungen durch. Dann fühlen sich viele nicht dazu verpflichtet ein effizientes Programm zu schreiben. Ob das so richtig ist oder nicht, ist denke ich nicht pauschal schwierig zu beurteilen. Es artet im Grunde zu einer moralischen Frage aus. Aus kapitalistischer Sicht entscheidet dann sowieso das Moral freie wirtschaftliche Denken ;D
>Früher waren Programmierer noch >echte Männer, heute sind es (fast) nur noch Java-Weicheier. >Wenn ich überlege, was man damals aus C64, Amiga & Co mit ihren aus >heuter Sicht geradezu lächerlichen Taktfrequenzen und Speichern geholt >hat, dann sind 90% der Applikationen heute einfach nur diletantisch. Ich mein, ich höre meine Opa reden. Früher war alles besser. Mein Opa hat früher auch die Nägel aus den alten Brettern gezogen und wieder grad geklopft. Heute gibts die zu diletantischen Preisen im Baumarkt. Oder bei Real. >90% der Applikationen heute Zu C64 Zeiten waren aber auch nur 10% der User am "rausholen". Die restlichen 90% waren beim StripPoker spielen bei 320x200 Pixel und 16 Farben. Apropos .. wie viel hat eigentlich ein Favicon ?!
Die optimale Lerntechnik für Elektronik, Programmierung und tausend praktischen Dingen ist "Learning by doing". Man kann es auch so formulieren: "Was man tut , das lernt man" Mit Arduino kann man ohne technische Einarbeitung ein paar hardwarenahe Applikationen laufen lassen. Also schnellen Erfolg bei geringen Lernaufwand, damit aber auch mit geringen Lerneffekt. Baut man sich dagegen seine uC-Evalkit selber, lernt man: -Schaltplan lesen, schaltung entwerfen und Fehler finden in schaltung -je nach dem ob man steckerbrett oder Loschrasterplatine verwendet lernt man auch Löten, Drähte abisolieren, schneiden, verzinnen Der finazielle Aufwand ist (nur) bei der Lötvariante deutlich höher, falls man nicht schon eine Lötstation im Haus hat. Man lernt also vieles, was man im Berufsleben als Eletroniker/Mechatroniker/Hardware-entwickler/-techniker braucht. Für einen Hardentwickler sind das alles im Berufsleben unverzichtbare Techniken. An universiellen Kulturtechnik lernt man nebenbei: -Fehler finden (Analyse, Problem eingrenzen, nachfragen oder Lit-recherche) -Fehler beheben (Eingeständnis eines Fehlers, Mut zur Änderung - "Irren ist menschlich") -Frust-toleranz, Mut zum Investrisiko, Vertrauen in die Vielfalt eigener Fähigkeiten Ob man Elektronik-aufbauen lernen will oder muß ist aber eine sehr individuelle Entscheidung die nur eine Minderheit mit Ja beantworten wird. Aber auch mit einem fertig gekaufen board kann man mehr lernen als ineffektiv an einer HAL (Hardware Abstraction layer) zu coden. Verwendet man ein Arduino board OHNE die Arduino Abstraktions-library lernt man: -Datenblatt lesen -Architectur von Mikrocontrollern -alle Einstellmöglichkeiten eines mikrocontrollers -aufsetzen einer entwicklungsumgebung/Toolchain -Programme auf Hardwareebene debuggen und die oben genannten universalen Kulturtechniken. Also vieles was man im Berufsleben als Embedded Programmierer (Technische Informatik) braucht. Und um der oben gennanten Forderung nach Abstraktion zu antworten, wer soll diese Abstraktion (-sschicht) schreiben|debuggen|optimieren, wenn nicht einer mit Detailkenntnissen um die zugrundeliegende Hardware. Das Arduino mit seiner Bibliothek erklärtermassen an Personen ohne techniches Detailwissen richtet kann man auch als Nachteil verstehen. Man wird dieses Detailwissen bei der Arbeit mit Arduino auch nicht erlernen, wenn man nicht bewußt auf den Library-Komfort verzichtet. Arduino ist kein Lernsystem für Mikrocontroller sondern ein Experimentier-/Spielkasten für Unbedarfte. Man KANN bei Verzicht auf die Bibliotheken und Studium der uC-Dokumentation wirklich uC-Experte werden, Arduino mit seinen Ansatz "Mikrocontroller für Warmduscher" fördert das aber nicht besonders.
KlausImHaus schrieb: > Das stimmt so nicht, wenn du Bezug auf die Spieleentwicklung nimmst. Da > nutzt man C/C++ und für einige zeitkritische Dinge bei der Engine auch > Assembler. Und heutzutage oft genug nicht mal das, sondern Flash, HTML mit JavaScript, Adobe Air, GameMaker Studio, RPG Maker, Unity, usw.
Hi, jetzt möchte ich mal auch meinen Senf ablassen. Nach fast über 7 Jahren, wo ich damals meine Atmega Applikationen auf Lochraster Platinen selbst herstellte und auch in C entwickelte, habe ich damit wieder begonnen. Angefangen habe ich damit eine MPU6050 über i2c auszulesen und erstmal über RS232 auszugeben. Einen Atmega habe ich auf eine Lochrasterplatine plaziert. Die Software habe ich wieder in C geschrieben. Da ich sogut wie aus der Übung war, hatte ich zwischendurch mit den Gedanken gespielt mir so ein Arduino zu beschaffen und die Software zusammen zu bauen, da ich an "wieder gekommene" Hürden gestoßen war. Ich bin aber hart geblieben und habe diese Hürden wieder gemeistert und siehe da es klappt. Mag vielleicht bei jedem anders sein, aber das Erfolgerlebnis bei einer gesamten Eigenentwicklung ist m.E. viel höher als wenn man etwas vorgekautes nimmt.
Mirki schrieb: > ......aber das Erfolgerlebnis bei einer > gesamten Eigenentwicklung ist m.E. viel höher als wenn man etwas > vorgekautes nimmt. Für mich ist alleine entscheidend was hinten raus kommt. Wenn ich mit etwas vorgekautem ein gutes Ergebnis erziele, dann wird es so gemacht. Mein Kunde hat nichts davon, wenn ICH das "Erfolgserlebnis der kompletten Eigenentwicklung" habe.
Moby schrieb: > avr schrieb: >> me schrieb: >> Zu einfach und >> primitiv und damit nicht >> produktiv nutzbar. > > Das ist kein Gegensatz sondern der Idealfall für Produktivität! Idealfall ist also: -kein hex-file -kein Projektexplorer -keine Auswahl der Toolchain -keine speziellen Compilereinstellungen -keine Makefile -kein nur-Flashen Button -kein IntelliSense -kein Syntax-Highlighting -nur Bootloaderunterstützung/kein ISP etc. -Dateiendungen, die man fast nirgends öffnen kann -...
Achja und natürlich: -kein Simulator -und damit keine Ansicht des listfiles (Assemblercode) und ähnliche Ausgaben -kein Debugger -externe Assembler-Code (*.S)?
Seht den Ardunio (Sowohl die Hardware, als auch die Software) einfach als Spielzeug, daß Interesse an richtiger Embedded-Technik wecken soll. Fakt ist: Mit der Ardunio-Oberfläche lernt man kaum was über die Grundlagen und das ist auch gar nicht das Ziel dieses "SDK". Aber der Ardunio nimmt die Hemmschwelle weg, eine LED in die Hand zu nehmen und auch real blinken zu lassen, als nur drüber zu lesen. Als ein solcher User sollte man jedoch nicht auf die Idee kommen, sich nun gleichauf mit Machern des V-USB-Projekts oder des IRMP zu sehen. Diesen Eindruck machen manche Threads der Ardunio-User. Ardunio und Beaglebone sind halt die neuen Designer-Einstiegsdrogen in unsere Welt - nicht mehr, nicht weniger. Die meißten Käufer werden nur kurz damit rumspielen, aber einige werden dann zu den härteren Drogen (PIC, AVR, ARM etc in C, asm, Bascom, Pascal...) greifen. Übrigens: ist euch schonmal aufgefallen, daß es zu den meißten ARMs kaum Assembler-Beispiele gibt? USB am STM32? Da seht ihr selbst bei ST lange Gesichter. Um keinen Streit vom Zaun zu brechen: Ja es ist in nahezu allen Fällen effektiver (Aufwand vs. Nutzen), auf einem ARM in C statt in Assembler zu programmieren! (Ausnahmen bestätigen die Regel). Aber das bedeutet nicht, daß es deshalb so gut wie keine ASM-Doku neben der IS-Liste geben kann. Mich wundert eher, daß kaum jemand danach fragt. Um wieder den Kreis zu den Ardunios zu schließen mal frech gefragt: Ist das nicht auch ein wenig der Ardunio-Weg= weg von der Hardware? ;)
Wenn ich eine LED blinken lassen möchte, dann nehme ich doch nicht gleich einen MC...das wäre ja, wenn ich eine Fliege mit einer Atom Bombe erschlagen will...Da nheme ich lieber eine FlipFlop Schaltung, oder beim Beispiel zu bleiben, eine Fliegen Klatsche
Mirki schrieb: > Wenn ich eine LED blinken lassen möchte, dann nehme ich doch nicht > gleich einen MC...das wäre ja, wenn ich eine Fliege mit einer Atom Bombe > erschlagen will...Da nheme ich lieber eine FlipFlop Schaltung Nein, eine Blink-LED ;-) Wobei die blinkende LED als das Hello-World der Mikrocontrollerei zu sehen ist, also als didaktisches Beispiel für den Einstieg. Auch beim Hello-World ist der Einsatz eines PCs rational gesehen gröbster Unfug, da man sich die beiden Wörter genauso gut auf Papier schreiben kann.
:
Bearbeitet durch Moderator
Mirki schrieb: > Wenn ich eine LED blinken lassen möchte, dann nehme ich doch nicht > gleich einen MC...das wäre ja, wenn ich eine Fliege mit einer Atom Bombe > erschlagen will...Da nheme ich lieber eine FlipFlop Schaltung, oder beim > Beispiel zu bleiben, eine Fliegen Klatsche Und wieviele Bauteile brauchst dafür? Das diskret aufzubauen, oder auch nur mit FlipFlop + Beschaltung wäre viel aufwändiger als ein kleiner Controller, der praktisch überhaupt keine Beschaltung mehr braucht. gruß cyblord
gut, mag ja sein, das welche die nicht in die Tiefe gehen wollen mit einem Arduino eher ans Ziel kommen, als wenn die es komplett von der picke aus machen....Aber mal Hand aufs Herz, bezeichnet man solche dann als MC entwickler oder gat Elektroniker? Ich denke das wäre falsch am Platz. Wer aber interesse an Elektronik und MC Entwicklung hat und dies erlernen möchte, der sollte zumindestens mit ein paar Grundschaltungen klarkommen, oder? Und das Beispiel mit dem "Hello World" ist so in etwa wie Äpfel mit Birnen vergleichen. Bei meinem Beispiel wird mit beiden Ansätzen eine LED zum Blinken gebracht, einmal mit einem MC und einmal ohne MC. Bei Deinem Beispiel wird das Hello World einmal am Bildschirm ausgegeben und einmal aufs Papier geschrieben......Der Vergleich hinkt!!
Mirki schrieb: > gut, mag ja sein, das welche die nicht in die Tiefe gehen wollen mit > einem Arduino eher ans Ziel kommen, als wenn die es komplett von der > picke aus machen....Aber mal Hand aufs Herz, bezeichnet man solche dann > als MC entwickler oder gat Elektroniker? Ich denke das wäre falsch am > Platz. Wer aber interesse an Elektronik und MC Entwicklung hat und dies > erlernen möchte, der sollte zumindestens mit ein paar Grundschaltungen > klarkommen, oder? Sehe ich ähnlich, Bastler die am Arduino festkleben sind die Script-Kiddies der Mikrocontrollerbranche. Es kann ein Hacker/Entwickler daraus werden, muß aber nicht. MfG, PS: Wer's nachschlagen muß : http://de.wikipedia.org/wiki/Script-Kiddie
Andy P. schrieb: > Übrigens: ist euch schonmal aufgefallen, daß es zu den meißten ARMs kaum > Assembler-Beispiele gibt? USB am STM32? Da seht ihr selbst bei ST lange > Gesichter. > Um keinen Streit vom Zaun zu brechen: Ja es ist in nahezu allen Fällen > effektiver (Aufwand vs. Nutzen), auf einem ARM in C statt in Assembler > zu programmieren! (Ausnahmen bestätigen die Regel). Assembler versus C aber garnix mit der Arduino-Diskussion hier zu tun. Man kann uC auch effektiv in C programmieren, wie das oben durchgekaute Beispiel des Port-bits setzen zeigt. Aber dazu muss man die uC-Architektur kennen und die Doku des Controllers gelesen haben. Und der Vergleich ARM - 8bit uc hinkt doch gewaltig. Die 1-8 kByte an Programmspeicher eines kleinen uC sind in Assembler fix gefüllt. Hardwarenahes C macht es da leichter mit der Speicherplatzverwaltung und Registerallokation für die Variablen und ist kaum ineffizienter. Dagegen verschwendet eine HAL Platz und Geschwindigkeit der bei den kleinen uC eh reichlich knapp ist. Und man lernt nix über die Interna. Ein ARM-System auf dem ein OS und Netzwerk protokollstack läuft, ist eine ganz andere Geschichte, da da 100+k an Codezeilen von mehreren Personen zu schreiben sind. MfG,
Fpga Kuechle schrieb: > Sehe ich ähnlich, Bastler die am Arduino festkleben sind die > Script-Kiddies > der Mikrocontrollerbranche. Es kann ein Hacker/Entwickler daraus werden, > muß aber nicht. > > MfG, Ich bin in meinem Beruf ein FW/SW Entwickler. Ich besitze zwar einen Arduino (warum auch nicht, bei 5 Euro), halte mich jetzt aber nicht für einen Script-Kiddie. Arduino kann man für all mögliche Zwecke einsetzen, wenn man schnell zu einem Ergebniss kommen möchte :) Außer die IDE finde ich die Arduino Welt recht interessant.
>Ich bin in meinem Beruf ein FW/SW Entwickler. Ich besitze zwar einen >Arduino (warum auch nicht, bei 5 Euro), halte mich jetzt aber nicht für >einen Script-Kiddie. Arduino kann man für all mögliche Zwecke einsetzen, >wenn man schnell zu einem Ergebniss kommen möchte Und man kann es gar nicht oft genug erwähnen, die Hardware lässt sich auch professionell programmieren: Beitrag "Re: Arduino mit Eclipse AVR-gcc Plugin programmieren" Btw.: Weis jemand, wie man die Toolchain für einen Arduino Due aufsetzt?
Johannes O. schrieb: Ich bin Softwareentwickler, der Elektronik nur als Hobby betreibt. Wenn ich den gesammelten Hochmut in diesem Forum betrachte, kann ich nur den Kopf schuetteln. > Ich hatte an der Uni mal das Vergnügen mit ein paar Arduino Bastlern zu > reden. Ich habe im Beruf regelmaessig das Vergnuegen, mit Elektronikern zu arbeiten. > Da schlägt einem die geballte Inkompetenz entgegen. Nahezu kein > Hardwareverständnis. Da schlaegt einem geballte Inkompetenz entgegen. Nahezu kein Verstaendnis fuer hoehere Programmiersprachen, Architektur von verteilten Applikation und komplexen Anwendungen. > (gibt ja für alles Libs). Wenns dann ein bisschen weiter geht scheitern sie... Die halten sich alle fuer ueberlegen, weil sie Assembler koennen und die Hardware im Detail kennen. Aber wenn's ein bisschen abstrakter und komplexer wird, scheitern sie. > Natürlich lockt man damit Leute zur Hardware - aber ob das für die das > richtige Hobby ist bezweifle ich. Ob die den richtigen Beruf gewaehlt habe, bezweifle ich nicht. Ich weiss, dass sie das nicht haben. > Ich kenne keinen Entwickler der von Arduino zu richtiger Hardware > gekommen wäre. Ich kenne keinen Elektroniker, der von der Elektronik zu richtiger Softwareentwicklung gekommen waere. Der Unterschied zu den Arduino-Bastlen: Von gelegentlichen, vom Bastelerfolg getriebenen Hoehenfluegen abgesehen, halten die sich nicht fuer Elektroniker. Schon gar nicht fuer die Besseren.
>Der Unterschied zu den Arduino-Bastlen: Von gelegentlichen, vom >Bastelerfolg getriebenen Hoehenfluegen abgesehen, halten die sich nicht >fuer Elektroniker. Schon gar nicht fuer die Besseren. Das ist auch nicht der Gegenstand der Arduino Welt. Wenn ein Kind mit 12 ein selbstgebautes RC Auto bauen will, drückst man ihm ja auch nicht Eagle, Ätzgerät, Tietze Schenk Buch und am besten Noch paar CortexM3 ICs in die Hand. Arduino mit dem ganzen (Spiel)Zeugt was dazu existiert, motiviert Menschen Projekte zu realisieren. Ich finde es gut, dass es solche Platform gibt und würde mich freuen, wenn wenn es weiter entwickelt wird.
Fpga Kuechle schrieb: > Sehe ich ähnlich, Bastler die am Arduino festkleben sind die > Script-Kiddies der Mikrocontrollerbranche. Der Vergleich hinkt.
Fpga Kuechle schrieb: > Die 1-8 kByte an > Programmspeicher eines kleinen uC sind in Assembler fix gefüllt. 8k Assembler? Ich glaube du sie solltest lieber in Programmieren. Das ist bei dir effizienter.
Dann ist ja myAVR noch unbrauchbarer. Wenn man einmal damit anfängt, hat man ein Problem ... weil: eigene Hardware, eigene IDE und wenig Beispiele
ajo schrieb: > 8k Assembler? Ich glaube du sie solltest lieber in Programmieren. Das > ist bei dir effizienter. 1.: In was? 2.: Vllt. war es je etwas Zeitkritischen.
In c. Wer 8 KB in Assembler schnell fühlt programmiert höchstwahrscheinlich in der falschen Sprache oder sollte noch viel lernen.
Hi >Da schlaegt einem geballte Inkompetenz entgegen. Nahezu kein >Verstaendnis fuer hoehere Programmiersprachen, Architektur von >verteilten Applikation und komplexen Anwendungen. >Die halten sich alle fuer ueberlegen, weil sie Assembler koennen und die >Hardware im Detail kennen. Aber wenn's ein bisschen abstrakter und >komplexer wird, scheitern sie. Sei froh. Wenn sie das auch noch könnten, wärst du überflüssig. >8k Assembler? Ich glaube du sie solltest lieber in Programmieren. Das >ist bei dir effizienter. >Wer 8 KB in Assembler schnell fühlt programmiert höchstwahrscheinlich in >der falschen Sprache oder sollte noch viel lernen. Anscheinend führen andere Programmiersprachen als Assembler bei manchen zur Verkümmerung der Fähigkeit sich verständlich auszudrücken. MfG Spess
Yalu X. schrieb: > Nein, eine Blink-LED ;-) Der ist gut! Ich bin auch so, mit den minimalsten Mitteln das gesuchte Ziel zu erreichen. Ich hab obige in der vor-MC-Zeit als Taktgeber eingesetzt. Das der Arduino eine eigene Sprache hat, hab ich erst hier erfahren. Wer damit nicht zufrieden ist, bitteschön, der kann dem Prozessor doch ein eigenes Programm verpassen. Und da er die 3D-Drucker steuert, kann er ja nicht so schlecht sein. Oder versteht der Prozessor nur Arduinisch? Genau so könnte man sich über Siemens LOGO aufregen. Was ist eigentlich da für ein Prozessor drin?
ajo schrieb: > In c. > Wer 8 KB in Assembler schnell fühlt programmiert höchstwahrscheinlich in > der falschen Sprache oder sollte noch viel lernen. Also ich beziehe mich auf kleine 8bit uc im Bereich von 1 bis 8k Befehlsspeicher. Das sind nun mal in Assembler mit 1 zeile pro Opcode 1000 bis 8000 Lines of Code; mit einem Makro-Assembler noch weniger. Also ein Programm kleiner Komplexität. Das ist zwar nicht in einer Stunde geschrieben, aber länger als ein paar Tage dauert es auch nicht. In hardwarenahen C sind das ebenso 1k bis 8k Codezeilen, da hier ebenfalls die Umrechnung 1 C-Instruction = 1 OpCode gilt. Bei Funktionsaufrufen mit Retten der Register auf den Stack sieht das zwar anders aus, aber mit einem Makroassembler ist häufiges Registersatz retten ebenfalls in einer Zeile (Macroauruf oder callSUB) abgehandelt. Da spart C kaum Schreibaufwand. Was leichter wird ist die Variablenverwaltung. Codieraufwand in C also ebenfalls ein paar Tage. Bibliotheken bspw f. 16 bit Arithmetik gibt es auch für Assembler, da gewinnt man auch nix wenn man auf C wechselt. Vergleicht man dagegen die Entwicklungszeiten von Assembler ohne Bibliotheken mit denen für die Verwendung von C mit Bibliotheken (bspw str.h) vergleicht man Äpfel mit Birnen. Es bleibt bei der Grundaussage: bei kleinen 8bit uc ist der Entwicklungswand in Assembler im Vergleich zu Maschinennahen C etwa gleich wegen gleicher Komplexität (nachgewiesen an etwa gleicher Zahl von LoC). Bei beiden Vorgehensweisen braucht man detailiertes Wissen über die uC-Interna, bei Assembler benötigt man zusätzliches Wissen über die Opcode Memnonics , bei C über C, C-Compiler (bspw. #pragma) und C-Fallstricke (bspw. volatile). Das tut sich nicht viel. Es ist also in diesem Fall m.E nicht viel anders, ob man Maschinenahes C oder Assembler verwendet. Das sauge ich mir nicht aus den Fingern, sondern sind Erfahrungswerte, bspw. aus der Implementierung einer FAT16 PCMCIA Datei-Schreiberroutine auf einem PIC mit ca 4k (ca. 1995). Zuerst wurden die FAT16 routinen auf einen DOS-PC in C mit direkten IO-Zugriff auf eine Platte realisiert, dann die C Routinen in PIC-Assembler umgesetzt. Der Aufwand für die C-Routinen war etwa gleich wie für die Assemblerroutinen. (was aufgrund der etwa selben Zahl von Codezeilen auch nicht verwundert). MfG,
Bald iss weihnachten. Hoffentlich bringt der Weihnachtsmann genug Arduinos mit :-)