Mikrocontroller Programmierung Einstieg

xabi

Cadet 3rd Year
Registriert
Juli 2010
Beiträge
58
Servus Leute,

weiß nicht ob ich hier im richtigen Thema bin, da meine Frage auch Richtung Hardware abzielt.

Und zwar möchte ich mich mit dem Thema Mikrocontrolling (Stichwort Arduino) beschäftigen, also basteln und programmieren.

Ich bin völliger Neuling auf dem Gebiet und wollte mal fragen was ihr mir für den Einstieg empfehlt (Komplettsets kaufen?...etc), google lieferte da Antworten in alle Richtungen...

Zu meiner Person: ich habe Programmierkenntnisse in Java, C, Python etc. daran sollte es nich scheitern, aber ein paar Tipps für den Anfang (z.B. was und wo kaufen) wären ganz gut :)

Danke
xabi
 
Hi!

Also, wenn du schon C kannst, ist das super. Arduino ist allerdings Spielerei. Wenn du µC programmieren willst, dann richtig. Ich empfehle dir mit Atmel Controllern zu beginnen. Ein passendes, für Einsteiger geeignetes Buch findest du hier:

http://www.amazon.de/AVR-Hardware-C...2008/ref=sr_1_4?ie=UTF8&qid=1348506768&sr=8-4

Dazu eignet sich ein einfaches Board, welches du entweder selbst lötest (wenn du´s kannst) oder fertig bestückt bestellen kannst:

http://www.pollin.de/shop/dt/MTY5OT..._Evaluations_Board_Version_2_0_1_Bausatz.html

http://www.pollin.de/shop/dt/NTI5OT...MEL_Evaluations_Board_V2_0_1_Fertigmodul.html

Dazu brauchst du dann noch den Programmer:

http://www.reichelt.de/Programmer-E...8AAAIAAAoyU0c51a11430ae1e4d10324fc84c755b5295

und eine Programmierumgebung:
http://www.atmel.com/microsite/atmel_studio6/default.aspx

Das ist die Konfig, mit der ich mich schnell in die Materie eingearbeitet habe. Wenn du schon ein wenig Erfahrung hast, kannst du dir dein Board auch selbst herstellen, wie ich es später getan habe.
https://www.hs-merseburg.de/~8ckaehle/ -->Projekte --> (ganz unten) ATMEGA 16 Programmier und Testboard

Wenn du Hilfe brauchst, kannst du gern ne mail schicken
 
Gewagte Aussage, dass Arduino nur Spielerei ist. Und mit dem schweren zu beginnen, ist wohl sicherlich auch keine sinnvolle Idee. Ein Arduino ist auch nur ein Atmel uController, und ob man diesen mit C und den Atmel Steuerbefehlen programmiert oder Arduino macht keinen Unterschied, man kann auch beides mischen, wenn man möchte.
 
@ ice-breaker

Wenn du einen Controller in C programmieren kannst, kannst du schnell von Controller zu Controller wechseln, auch auf andere Hersteller. Und ja, wenn man sich im professionellen Bereich, meinetwegen auch nur semiprofessionellen Bereich umschaut, dann wirst du da keinen fidnen, der mit der Kindersprache - ist es überhaupt eine Sprache? - nennen wir es mit diesem C-Dialekt einen Controller programmiert.
Arduino ist etwas für Leute, die nun wirklich blutige Anfänger sind. D.h. die kein C können UND noch nie nen
Controller in der Hand hatten. Punkt 1 trifft auf den TE nicht zu.

Bei Arduino lerne ich einfach mal nichts über Controller.

Beispiel (schaltet eine LED ein)
digitalWrite(led, HIGH);

-> ich lerne nichts über Richtungsregister, über Portregister, über Bitmanipulation... All das steckt in irgendwelchen Headerfiles, die das für mich übernehmen.. Völlig unnötig, wenn man bereits C kann...

BTW.: Was bitte sind jetzt Atmel-Steuerbefehle??? Du rutscht jetzt glaub ich in die Assemblerschiene... Das ist nun wirklich nichts für Anfänger...

Hier noch ein kleines Tutorial, welches du lesen solltest, bevor du dich entscheidest Hardware anzuschaffen...
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
 
Zuletzt bearbeitet:
chk1987 schrieb:
Und ja, wenn man sich im professionellen Bereich, meinetwegen auch nur semiprofessionellen Bereich umschaut, dann wirst du da keinen fidnen, der mit der Kindersprache - ist es überhaupt eine Sprache? - nennen wir es mit diesem C-Dialekt einen Controller programmiert.
Wer spricht eigentlich von (semi)professionellem Bereich? Nur du!
xabi hat nur gesagt, dass er sich damit beschäftigen möchte, es kann also genauso gut, bzw. sogar eher, rein hobbymäßig sein. und warum wollte er dafür etwas lernen müssen, was man im (semi)professionellem Bereich macht? Ein Hobby soll schnelle Ergebnisse erzielen, wenn er möchte kann er dann noch immer direkt auf einem AVR arbeiten.

chk1987 schrieb:
Arduino ist etwas für Leute, die nun wirklich blutige Anfänger sind. D.h. die kein C können UND noch nie nen Controller in der Hand hatten. Punkt 1 trifft auf den TE nicht zu.
Arduino ist C! Es ist keine eigene Sprache, es ist genauer gesagt sogar Teile in C++ (String-Klasse)!
So und nun trifft Arduino wieder zu, denn er kann schon C.
Das ist nirgends eine eigene Sprache, die haben eben nur die minimalsten (für Arduino wichtigen) C-Grundlagen da nochmal notiert. Würden sie jedem sagen, dass er erst C lernen soll, dann wäre das Arduino-Projekt nicht so erfolgreich, wie es ist.

chk1987 schrieb:
Bei Arduino lerne ich einfach mal nichts über Controller.

Beispiel (schaltet eine LED ein)
digitalWrite(led, HIGH);

-> ich lerne nichts über Richtungsregister, über Portregister, über Bitmanipulation... All das steckt in irgendwelchen Headerfiles, die das für mich übernehmen.. Völlig unnötig, wenn man bereits C kann...
Er hat auch nicht gesagt, dass er etwas über Mikrocontroller lernen will, sondern sich mit diesen beschäftigen will. Das kann also genauso gut bedeuten, dass er nur eine Steuerung für seine Garage bauen will, und da ist er mit einem Arduino dann eben deulich schneller am Ziel, da er nichts lernen will.
Und selbst wenn er lernen will, ist imho der Arduino sinnvoller. Er kann den Arduino erst "Arduino mäßig" programmieren und dann schrittweise sein Programm ohne die Arduino Library programmieren. Aber er erzielt eben erstmal Erfolge.
 
@ice-breaker

1. Fahr dich mal runter

2. Ich habe nicht behauptet, dass er es professionell machen möchte (ich hab nur gesagt, dass er evtl. lieber den komplizierteren Weg lernen sollte, falls es denn mal in die Richtung gehen sollte --> dazu: siehe Punkt 3)

3. Äußert sich der TE überhaupt nicht mehr
4. Habe ich nur meine Meinung geäußert
5. Hast du ne andere Meinung

6. Ist es sehr wohl nötig, etwas über die Architektur der Controller zu erlernen, weil du sonst nie genau weißt, was du eigentlich tust. Wenn du der Meinung bist, dass du das nicht brauchst, ist das für MICH ok.
Lass mir aber meine Meinung. Bei uns im Studium gab es viele, die die tollsten Sachen auf nem Arduino
gemacht haben. Nen AVR in C programmieren (ohne die Libs) konnten die Jungs dann aber nicht, aufgrund
von Architekturkenntnis-Mängeln.

7. Hat der TE hier genau diesen Thread erstellt um verschiedene Möglichkeiten des Einstiegs zu erhalten.
--> ist doch schön, dass er jetzt zwei Möglichkeiten aufgezeigt bekommen hat
ice-breaker schrieb:
es ist genauer gesagt sogar Teile in C++ (String-Klasse)!

8. ja... ganz toll bei dem geringen Speicher... (zumindest auf nem kleinen Atmel...)

9. fällt mir grad auf, dass du noch nichts brauchbares (für den TE) beigesteuert hast... Schreib doch mal, was er wo bestellen muss, damits mit dem Arduino losgehen kann ;-)
 
Zuletzt bearbeitet:
chk1987 schrieb:
6. Ist es sehr wohl nötig, etwas über die Architektur der Controller zu erlernen, weil du sonst nie genau weißt, was du eigentlich tust. Wenn du der Meinung bist, dass du das nicht brauchst, ist das für MICH ok.
Lass mir aber meine Meinung. Bei uns im Studium gab es viele, die die tollsten Sachen auf nem Arduino
gemacht haben. Nen AVR in C programmieren (ohne die Libs) konnten die Jungs dann aber nicht, aufgrund
von Architekturkenntnis-Mängeln.
Ich habe schon beides gemacht. Und wenn ich für einen Arduino entwickel, dann müsste man das eben nicht können. Das man dann keinen AVR direkt programmieren kann, ist doch selbstverständlich. Das ist wie wenn jemand jahrelang in einer Sprache mit automatischem Speichermanagement dann mit manuellem Speichermanagement scheitert, alles vollkommen normal. Und genau das Beispiel bringst du gerade. Wenn jemand A macht, kann er eben nicht automatisch B.

chk1987 schrieb:
9. fällt mir grad auf, dass du noch nichts brauchbares (für den TE) beigesteuert hast... Schreib doch mal, was er wo bestellen muss, damits mit dem Arduino losgehen kann ;-)
Er kauft sich einen Ardunio, Punkt. Damit ist er genauso weit, wie mit deinen Kaufempfehlungen. Denn das ist ein fertiges Board mit integriertem ISP, also alles was du ihm bereits empfohlen hast.
Und was er sich noch dazukaufen soll, ist ja seine Sache. Ob er ne LED zum an- und ausschalten möchte, oder ein Wlan-Modul oder oder oder.
 
Danke für die Antworten, habe es leider nicht mehr geschafft reinzuschauen.

Ich habe eher in Richtung Arduino gedacht weil ich eben beim Googlen immer wieder darauf gestossen bin. Am Anfang wäre etwas einfaches ja nicht verkehrt und wenn es mir Spass macht kann ich mich in semiprofessionellere Gewässer bewegen.

Angenommen ich will mit Arduino anfangen, lohnt es sich Komplettsets (samt Handbuch, extra Teilen etc.) zu kaufen oder kommt es mich teuerer als wenn ich alles was ich für den Anfang benötige selber kaufe (wobei ich allerdings dann Hilfe bräuchte) ?
 
xabi schrieb:
Angenommen ich will mit Arduino anfangen, lohnt es sich Komplettsets (samt Handbuch, extra Teilen etc.) zu kaufen oder kommt es mich teuerer als wenn ich alles was ich für den Anfang benötige selber kaufe (wobei ich allerdings dann Hilfe bräuchte) ?

Wenn du es wirklich einfach haben willst, dann kauf dir am besten ein Komplettpaket. Damit bist du dann bestens gerüstet. Ausserdem ist im beigelegten Handbuch meist jedes Teil des Pakets komplett beschrieben und Beispiele sind auch dabei.

sowas zB.
http://www.watterott.com/de/Kleines-Arduino-Einsteiger-Set-Boxed
http://www.amazon.de/Fritzing-Start...T7BG/ref=sr_1_1?ie=UTF8&qid=1348597491&sr=8-1

hier mit Buch und vielen Bauelementen http://www.watterott.com/de/Arduino-Einsteiger-Set
obwohl ein Buch eigentlich unnötig ist... Da gibts mehr als genug im Netz

Wenn du die Teile einzeln bestellst wirst du im Vergleich fast nicht günstiger kommen (zum Vergleich Set1)
Arduino einzeln: http://www.amazon.de/Arduino-Uno-Board-REV-3/dp/B006H06TVG/ref=sr_1_3?ie=UTF8&qid=1348597491&sr=8-3
+Zubehör http://www.amazon.de/SainSmart-Prot...=sr_1_4?s=ce-de&ie=UTF8&qid=1348597602&sr=1-4
+Widerstände Leds usw. (ca 5€)
 
Zuletzt bearbeitet:
chk1987 schrieb:
Woher weißt du das? Er fragt ja, ob es etwas gibt, neben Arduino?!?!!

Du hast gefragt, was der Autor sich kaufen soll, wenn er einen Arduino nimmt. Ich habe darauf geantwortet.


@xabi: Was willst du denn machen? Dann kann man dir eventuell besser helfen?
 
Also wie gesagt erstmal irgendwie den praktischen Einstieg finden und dann sehen was ich mit Mikrocontrollern im Allgemeinen machen kann bzw will.
Ich bin ein Fan von learning by doing und will lieber gleich loslegen ohne erst ewig Theorie zu wälzen und mir dann irgendwann was zum Basteln zu holen.
Deswegen habe ich mich noch gar nicht groß informiert was damit alles möglich ist (bis auf Standardsachen wie LEDs blinken, Bewegungsmelder etc.).

Danke für die Links ich werde sie mir mal ansehen.
 
Hallo,

ich habe auch mit dem Pollin Eval Board und dem mikrocontroller.net Tutorial angefangen und kann das nur empfehlen. Programmer hab ich den hier: mySmartUSB light der ist billiger als der von ATMEL.

Ich wollte mich nicht an die Arduino Plattform binden wobei der Einstieg darüber bestimmt etwas schneller gegangen wäre.

Tek
 
Ich hab mir den Thread abonniert, als es noch keine Antworten darauf gab und musste heute mit erschrecken feststellen, dass ihr euch hier auseinander nehmt.

Mich hat der Thread eigentlich ziemlich interessiert, da ich selbst auch einen Einstieg suche. Erste Kontakte mit µC hatte ich an der Hochschule mit Atmel.

Statt euch zu bekriegen, zeigt doch einfach die Möglichkeiten und Alternativen. Lasst jedem seine Vorlieben und ergänzt euer Wissen. Vor- und Nachteile der Möglichkeiten, noch ein paar Sätze in Richtung "Für wen interessant?" oder "Geeignet für" und gut ist das. Dann kann sich der TE selbst ein Bild machen und entscheiden, ggf. nachhaken.

Aber nich so ein kleinkrieg, an manchen Stellen wird schon genug hier rumgetrollt.

Die Links fand ich hilfreich und eine Übersicht, was man braucht.
 
Zurück
Oben