Hallo, seit ein paar Jahren programmiere ich mit GCC/AVR-Studio erfolgreich Mikrocontroller. Nun möchte mein Neffe (11) gerne in die Welt der Programmierung von Mikrocontrollern einsteigen. Jetzt bin ich nicht ganz sicher, was ich ihm empfehlen soll. Kenne mich mit Arduino überhaupt nicht aus, fände es aber auch etwas happig, ihm gleich das AVR-Studio "vorzusetzen". Was meint ihr, ist der Vorteil von Arduino gegenüber AVR-Studio so groß, dass man es einem Neueinsteiger ans Herz legen sollte? Oder lieber doch AVR-Studio (da könnte ich ihm bei auftretenden Fragen in jedem Fall problemlos weiterhelfen)?
Terry schrieb: > Was meint ihr, ist der Vorteil von Arduino gegenüber AVR-Studio so groß, Nein. Terry schrieb: > Oder lieber doch AVR-Studio (da könnte ich ihm bei auftretenden Fragen > in jedem Fall problemlos weiterhelfen)? Nimm lieber diesen Weg, da ist euch beiden mehr mit geholfen.
Unterschätze die Kidis nich. Meist liegt's am Lehrer, wenn sie's nicht verstehen!
Ein Arduino war es nicht, der die Entwickler vom Arduino befähigt hat, den Arduino zu entwickeln. Der Arduino ist wohl etwas mehr für Elektronik- und Programmierfremde gedacht. Wobei die Arduino HW sehr praktisch und billig von jedem genutzt wird.
Terry schrieb: > Kenne mich mit Arduino überhaupt nicht aus, fände es aber auch etwas > happig, ihm gleich das AVR-Studio "vorzusetzen". Arduino ist bequem für schnelle Erfolgserlebnisse. Die Einblicke in den Controller und was in den Abstraktionsebenen der Arduino Softwäre passiert, sind allerdings eher gering. IMHO ist der Lerneffekt mit AVR Studio, insbesondere mit Assembler und Simulator erheblich größer, weil man dichter am µC dran ist. Von dem, was man dabei lernt, kann man später immer wieder zehren. Im Alter von 11a ist AVR-Studio aber vielleicht noch etwas früh und schnell ein paar LEDs mit Arduino zum Blinken zu bringen oder ein paar Servos zu steuern, auch nicht schlecht. Auf jeden Fall ist ein Oszi oder ein kleiner Logikanalysator (ebay "8Ch 24MHz") für Fehlersuche in Programmen, die mit der Außenwelt interagieren, sehr nützlich und spart viel Frust.
Ich denke sowas sollte man jeden im richtigen Alter selbst entscheiden lassen und finde für den Faktor Kleinigkeiten wie Schnuppern,Erfahren,Lernen+Erfolg ist der Arduino nicht verkehrt.. erinnert mich an meine Basiczeit vor 20 Jahren. Man muss ja quasie nur einige Basics in der Syntax kapieren und Beispiele laden dann ist das im Kasten.. vielleicht sowas mit nem Sensor/Basic Kit aus China für 30-50€.. da bekommt sogar nen 11jähriger ein digitales Thermometer kompiliert und versteht das fürs erste noch.
:
Bearbeitet durch User
gerade in dem Alter denke ich, dass schnelle Erfolge wichtig sind. Arduino heißt ja nicht, dass man alle vorgefertigten Bibliotheken nutzen muss. Letzen Endes ist es auch nur C Code, der mit GCC compiliert wird. Und wenn digitalWrite() zum Setzen eines Ausgangs irgendwann zu langsam wird, kann man sich ja immer noch ansehen, wie es in der Lib implementiert ist und verbessern bzw. gleich mit C auf die Ports zugreifen. Arduino verbietet ja nicht, direkt mit C zu arbeiten. Es bietet halt einfach nur schon eine ganze Reihe fertiger Bibliotheken, die man nutzen kann - aber nicht muss. Gerade für Einsteiger finde ich das immer noch ideal.
Terry schrieb: > Dann könnte ich im Grunde auch meinen auf dem AVR-Studio erstellten > C-Code unter Arduino nutzen? Wenn ich das richtig verstanden habe, musst Du dafür aber den Arduino-Bootlader rausschmeissen. Und Dein Programm an die Arduino-Hardware anpassen, da dort die Schnittstellen vielleicht anders genutzt werden.
Die Arduino Hardware finde ich auch nicht verkehrt, dazu der Direkteinstieg in AVR-Studio finde ich okay :) Am besten du schreibst Beispielprogramme die kurz und übersichtlich sind und schritt für schritt aufbauen, Beispielsweise Programme die folgendes beinhalten 1. einfaches LED an (Lernziele: Grundstruktur eines Programms + digitaler Ausgang) 2. LED aus, durch Button (Lernziele: digitaler Eingang, einfache Strukturierungen a la if/else) 3. mittels Timer LED blinken lassen (Lernziele: timer, bitmasken und/oder schiebeoperation) 4. LED lauflichter, Frequenz des Timers manipulieren durch Button (Lernziele: timer, frequenzen + bitmasken evtl. dimmen/faden) 5. ... natürlich immer debuggen, wenn möglich immer mit dem oszi draufschauen ich schätze ab Punkt 3 wird es ein selbstläufer, wenn denn dann immer noch interesse besteht und der lehrer gut ist ;) beste grüße public
Terry schrieb: > Dann könnte ich im Grunde auch meinen auf dem AVR-Studio erstellten > C-Code unter Arduino nutzen? Ja du kannst auch in die Arduino-IDE klassisch deinen Code reinkloppen, nur Arduino = u.a. die "kindgerechte" Lib + IDE. Wenn der 11 jährige vielleicht schon an Arduino kein Interesse entwickelt, wird er es mit AVR noch viel weniger. Harald Wilhelms schrieb: > Wenn ich das richtig verstanden habe, musst Du dafür aber den > Arduino-Bootlader rausschmeissen. Nein muss man nicht. > Und Dein Programm an die > Arduino-Hardware anpassen, da dort die Schnittstellen vielleicht Auch nicht wenn die Hardware die selbe war, wenn nicht beschränkt es sich meist auf andere Port/Pinnummerns, ... das ist doch unter den AVRs alles sehr ähnlich.
Terry schrieb: > Dann könnte ich im Grunde auch meinen auf dem AVR-Studio > erstellten > C-Code unter Arduino nutzen? Ja. Den Bootloader würde ich persönlich drauf lassen. Der ist dafür da, den compilierten Code per USB auf den Arduino zu übertragen. Im Prinzip kannst Du das aber auch über ISP/JTAG machen. In dem Fall könntest Du sogar auf den Bootloader verzichten. Da man in der Arduino IDE selbst nicht wirklich debuggen kann (außer über den Seriellen-Monitor), macht das aber keinen Sinn. Sinnvoll wird das ganze erst in der anderen Richtung: wenn Du anfängst, die Arduino Hardware mit dem AVR-Studio zu programmieren. Dann kann der Bootloader in der Tat mehr stören als er hilft. Fazit: wenn Du die Arduino IDE nutzt kannst Du beliebigen C Code auf die Arduino Hardware per USB + Bootloader übertragen - oder halt C Code, der die Arduino Bibliotheken verwendet. Wenn Du Die Arduino Hardware in AVR Studio programmieren willst geht das auch problemlos, dann empfiehlt es sich aber, den Bootloader runter zu schmeißen und direkt über JTAG zu gehen.
Ich finde das immer schade das viele den unterschied Arduino<->AVR grundlegend nie kapiert haben weil es keinen gibt. 1. Es ist kein "Arduino" Bootloader sondern ein Bootloader mit seriellem Upload Protokoll, egal was man hochlädt man kann alles ausser dem Bootloader selbst hochladen und wenn ISP vorhanden auch den Anschluß im AVR Studio benutzen. 2. Ein Arduino ist im Prinzip ein Minimal Breakout Board mit der optionalen möglichkeit dieses passend den aufgedruckten Pins in der Arduino-IDE zu programmieren (Könnten auch PA0-PD0 an den Pins stehen) 3. Welche Softwäre man nun hochlädt ist egal solang es ein kompatibles AVR-Hex ist. 4. In der Arduino-IDE kann man soweit ich weiß direkt Assemblern oder AVR-Studio-C benutzen das ist der auch egal (letzendlich kompiliert ja nur WinAVR) Ein Arduino bleibt ein Stinknormaler AVR mit serieller Upload möglichkeit.
Terry schrieb: > seit ein paar Jahren programmiere ich mit GCC/AVR-Studio erfolgreich > Mikrocontroller. > > Nun möchte mein Neffe (11) gerne in die Welt der Programmierung von > Mikrocontrollern einsteigen. > > Jetzt bin ich nicht ganz sicher, was ich ihm empfehlen soll. > > Kenne mich mit Arduino überhaupt nicht aus, fände es aber auch etwas > happig, ihm gleich das AVR-Studio "vorzusetzen". ich "unterrichte" Studenten, (unter den Blinden ist der Einäugige König) erst mit Arduino (und deren LIBs) für erste Erfolge und führe die nach und nach zu "normales" C wie im Studio Ein Arduino hindert ja nicht normal zu proggen, er ist billig, Hardware steht, LIBs sind schnell verfügbar. Nokia 5110 LCD DS1307new FastLED U8G LCD
Ich würde das Problem rein pragmatisch angehen. Zum Video streamen und zur Datenbearbeitung ist das Teil nicht zu brauchen, aber unter dem Gesichtspunkt des: "kost' fast nix" zusammen mit der Überlegung, das keiner weiß, was den Jungen morgen interessiert, ist er eine erwähnenswerte Option. a) Liegt das Teil morgen schon in der Ecke, so greift der Kostenfaktor. b) Fesselt das Teil aber seine Aufmerksamkeit, so ist z.B. der Umstieg auf ein anderes Teil (mögl. ein PI), auch keine ruinöse Angelegenheit. Was ich aber mit einem klaren "Nein" beantworten muss ist die Verwendung des Studios. Man sollte nämlich nicht vergessen, dass der Junge noch in einem Alter ist, in dem was passieren muss. Aus meiner Sicht ist das Studio etwas um dem Prozessor XY in der Hardware Z Beine zu machen. Aus Sicht der kontrollierbaren Arbeit, verbunden mit etwas spielerischem Anspruch ist es, nach meiner Meinung, ungeeignet. Ich selber benutze das Teil sehr häufig aber immer nur um dem Prozessor, in seiner definierten Umgebung, sein Kunststückchen beizubringen. Nach meiner Meinung bleibt hierbei - wir reden schließlich von einem 11 Jährigen - die pädagogische Seite auf der Strecke. Auch ohne ihn zu kennen, würde ich sagen: Simulieren ist nicht sein Ding.
Ich verweise nochmal auf die Kits.. nur als Beispiel: http://www.ebay.de/itm/231426435984 Da musste nur noch je nach teilen die Libs besorgen und in einen Library-Ordner schieben, Beispiele sind dann bei den Libs dabei.. nur noch nen paar Strippen nach Plan connecten.
:
Bearbeitet durch User
Es gibt auch ein Arduino IDE Plugin für das Atmel-Studio. Damit wird man wenigstens den Steinzeit-Editor der Original Arduino IDE los. Damit könnte man dann auch Schritt für Schritt erst direkter Programmieren und schliesslich das Plugin ganz loswerden.
Harald Wilhelms schrieb: >> Dann könnte ich im Grunde auch meinen auf dem AVR-Studio erstellten >> C-Code unter Arduino nutzen? > > Wenn ich das richtig verstanden habe, musst Du dafür aber den > Arduino-Bootlader rausschmeissen. Nein. Der Bootloader emuliert nach außen hin einen STK500.
Es gibt ein Plugin für AVR-Studio, damit man den Arduino direkt programmieren kann: http://www.visualmicro.com/page/Arduino-for-Atmel-Studio.aspx In Zusammenhang des Topics immer wieder gerne gelesen: Beitrag "Re: Arduino - bringt's das ?"
Amateur schrieb: > Nach meiner Meinung bleibt hierbei - wir reden schließlich von einem 11 > Jährigen - die pädagogische Seite auf der Strecke. Auch ohne ihn zu > kennen, würde ich sagen: Simulieren ist nicht sein Ding. Programmieren an sich ist komplex, auf welcher hardware erst mal Nebensache. Aus lesbarem Text wird halt ein ausführbares Programm, kann mir nicht vorstellen, dass das alter eine beschränkung ist. Mit 11 ist man heutzutage in der 4./5. Klasse (?) und bei bestehendem interesse, wieso denn nicht? manch einer/eine macht/bekommt mit 11 sein erstes Kind O.o Wäre cool zu wissen wie es am Ende umgesetzt wird :) beste grüße public
Es gibt noch ein passendes Projekt hier im MC-Netz: Beitrag "Arduino Library unter Atmel Studio 6.2"
Die Antwort liegt eher darin, dass Du Deinen Neffen und damit die Voraussetzungen kennst, die er mitbringt. Mit einem Arduino hat er natürlich schneller mal ein Ergebnis. An den USB anstecken, Draht in den Ausgang, Led dran und plink, Licht. Ohne ist da natürlich weit mehr zu machen und man kann auch weit mehr falsch machen bis die Lampe an geht. Entsprechend geht dier erste Frage gleich mal an die Frustrationstoleranz Deines Neffen und seine Fähigkeit (und Bereitschaft) sich mit Dingen auseinanderzusetzen, die eben nicht sofort das tun was er will. Das nächste Thema ist dann nämlich dass das Programmieren in der Arduino-Welt ein wenig anders aussieht als bei normalem C (oder gar ASM) im AVRStudio. Wie schätzt Du ihn ein wenn er feststellt dass das was er tun will mit dem Arduino nicht mehr realisierbar ist (oder halt gelinde gesagt zu viel kostet weil er das halt "fix" so lassen will und 'n neuer AVR-µC ist schnell mal neu gekauft, anders als ein Arduino)? Und die dritte Frage, wie schätzt Du seine Fähigkeit ein das Ding nicht "umzubringen"? Kocht er den AVR ab ist 'n Euro im Klo. Kocht der Arduino...
Heinz L. schrieb: > Draht in den Ausgang, Led dran und plink, Licht. jau, aber trotzdem sollte man der LED einen Vorwiderstand spendieren.
Der Junge ist ELF Jahre alt! Übertreibt es mal nicht mit Jugend forscht! Ein Arduino ist da gerade richtig, ehe er den an seine Leistungsgrenzen gebracht hat, ist er locker in der Pupertät (und hat dann vielleicht eher andere Interessen). Also, Arduino -> Daumen hoch!
Falk Brunner schrieb: > Der Junge ist ELF Jahre alt! Übertreibt es mal nicht mit Jugend forscht! und? ist doch logisch das die heutige Jugend frühreif ist, ich habe meinen ersten Compi mit 12 zusammengebaut und die Programme handverdrahtet. http://www.logikus.info/
@ Joachim B. (jar) >> Der Junge ist ELF Jahre alt! Übertreibt es mal nicht mit Jugend forscht! >und? Nix und. Man kann auch mal die Kirche im Dorf lassen. >ist doch logisch das die heutige Jugend frühreif ist, Oder der Kindheit beraubt wird . . . > ich habe meinen >ersten Compi mit 12 zusammengebaut und die Programme handverdrahtet. >http://www.logikus.info/ Und kannst heute immer noch nicht programmieren . . . ;-) Beitrag "Re: rechnet der preprocessor in C gcc (AVR) multiplikation aus?" Hättest vielleicht ein paar Jahre später anfangen sollen und es von einem guten Lehrer WIRKLICH beigebracht kriegen. Autodidakten sind in diesem Alter eher selten, auch wenn es scheinbar viele kleine Freaks auf dieser Welt gibt.
Falk Brunner schrieb: > Und kannst heute immer noch nicht programmieren . . . ;-) man muss nicht alles perfekt können, bist du Spezialist? Ein Spezialist ist einer der viel von wenig kennt bis er alles von nix kennt.
@ Joachim B. (jar) >> Und kannst heute immer noch nicht programmieren . . . ;-) >man muss nicht alles perfekt können, Aber man sollte wenigstens gut sein, vielleicht auch sehr gut.
Wenn er sich mit C nicht auskennt, wäre der beste Weg das Ganze mit Arduino anzufangen. Man kann einem 11 Jährigen nicht gleich AVR Studio und Atmega in die Hand drücken. Damit sind manche Studenten schon überfordert.
Warum eigentlich nicht BASCOM, Arduino Nano und Steckbrett? Kenne mich mit BASCOM nicht wirklich aus, es wirkt aber sehr übersichtlich. Vielleicht ist noch ein usbasp Programmer o.ä. notwendig.
@ Klaus I. (klauspi) >Warum eigentlich nicht BASCOM, Arduino Nano und Steckbrett? Kenne mich >mit BASCOM nicht wirklich aus, es wirkt aber sehr übersichtlich. >Vielleicht ist noch ein usbasp Programmer o.ä. notwendig. Kann man machen, ich würde aber dennoch lieber Arduino empfehlen. Damit lernt man gleich ein paar C-Grundlagen, mit denen man auch später was anfangen kann. BASCOM hat einen total ausufernden Befehlssatz und ein paar unschöne Einschränkungen (keine lokalen Variablen, nur einfachste Operationen mit 2 Operanden pro Zeile etc.)
Heinz L. schrieb: > Das nächste Thema ist dann nämlich dass das Programmieren in der > Arduino-Welt ein wenig anders aussieht als bei normalem C (oder gar ASM) > im AVRStudio. Nö, isses nicht. Außerdem ist das alles nur eine Frage der Motivation und Neugier ... > Wie schätzt Du ihn ein wenn er feststellt dass das was er > tun will mit dem Arduino nicht mehr realisierbar ist (oder halt gelinde > gesagt zu viel kostet weil er das halt "fix" so lassen will und 'n neuer > AVR-µC ist schnell mal neu gekauft, anders als ein Arduino)? Kauf ich im 10-er Pack um die zwei Euro pro Stück ... (Arduino Pro Mini) Wenn man erst mal angefangen hat, kann man gar nicht genug Arduinos haben und wenn es nur einfach mal Neopixel-LED-Ringe sind, die dann Arduino-gesteuert vor sich hin "flimmern". > Und die dritte Frage, wie schätzt Du seine Fähigkeit ein das Ding nicht > "umzubringen"? Kocht er den AVR ab ist 'n Euro im Klo. Kocht der > Arduino... kocht eine Platine für zwei Euro ... außerdem, wie oft kocht man einen AVR/Arduino wirklich? Ist mir persönlich noch nicht passiert und ich bin in praktischen Dingen äußerst ungeschickt, um das mal sehr euphemistisch zu umschreiben.
Hi, ich würde durchaus über Bascom nachdenken. Das ist doch irgendwo in der Mitte. Man kann da recht einfach direkt auf den Controller zugreifen, ohne die unschöne Syntax von C und bekommt am Anfang doch schnell Ergebnisse. Bascom ist bei weitem nicht so abgehoben von der Hardware wie Arduino und man kann mit simplen Befehlen jedes Register ansprechen. Keine merkwürdige Bitmanipulation, die einen 11-Jährigen ev. überfordert. Die Logik des Programmierens ist ganz nah an C, nur die Syntax ist viel einfacher. Gruß, Norbert
Terry schrieb: > Nun möchte mein Neffe (11) gerne in die Welt der Programmierung von > Mikrocontrollern einsteigen. BASIC: Beginner's All-purpose Symbolic Instruction Code Best choice: BASCOM Vegiß' die Arduino Software, deren Philosophiie war es auch, die Mikrocontroller der von Baum zu Baum springenden Bevölkerung unserer Erde mit einem Minilaptop näherzubringen - so dachten jedenfalls unsere italienischen Kollegen. Und wer kauft letztendlich die in Y-Auflösung exterm kastrierten Spielzeuge?
>Und wer kauft letztendlich die in Y-Auflösung exterm kastrierten Spielzeuge?
Keine Ahnung, was Du mit diesem Satz sagen willst.
Wenn der Satz die Frage sein soll, wer Arduinos kauft, dann wird die
Antwort wohl sein: Welt weit so an die 1 Mio Leute.
Peter Xuang schrieb: > BASIC: Beginner's All-purpose Symbolic Instruction Code > Best choice: BASCOM Wenn es in Richtung BASIC gehen sollte, würde ich sogar einen Interpreter empfehlen. Man kann Befehle direkt eingeben und sieht sofort das Ergebnis. Siehe hier: Beitrag "PIC 32 schneller Basic Interpreter" Die Kosten sind etwas höher, aber dafür liefert ein 4,3" TFT gleich die Ergebnisanzeige und zum Spielen bunte Bilder. Welcher µC dahinter werkelt, kann doch zunächst egal sein.
Norbert S. schrieb: > ... > ich würde durchaus über Bascom nachdenken. Ich bin absolut kein Basic-Fan. Aber bei dieser Anwendung (ein 11 Jähriger) halte auch ich sowas für das Beste. Wenn ich mal die heutige Situation mit damals (Mitte bis Ende der 70er) vergleiche, als ich anfing: damals waren Blinklichter und Tongeneratoren aus Einzeltransistoren die üblichen Einstiegsdinge. Da war nichts programmierbar... Ist schon eine andere Welt heute.
mse2 schrieb: > Wenn ich mal die heutige Situation mit damals (Mitte bis Ende der 70er) > vergleiche, als ich anfing: damals waren Blinklichter und Tongeneratoren > aus Einzeltransistoren die üblichen Einstiegsdinge. Da war nichts > programmierbar... > Ist schon eine andere Welt heute. so viel anders ist heute auch nicht, 1977 hatte der Vater einer Freundin den ersten PET2001 hier 1979 hatte ich den und dann meine Steuerberechnung darauf gemacht und einen Telefonwählautomaten, Schleifenstromunterbrechung IWV aus der Telefonliste. 1980 kam die 2te VIA6522 als Tongenerator mit NF Endstufe und Lautsprecher in den PET für space invader.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.