Forum: Mikrocontroller und Digitale Elektronik Anfänger sucht Microcontroller Einstieg


von Martin H. (hayabalooza)


Lesenswert?

Hallo zusammen,

ich suche einen Einstieg in die Microcontroller Programmierung.

Ich bin ausgebildeter Industrieelektroniker, mein Hobby war schon immer 
die Elektrotechnik und Elektronik.

Ich bin beruflich mit der Programmierung von Steuerungen vertraut, 
privat habe ich kürzlich rein aus Interesse jeweils ein Buch über die 
Grundlagen von Visual Basic und C++ gelesen.

Ich würde daher gerne gleich in die Programmierung von Microcontroller 
einsteigen., weiß aber nicht wie. Google bringt mich irgendwie nicht 
weiter.
Ich möchte die MC dazu nutzen, um Spielzeug für meine behinderte Tochter 
zu bauen. Sie liebt leuchtende Sachen, für den Anfang würde ich LED 
Steuerungen programmieren, Blink- / Lauflichter etc.

Die MC sollten daher nicht zu groß sein.

Später würde dann evtl. Sprach Ein- und Ausgabe in Angriff nehmen.

Ich würde mal mit einem Einsteigerpaket anfangen, aber welches wäre das 
richtige ?

Habt ihr mir einen Tipp ?

Vielen dank im Voraus,

Gruß hayabalooza

: Verschoben durch Moderator
von Frank L. (hermastersvoice)


Lesenswert?

für einen schnellen Einstieg eignen sich Arduinos sehr gut. Die sind 
billig zu bekommen, es gibt auch kleine Boards und eine kostenlose 
Programmierumgebung aber für Sprachsteuerung wirds eher nicht reichen.

von Ben (Gast)


Lesenswert?

Martin H. schrieb:
> Google bringt mich irgendwie nicht
> weiter.

na dann ist das Internet nicht so ganz dein Ding. Wenn die Frage ernst 
gemeint ist, fange mit etwas leichtem an z.B. Arduino. Es gibt tausende 
von Videos und Hilfen dazu. Aber wenn du dich im Netz nicht zurecht 
findest, gibt es auch super viele Lieteratur dazu. Maker von der CT ist 
auch super. Hier ein Beispiel für den Einstieg 
https://www.buecher.de/shop/sonstige-themen/make-arduino-special-ebook-pdf/make-redaktion/products_products/detail/prod_id/44503413/

von Jemand (Gast)


Lesenswert?

Hallo

ich nehme an das dein Problem darin liegt das es zu viel Info im 
Internet gibt.

Was willst du denn lernen, was ist dein Ziel?

Arduino als Gesamtsystem wird z.B. aus guten Grund bei so manchen hier 
recht kritisch gesehen, eben weil das System dazu verleiten kann (aber 
ganz bestimmt ist das kein muss) hauptsächlich zu kopieren und 
letztendlich wenig zu verstehen.
Was aber auch in Ordnung ist wenn es nur um das Ergebnis oder "Produkt" 
geht wie es oft im Modellbau, der "Kunst", reinen 
Effektschaltungen,Erweiterung von bestehenden und ähnliches geht - nicht 
jeder hat halt die gleichen Interessen was so manch Vollblut µC Freak 
der schon seit den 80er Jahren dabei ist nicht verstehen will und auch 
nicht erkannt hat das sich das ganze Umfeld nicht nur von der reinen 
Technik sehr stark verändert hat (Preise, Zugänglichkeit, Verbreitung, 
Bekanntheit...).

Aber auch mit den Arduinosystem kann man tief gehend lernen, aber nur 
wenn man halt immer etwas über den Tellerrand (und ins Datenblatt des 
µC) schaut.

Wenn du den µC bis auf das "letzte" Bit verstehen möchtest, irgendwann 
selbst Hardware nutzen willst zu den es kein Bibliotheken gibt, oder 
genau verstehen möchtest was die jeweilige Bibliothek macht (und nicht 
"nur" wie sie genutzt wird) ist zumindest ein klein wenig Assembler 
keine schlechter Einstieg und dann als "Arbeitspferd" halt auch 2019 
immer noch C bzw C++ und natürlich auch das auseinandersetzen mit 
Datenblättern, Busprotokolle usw.

Du solltest dir erst mal klar sein (ist gar nicht so einfach wenn man 
nicht durch Ausbildung oder Job zu einen bestimmten Weg gezwungen wird) 
was du überhaupt willst.
Das zuletzt genannte ist wesentlich anspruchsvoller und anstrengender 
und der Weg wird hart werden - aber auch Spaß machen und schnell zum 
eigentlichen Hobby werden, wobei der "Gefahr" besteht das es sich 
manchmal auch zum Selbstzweck entwickelt - wie halt so ziemlich jedes 
Hobby -
und das man nicht nur in diesen Foren bei Fragen oft angeranzt wird weil 
viele die schon seit den 70er Jahren mit dabei sind "vergessen" haben 
das in diesen Bereich wirklich absolut nichts Selbstverständlich ist und 
dank der Komplexität es immer wieder "dumme" Fragen mit viel zu wenig 
Zusatzinformation geben wird.

von Martin H. (hayabalooza)


Lesenswert?

Hallo zusammen,

vielen Dank für eure Rückmeldungen.

Arduino begegnet einem ständig beim Suchen im Internet.

Er ist mir jedoch von der Bauform her zu groß.

Als Lichtsteuerung in einem Spielzeug, dass eine Neunjährige in der Hand 
hält, geht halt nicht.

Ich hatte bisher noch keinen Arduino, hatte eher den Eindruck, als wäre 
das so ein Gimmick-Teil mit fertigen Funktionen, wusste nicht dass er 
frei programmierbar ist, daher hatte ich eher davon abgesehen.

Wenn ich kleine µC programmieren möchte, muss ich diese bis ins letzte 
Bit verstehen, wie User jemand schon anmerkte.

In diese Richtung solls gehen.

Aber egal, es geht ja nur um den Einstieg in die Programmierung, und um 
den Aufbau und Funktion kennenzulernen.

Ich werde mich mal mit den versch. Arduinos näher beschäftigen.

Gruß Martin

von NichtWichtig (Gast)


Lesenswert?

AVR
AVRTiny + AVRStudio + USB-ISPProgrammer

Die AVRs sind noch überschaubar (im Vergleich zu z.B. STM32) und das 
AVRStudio liefert eine brauchbare C-IDE (ich nutze eine ältere Version)
Die wenigen Projekte die ich noch damit pflege laufen prima.
Und die AVRs sind eigentlich knuffige Racker die in passenden Projekten 
saugut sind.
DIL Gehäuse sind noch locker lötbar, 5V tolerant... gut vorstellbar bei 
dem Ziel


STM32
AtollicStudio + STM32irgendwasCPU + STLink-Clone ist genauso billig, 
wesentlich performanter und komplexer, aber moderner und ... irgendwie 
besser, kann viel mehr als AVR

BluePill ist in Form ein DIL40 und eigentlich ne coole Nummer, ich bin 
gerade dabei mich mit dem Ding an zu freunden, aber eben alles ne Nummer 
mehr/heftiger als AVR.
Dafür belohnen die STMs mit mehr Power und lassen sich von bis 
skalieren.
Investierte Arbeit in dieses Thema ist auch morgen noch brauchbar.

Eval-Boards sind leicht zu bekommen und die IDEs liefern erste 
Demo-Projekte die man direkt bauen und testen kann.

CubeMX liefert die grafische Konfiguration des gewünschten Chips und 
erzeugt das CodeGerüst.. feine Sache das ist.


Ein brauchbares Scope (wenn möglich mit LA) ist bei solchen Arbeiten 
hilfreich.

von Frank L. (hermastersvoice)


Lesenswert?

ein Digispark-Board mit einem Tiny85 drauf ist dir zu gross? Damit kann 
man erstmal anfangen, für nichtmal 1,5€ aus China.
https://img.dxcdn.com/productimages/sku_378845_1.jpg

von leo (Gast)


Lesenswert?


von rummses (Gast)


Lesenswert?

Für die Fehlersuche ist eine serielle Schnittstelle sehr praktisch. Da 
hängt man einen PC mit Terminalsoftware dran und kann durch Textausgaben 
bequem den Programmlauf verfolgen. Bei einem Tiny85 gehen dir ganz 
schnell die Ports aus.

Wie von Leo schon erwähnt, ist der Arduino Nano zu empfehlen. Gibt's in 
der Bucht für unter 4 EUR (deutsche Händler). Gleicher Controller wie 
beim "großen" Arduino (ATmega328P), 4 LEDs zur Fehlersuche, Resettaste, 
Programmieren über die USB-Schnittstelle (habe ich nie ausprobiert) oder 
direkt über den 6-poligen ISP-Programmierstecker, z.B. in C.

Lieber mit einer größeren Plattform anfangen, zur Fehlersuche sind freie 
Ports immer sehr nützlich. Eindampfen des fertigen Projekts auf einen 
kleineren Controller ist leicht.

von Manfred (Gast)


Lesenswert?

Martin H. schrieb:
> Arduino begegnet einem ständig beim Suchen im Internet.
> Er ist mir jedoch von der Bauform her zu groß.

Da wird immer dierse unsägliche Uno genommen, eine selten dusselige 
Bauform. Ich verwende den Nano, der ist kompatibel, aber deutlich 
kleiner.

Wer sich traut, beim Chinesen zu kaufen und in der Lage ist, 
Windows-Treiber von Hand einzurichten, bekommt den um 2 Euro. Bislang 
sind hier alle Uno-Vorlagen auch klaglos auf dem Nano gelaufen.

Ist auch der noch zu groß, nehme ich den ProMini. Der braucht einen 
externen USB-Adapter, verhält sich dann aber ebenfalls kompatibel zu Uno 
/ Nano. Der ProMini hat, weil er kein USB an Bord hat, den Vorteil, das 
er deutlich weniger Strom braucht!

Wenn auch das noch zu groß ist, musst Du richtig einsteigen und den 
blanken Controller einsetzen - der Einarbeitungsaufwand wird deutlich 
größer und hoffentlich erledigt, bevor die Tocher erwachsen ist.

von Ben (Gast)


Lesenswert?

Martin H. schrieb:
> Er ist mir jedoch von der Bauform her zu groß

Dann nimm einfach direkt einen kleinen avr. Den kannst du auch einfach 
mit der Hochsprache Bascom progammieren eine Komplettanleitung als Buch 
mit Beispielen Bsp. http://www.bascom-buch.de

Wenn du aber glich mit Assembler loslegen willst empfehle ich 
http://www.avr-asm-tutorial.net/avr_de/beginner/index.html

Alterniv gibt es auf dieser Seite noch ein Tut für AVR C Hochsprache 
https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Deine Entscheidung.

von Superprofi (Gast)


Lesenswert?

Nimm attiny24A. Sehr guter Einstieg und relativ kleines Handbuch. Wenn 
der irgendwann nicht mehr reicht, nimm einen atmega. Handbuch doppelt so 
dick. Die gibts rauf bis 100 Pins oder vllt sogar mehr.

C oder Assembler? AVR ist ein sehr guter Assembler. Kann man gut von 
Hand programmieren. PIC ist eine Quälerei. Wenn man C nimmt, bekommt man 
davon aber eh nichts mit.

Sonst noch Fragen?

von Joachim S. (oyo)


Lesenswert?

Martin H. schrieb:
> Arduino begegnet einem ständig beim Suchen im Internet.
>
> Er ist mir jedoch von der Bauform her zu groß.
>
> Als Lichtsteuerung in einem Spielzeug, dass eine Neunjährige in der Hand
> hält, geht halt nicht.
>
> Ich hatte bisher noch keinen Arduino, hatte eher den Eindruck, als wäre
> das so ein Gimmick-Teil mit fertigen Funktionen, wusste nicht dass er
> frei programmierbar ist, daher hatte ich eher davon abgesehen.

Ich versuche mal, etwas detaillierter zu erklären, was "Arduino" 
eigentlich ist - und warum das auch für Dein Anliegen sehr gut geeignet 
ist:

Zuerst einmal steht der Name "Arduino" sowohl für Software als auch für 
Hardware.
Die Software, das ist die "Arduino IDE", die man hier:
https://www.arduino.cc/en/Main/Software
herunterladen kann. Das ist eine kostenlose Entwicklungsumgebung, in der 
man in C/C++ Programme programmiert, die auf Arduino-kompatiblen 
Microcontrollern läuft.
Man benötigt diese Arduino-IDE nicht zwingend, um einen 
Arduino-kompatiblen Microcontroller in C/C++ zu programmieren. 
AVR-Microcontroller bspw. könnte man stattdessen z.B. direkt mit dem 
"AVR-GCC"-Compiler in C/C++ programmieren. Stattdessen das 
Arduino-Ökosystem bzw. die Arduino-IDE zu nutzen (die letztlich auch nur 
diesen avr-gcc-Compiler nutzt), hat aber gewisse Vorteile:

- Software, die man mit der Arduino-IDE programmiert, funktioniert 
üblicherweise ohne jede Änderung auf jedem Arduino-kompatiblen 
Mikrocontroller. Wenn Du stattdessen bspw. einen AVR-Mikrocontroller 
direkt per AVR-GCC-Compiler programmierst, wird die Software 
normalerweise nur auf AVR-Mikrocontrollern laufen, und auch da evtl. nur 
auf einigen.
Das ist ein wirklich grosser Vorteil, weil man sich dann nicht 
frühzeitig auf eine bestimmte Mikrocontroller-Architektur festlegen 
muss, bzw. beliebig wechseln kann.

- Man hat Zugriff auf die unzähligen Arduino-Libraries, die es 
ermöglichen, fast jede nur erdenkliche Funktionalität oder Hardware ganz 
leicht zu nutzen. Du willst z.B. etwas auf einem Display anzeigen, einen 
Servo steuern oder WS281x-RGB-LED-Streifen ansteuern? Binde einfach die 
entsprechende Arduino-Library ein, und wenige Zeilen Programmcode 
genügen, um Dein Ziel zu erreichen. Gerade dieser Umstand ist es meiner 
Einschätzung nach, der manche "alte Hasen" verächtlich über Arduino 
reden lässt: So können selbst absolute Neulinge und Kinder binnen 
relativ kurzer Zeit zu durchaus respektablen Ergebnissen kommen, für die 
man in der Vor-Arduino-Zeit erst einmal eine längere mühsame Lernphase 
und viel mehr eigenen Programmcode benötigt hätte.

- Der Einstieg fällt deutlich leichter, weil es zu Arduino unzählige 
Tutorials, Foren usw. gibt

Und dann gibt es noch die Arduino-Hardware. Das sind kleine Boards, auf 
denen ein mit der Arduino-IDE kompatibler Mikrocontroller sowie alle 
weitere nötige Elektronik sitzt, um den Mikrocontroller ganz einfach 
programmieren und mit ihm kommunizieren zu können.
Es gibt mittlerweile unzählige dieser Boards in allen möglichen Grössen, 
mit allen möglichen Mikrocontrollern usw. Diese unterteilen sich in die 
offiziellen Arduino-Boards, die die Arduino-Organisation selbst 
vertreibt, die offiziell unterstützt werden, meist vglw. teuer sind, und 
meist AVR-Mikrocontroller verwenden.
Und dann gibt es Kopien/Nachbauten von anderen Herstellern, die nur 
einen Bruchteil kosten, aber völlig problemlos funktionieren. Und es 
gibt von anderen Herstellern Boards mit Mikrocontrollern wie 
ESP8266/ESP32, die von der Arduino-Organisation offiziell gar nicht 
unterstützt werden, die man aber trotzdem ganz leicht in der Arduino-IDE 
verwenden kann.

Und um nochmal konkret auf das Problem "Sind Arduino-Boards nicht zu 
gross für mein Anliegen?" zurückzukommen:
Zum einen gibt es wirklich auch ganz kleine Arduino-Boards. Gerade der 
von mehreren bereits erwähnte Arduino Nano drängt sich da wirklich auf, 
weil der
- sehr klein
- sehr billig (als Nachbau aus China bereits für unter 2 Euro zu kaufen: 
https://www.aliexpress.com/item/32341832857.html)
- Breadboard-geeignet
ist.

Viel wichtiger aber ist: Auch wenn Du mit Arduino programmierst, musst 
Du in das Spielzeug für Deine Tochter kein komplettes Arduino-Board 
einbauen! Ein Arduino-Board macht es einfach nur besonders leicht, einen 
Mikrocontroller zu verwenden, weil da ausser dem eigentlichen 
Mikrocontroller auch noch andere Elektronik verbaut ist, durch die man 
direkt loslegen kann, ohne seine eigene Schaltung oder gar Platine 
erstellen zu müssen.
Hast Du erst einmal mit der Arduino-IDE ein Programm geschrieben, das 
auf einem Arduino-Board erfolgreich läuft, dann kannst Du Dir auch 
einfach eine eigene kleine Platine erzeugen, das nicht mehr das 
komplette Arduino-Board, sondern nur noch den eigentlichen (winzigen) 
Mikrocontroller verwendet.

von Bernd D. (Firma: ☣ ⍵ ☣) (bernd_d56) Benutzerseite


Lesenswert?

Martin H. schrieb:

> Als Lichtsteuerung in einem Spielzeug, dass eine Neunjährige in der Hand
> hält, geht halt nicht.
>
> Ich hatte bisher noch keinen Arduino, hatte eher den Eindruck, als wäre
> das so ein Gimmick-Teil mit fertigen Funktionen, wusste nicht dass er
> frei programmierbar ist, daher hatte ich eher davon abgesehen.
>
> Wenn ich kleine µC programmieren möchte, muss ich diese bis ins letzte
> Bit verstehen, wie User jemand schon anmerkte.
>
> In diese Richtung solls gehen.
>
> Aber egal, es geht ja nur um den Einstieg in die Programmierung, und um
> den Aufbau und Funktion kennenzulernen.
>

Ich werfe mal Great Cow BASIC in den Ring.
http://gcbasic.sourceforge.net/Typesetter/index.php/Home
Es ist für PIC und AVR der gleiche Source. Der Compiler kennt >2000 PICs 
und AVR.
Es ist frei und hat eine sehr gute umfassende Dokumentation.
Man kann, wenn man denn will es auch benutzen, um Assembler zu verstehen 
und zu verwenden. Notwendig ist es definitiv nicht.
Schau dich einfach mal auf der Homepage um. Bei Fragen stehe ich gerne 
zur Verfügung.

von Jemand (Gast)


Lesenswert?

Hallo

leicht OT aber wenn Arduino als Gesamtsystem ein Thema ist geht es nicht 
ohne:

"Gerade dieser Umstand ist es meiner
Einschätzung nach, der manche "alte Hasen" verächtlich über Arduino
reden lässt: So können selbst absolute Neulinge und Kinder binnen
relativ kurzer Zeit zu durchaus respektablen Ergebnissen kommen, für die
man in der Vor-Arduino-Zeit erst einmal eine längere mühsame Lernphase
und viel mehr eigenen Programmcode benötigt hätte."

Nein, obwohl ich kein "alter Hase" bin und auch fast ausschließlich 
Arduino  nutze, so das "Problem" eben nicht das Neulinge und Kinder 
schnell zu eigenen Ergebnissen kommen, sondern das man dabei nicht viel 
lernt und einen oft und gerne vermittelt wird man könnte Programmieren.
In Wirklichkeit setzt man aber zum Großteil "nur" vorgekaute Beispiele 
und Blöcke mit etwas Software zusammen.
Wenn es nur auf das Ergebniss als Produkt ankommt: Alles i.O. - 
wunderbar, kein Problem.
Aber lernen wie Programmieren funktioniert, wie man selbstständig (!) 
neue Hardware nur mithilfe von Datenblätter und bekannten Busprotokolle 
einbindet, wie man die Timer, Register usw. nutzt und nach seinen 
Vorstellungen manipuliert und so manches andere wichtige mehr was 
zwingend zur µC Programmierung und die richtige Verbindung mit der 
Außenwelt wichtig ist lernt man eben leider nicht wenn man den 
einfachsten Weg geht.

Aber ja, auch unter Arduino als Gesamtes Ökosystem ist richtiges und 
tief gehendes Programmieren und Hardware lernen möglich wenn man nur 
will und die richtigen Quellen nutzt, aber gerade bei den Quellen 
(Büchern, Tutorials, Webauftritten) gibt es sehr viel die sich 
ausschließlich auf die ganz einfachen, vorgekauten (und oft überteuerte 
Hardware) Lösungen beschränken...

Jemand

von Antworter (Gast)


Lesenswert?

Du hast ja schon einige Antworten bekommen.
Jedes Board hat seine Vor- und Nachteile. Eines ist weit verbreitet, das 
andere preiswert, eines mit Basic programmierbar, eines ist gut 
vernetzt, das andere kaum Programme. Jeder von uns hat seine Stärken und 
schwächen.
Es ging mir fast genauso wie dir, viele verschiedene Boards, viel Seiten 
mit Hinweisen usw. Da fällt die Auswahl sehr schwer.
Kann die auch etwas empfehle, nimm ein "modulares Board" und erweitere 
deine Hardware wie es dir gefällt. Lerne von klein bis gross, Erweitere 
von 8 Bit bis zu 32 Bit und kombiniere die Hardware und die Software wie 
es dir gefällt. Es gibt viele Programme dazu und alles gut erklärt. 
Arbeite mit einem Bus und steuere viele LEDs an oder mach eine 
Laufschrift mit Matrix dazu. Das ganze arbeitet mit C.
Schau einfach nach "modularen Board".
Kann die auch das ganze schicken.
LG

von Joachim B. (jar)


Lesenswert?

Manfred schrieb:
> Da wird immer dierse unsägliche Uno genommen, eine selten dusselige
> Bauform. Ich verwende den Nano, der ist kompatibel, aber deutlich
> kleiner.

noch kleiner ist der Mini ohne USB, zum Programmieren nur noch den 
Wandler der DTR mit rausführt.

Noch kleiner sind die
https://www.google.com/search?q=arduino+klein

: Bearbeitet durch User
von hb_5000 (Gast)


Lesenswert?

Hallo
ich empfehle dir PlatformIO
Man kann viele Prozessoren
damit programmieren und testen
https://platformio.org
Viele Grüße aus Franken

von S. R. (svenska)


Lesenswert?

Die meisten Arduinos (also Uni, Pro Mini, ...) sind für Spracheingabe 
und Sprachausgabe nicht geeignet. Dafür bräuchte man etwas 
leistungsfähigeres, z.B. den Arduino Due.

Oder man geht zu den STM32-Discovery-Boards, die gibt es teilweise auch 
in recht kleinen Bauformen.

Davon abgesehen ist die Größe ein schwieriges Argument. Für Kinder 
sollte das Spielzeug lieber etwas größer sein als zu klein, wegen 
Verschlucken. Ich weiß nicht, wie deine Tochter drauf ist. Ein nacktes 
Board mag sie sicherlich nicht haben, also ist das eher eine Frage des 
passenden Gehäuses.

von Joachim S. (oyo)


Lesenswert?

Jemand schrieb:
> Nein, obwohl ich kein "alter Hase" bin und auch fast ausschließlich
> Arduino  nutze, so das "Problem" eben nicht das Neulinge und Kinder
> schnell zu eigenen Ergebnissen kommen, sondern das man dabei nicht viel
> lernt und einen oft und gerne vermittelt wird man könnte Programmieren.
> In Wirklichkeit setzt man aber zum Großteil "nur" vorgekaute Beispiele
> und Blöcke mit etwas Software zusammen.
> Wenn es nur auf das Ergebniss als Produkt ankommt: Alles i.O. -
> wunderbar, kein Problem.
> Aber lernen wie Programmieren funktioniert, wie man selbstständig (!)
> neue Hardware nur mithilfe von Datenblätter und bekannten Busprotokolle
> einbindet, wie man die Timer, Register usw. nutzt und nach seinen
> Vorstellungen manipuliert und so manches andere wichtige mehr was
> zwingend zur µC Programmierung und die richtige Verbindung mit der
> Außenwelt wichtig ist lernt man eben leider nicht wenn man den
> einfachsten Weg geht.

Ich wollte keineswegs behaupten, dass was ich geschrieben habe der 
einzige Grund ist, warum manche auf Arduino schimpfen. Was Du da 
schreibst ist Alles völlig zutreffend, ich stimme Dir da in jedem Punkt 
grundsätzlich zu.

Ich wollte lediglich meine persönlichen Eindruck mitteilen, dass manche 
"alte Hasen" glaube ich auch deshalb ein wenig auf Arduino schimpfen, 
weil es da halt ein Kinderspiel ist, mit einem Mikrocontroller binnen 
Minuten erste kleine Erfolge zu haben - während man selbst in der 
"Vor-Arduino-Zeit" sich erst einmal mühsam Stück für Stück in diverse 
Sachen einarbeiten und Grundlagen lernen musste, bis man bspw. in der 
Lage war, einen Servo oder Motor zu steuern oder gar einen Text auf 
einem grafischen Display anzuzeigen.

Mir jedenfalls geht es ein wenig so - wenn ich an meinen Einstieg in die 
Mikrocontroller-Welt zurückdenke, wie ich da in wochenlanger Arbeit 
mühsam Informationen zusammengetragen habe, mein erstes Board entworfen, 
geätzt und zusammengelötet habe und dann stolz wie Oskar war, als 
irgendwann endlich meine erste LED blinkte... Da bin ich durchaus ein 
klein wenig neidisch, wie schnell, einfach und billig das im Vergleich 
dazu heutzutage dank Arduino geht. Aber ja, dafür kann ich mir natürlich 
auch sagen: Naja, dafür hast Du damals dabei auch diverse Sachen 
gelernt, mit denen sich viele Arduino-Einsteiger nie beschäftigt haben, 
einfach weil sie es bislang nicht benötigt haben.

von MeierKurt (Gast)


Lesenswert?

Jemand schrieb:

> Aber lernen wie Programmieren funktioniert, wie man selbstständig (!)
> neue Hardware nur mithilfe von Datenblätter und bekannten Busprotokolle
> einbindet, wie man die Timer, Register usw. nutzt und nach seinen
> Vorstellungen manipuliert und so manches andere wichtige mehr was
> zwingend zur µC Programmierung und die richtige Verbindung mit der
> Außenwelt wichtig ist lernt man eben leider nicht wenn man den
> einfachsten Weg geht.
>
Der TE wollte doch erstmal nur einsteigen.
Dazu bietet Arduino vorerst alles, was man als Einstiegsdroge braucht.
Man hat mit kleinen Dingen schnelle Erfolge mit den vorgefertigten 
Beispielen und hat genug "Futter", um in die Materie tiefer einzudringen 
- oder aufzuhören, falls es dann doch nicht so sein Ding ist.
Der finanzielle Aufwand bleibt dabei übersichtlich.

Der Trick, um erfolgreich autodidaktisch unterwegs zu sein besteht ja 
nunmal darin, in kleinen Schritten sich von Teilerfolg zu Teilerfolg 
durchzuhangeln. Die Betonung liegt auf klein.

Programmieren lernen im Sinne des Verstehens wie man eine Aufgabe 
angeht, analysiert und letzendlich umsetzt ist dabei ein weites Feld - 
man eignet sich Denkweisen an, die dann eher weniger von der verwendeten 
µC-Plattform abhängig sind.

von Martin V. (oldmax)


Lesenswert?

Hi Martin
Grundlagenkenntnisse denke ich, sind ausreichend vorhanden und wenn ich 
dich richtig verstehe, kannst du auch programmieren. Vielleicht ist dann 
folgende Empfehlung schon langweilig, doch darin erkennst du das 
Potential der Controller für Hobbybastler. Und eine Anleitung von Grund 
auf für Anfänger. Auch hier lernst du zuerst VB anzuwenden und ein 
Programm zu schreiben. Das ist dem Ansatz geschuldet, möglichst ohne 
Kosten in die Programmiertechnik einzusteigen, bevor Geld in die 
Beschaffung von elektronischen Bauteilen fließt. Wer dabei feststellt, 
das ihm programmieren nicht liegt, hat nur Zeit investiert. Danach wirds 
dann auch u.U. teuer. Dieses „selbstgeschriebene“ Programm schafft dir 
den Zugang in einen µC zur Laufzeit. Abgewandelt hast du die Möglichkeit 
mit eigenen Applikationen Datenerfassung mittels µC umzusetzen und auch 
umgekehrt mit PC deine Basteleien zu steuern. Ein anderer Teil befaßt 
sich mit der Programmierung der Controller in Assembler. Für dich 
ähnlich einer Anweisungsliste (AWL). Da sind dann nicht nur die 
Controllerfunktionen soweit erforderlich für die Übungen beschrieben, 
sondern auch hier wieder schrittweise der modulare Aufbau einer 
Digitaluhr. Auch daraus lassen sich viele eigene Ideen ableiten. Hier 
mal der Link zur kostenlosen Nutzung :
https://www.makerconnect.de/media/user/oldmax/PC%20und%20Mikrocontroller%20Teil%201%20und%202%20Stand%2026.07.2019.pdf

Vielleicht hilft es dir weiter. Ich habe mit den Atmels angefangen, aber 
natürlich sind andere genauso gut und werden auch in den Foren 
unterstützt.
Wenn's dir gefällt, würd ich mich über eine Rückmeldung freuen.
Gruß oldmax

von Bernd (Gast)


Lesenswert?

Im EEV-Blog gibt's einen Thread mit lustigem Titel 
(why-arduino-users-so-agressive)

https://www.eevblog.com/forum/microcontrollers/why-arduino-users-so-agressive/

von nickm (Gast)


Lesenswert?

Ich würde mir ein Development Board besorgen. Z.B. von Microchip (dann 
ist auch der Atmel vs. PIC Grabenkampf erledigt).
Erfordert aber etwas Zeit sich das Richtige rauszusuchen. So ist das 
halt, wenn man keinen vorgekauten Einheitsbrei a la Arduino haben will.

Von Arduino bin ich gänzlich geheilt seit ich einem Freund seine 
angefangene Terrarium-Steuerung zu Ende programmiert habe. Für mich ist 
das alles durchgängig Müll. Von der IDE angefangen bis zu den jämmerlich 
programmierten Libraries. Nicht zu vergessen das "C++" das erstens sowo 
nichts verloren hat und zweitens bis zur Unkenntlichkeit 
zusammengestrichen ist.

Beim Arduino kann man eines lernen: Die Generation der "Maker" sind 
überwiegend Blender die irgendwas irgendwie zusammelnfummel, so dass es 
dann manchmal halbwegs funktioniert.

Ja, ist halt so. Programmieren muss man lernen. Und das dauert bis man 
alle dummen Fehler durch hat. Die dummen Fehler Anderer zu kopieren 
bringt nicht weiter.


Gruß,
Nick

von Jemand (Gast)


Lesenswert?

Hallo

"Da bin ich durchaus ein klein wenig neidisch, wie schnell, einfach und 
billig das im Vergleich dazu heutzutage dank Arduino geht. Aber ja, 
dafür kann ich mir natürlich auch sagen: Naja, dafür hast Du damals 
dabei..."

Eine zu tiefst und absolut verständliche Verhaltensweise, die ja auch 
überall anders und in beiden Richtungen gilt siehe z.B. Führerscheine, 
Wehrpflicht, Reisemöglichkeiten und vieles andere mehr.
Solange man nur ein wenig neidisch ist und nicht diejenigen anfeindet 
die es heute einfacher haben (Wehrpflicht, µC Einstieg...) oder auch 
früher einfacher hatten (Führerschein, Abfallentsorgung...) ist alles 
vollkommen in Ordnung - kritisch wird es halt bei den Zeitgenossen die 
anderen  nicht das gönnen was sowieso nicht veränderbar ist 
(Vergangenheit ist nun mal vorbei) bzw. was einfach früher nicht gegeben 
war, oder die herum heulen wenn ehemals mit viel Anstrengung erworbenes 
Wissen und Fähigkeiten heute nichts mehr Wert sind, teilweise sogar 
gesellschaftlich "verboten" oder besser unerwünscht ist.

von Roland D. (roland_d829)


Lesenswert?

ich würde dir die mbed (https://www.mbed.com/en/) plattform zum Einstieg 
empfehlen.
Ein guter kompromiss zwischen leichtem einstieg und schnellen 
erfolgserlebnissen und um so tiefer man drin ist um so "profissioneller" 
ist es.

die boards und MCUs sind deutlich leistungsfähiger und günstiger als die 
Arduinos. Und es gibt sogar eine IDE+Compiler im Browser

von svensson (Gast)


Lesenswert?

Moin,

ich weiß nicht, was hier manche für eine Weltsicht haben.

Also ICH hätte mir gewünscht, daß es den Arduino schon vor 25 Jahren 
gegeben hätte. Damals habe ich eine Temperatursteuerung mit einem 89C52 
gebaut, die mich Wochen gekostet hat. Mit einem Arduino baue und 
programmiere ich das in wenigen Stunden, dafür aber mit LCD-Display 
statt 7-Segmentanzeige.

> IDE, Konzept

Die Arduino IDE funktioniert zunächst einmal ziemlich gut. Sie läßt sich 
auch sehr leicht um andere Hardware und Libraries ergänzen. Für 
speziellere Aufgaben (z.B. Fuses setzen oder HVP) nutze ich dann noch 
ein STK500.

Assembler schadet nicht, ist aber auch nicht zwingend erforderlich, da 
nahezu alles in C/C++ ebenso möglich ist.

Man darf auch nicht vergessen, daß die Arduinos ursprünglich für die 
Erwachsenenbildung entworfen wurden und nicht für Elektroniker, die 
damit hauptberuflich arbeiten. Und da müssen nun einmal in 
überschaubarer Zeit Ergebnisse erzielt werden können.

Die Libraries sind von ... bis, d.h. manche sind professionell, manche 
dilettantisch. In einer offenen OpenSourceSzene läßt sich das nicht 
vermeiden.

> Beim Arduino kann man eines lernen: Die Generation der "Maker" sind
> überwiegend Blender die irgendwas irgendwie zusammelnfummel, so dass es
> dann manchmal halbwegs funktioniert.

Na ja, das dürfte für die ganze Raspi&Co-Fraktion noch viel mehr gelten, 
denn wer versteht heute noch ein Betriebssystem komplett?

> Bauform
Mein heimlicher Liebling ist der Arduino Nano, der auch komplett auf 
Platinen übernommen werden kann. Der bringt schon Spannungsregler, Quarz 
und USB-Konverter fertig verdrahtet mit; für einen Preis um die 5€ kann 
man da kaum die Einzelteile bekommen.
Noch kleiner wäre der digispark stamp (ist aber ein Klon)
https://www.reichelt.de/digispark-mini-attiny85-usb-mit-stiftleiste-digispark-mini-p192128.html
(Mit genau diesem bin ich zu der Arduinowelt gekommen.)

> Wenn auch das noch zu groß ist, musst Du richtig einsteigen und den
> blanken Controller einsetzen - der Einarbeitungsaufwand wird deutlich größer

Unsinn. Ich beschäftige mich erst seit einem Jahr mit den Arduinos und 
habe jetzt die erste Schaltung mit einem Tiny84 auf Lochraster gebaut. 
War überhaupt kein Problem.

von Stefan F. (Gast)


Lesenswert?

Ich habe zu dem Thema mal ein (kostenloses) Buch veröffentlicht: 
http://stefanfrings.de/mikrocontroller_buch/index.html

Vielleicht gefällt es Dir, oder die anderen Infos auf der selben Seite.

von Martin H. (hayabalooza)


Lesenswert?

Hallo zusammen,

vielen Dank für die vielen Tipps und Hinweise....jetzt bin ich 
erschlagen.

Vielleicht versteht User Ben aus #3 mich jetzt vielleicht....

Werde mich mal mit jedem eurer Tipps auseinandersetzen, aber nebenbei 
mit einem Arduino als Einstieg anfangen.

Der Invest ist ja überschaubar....

Vielen Dank euch allen ! (DaumenHochSmiley)

Gruß Martin

von Stefan F. (Gast)


Lesenswert?

Martin H. schrieb:
> Werde mich mal mit jedem eurer Tipps auseinandersetzen, aber nebenbei
> mit einem Arduino als Einstieg anfangen.

Ich bin zwar kein Fan von der Arduino Software, aber ich nutze 
insbesondere Arduino Nano Module sehr gerne. Für finale Schaltungen kann 
man danach mit relativ geringem Aufwand auf kleinere AVR Controller 
wechseln, wobei ich der Meinung bin, dass der ATmega328P im PDIP Format 
schon sehr angenehm zum Basteln ist.

von Ben (Gast)


Lesenswert?

Martin H. schrieb:
> Vielleicht versteht User Ben aus #3 mich jetzt vielleicht....

Alles gut ;) habe ja  in #11 noch Alternativen gezeigt.  Gut ist auch 
etwas zu wählen, wo es eine gute Community gibt.

von Manfred (Gast)


Lesenswert?

Joachim B. schrieb:
>> Da wird immer dierse unsägliche Uno genommen, eine selten dusselige
>> Bauform. Ich verwende den Nano, der ist kompatibel, aber deutlich
>> kleiner.
>
> noch kleiner ist der Mini ohne USB, zum Programmieren nur noch den
> Wandler der DTR mit rausführt.

Arduino.cc sagt zum Mini "This is a retired product."

Wer meinem Text vollständig gelesen hat:
Manfred schrieb:
> Ist auch der noch zu groß, nehme ich den ProMini. Der braucht einen
> externen USB-Adapter, ...

von Manfred (Gast)


Lesenswert?

svensson schrieb:
> Also ICH hätte mir gewünscht, daß es den Arduino schon vor 25 Jahren
> gegeben hätte. Damals habe ich eine Temperatursteuerung mit einem 89C52
> gebaut, die mich Wochen gekostet hat.

Kaum vorstellbar, wenn wir den damals gehabt hätten. Ich denke da an ein 
Projekt mit 4 Eurokarten voll CMOS und Codierbrückenfeldern und andere 
Logikgräber. Vielleicht aber auch gut so, ich habe Grundlagen verstanden 
und es war genug Arbeit für alle Kollegen vorhanden.

Erste Gehversuche mit einem Prozessor, da hat es Tage gedauert, an einem 
6504-Board (EMUF) eine LED zum Blinken zu bekommen, danach habe ich dann 
eine eigene Eurokarte mit dem 6502 layoutet.

Später hatte ich 68HC805-Controller, da habe ich in einer Anwendung 
Stunden- oder Tagelang mit dem Datenbuch Zyklen gezählt, weil meine 
Daten zu schnell kamen. Wir hatten uns damals eine kleine Leiterplatte 
machen lassen, etwa in der Größe des späteren Uno und diese in diversen 
Projekten verbaut. Im Gegensatz zu heute kannte ich Register und Timer.

> Mein heimlicher Liebling ist der Arduino Nano, der auch komplett auf
> Platinen übernommen werden kann. Der bringt schon Spannungsregler, Quarz
> und USB-Konverter fertig verdrahtet mit; für einen Preis um die 5€ kann
> man da kaum die Einzelteile bekommen.

Der Nano steckt bei mir in eingen Bastelprojekten, der passt sauber auf 
Lochraster. Das Spannungsreglerchen umgehe ich meistens, wenn ich 5 Volt 
für meine Peripherie brauche, erzeuge ich mir die lieber selbst.

>> Wenn auch das noch zu groß ist, musst Du richtig einsteigen und den
>> blanken Controller einsetzen - der Einarbeitungsaufwand wird deutlich größer
> Unsinn. Ich beschäftige mich erst seit einem Jahr mit den Arduinos und
> habe jetzt die erste Schaltung mit einem Tiny84 auf Lochraster gebaut.
> War überhaupt kein Problem.

'richtig einsteigen' ist sicherlich auslegbar. Nehme ich einen Nano, 
habe ich fertige Hardware und den Bootloader drauf: USB dran, 
programmieren, fertig.

Wenn ich selber baue, muß ich mich erstmal um die Peripherie kümmern, 
Takt, Stromversorgung. Zum Programmieren ISP, ich habe keinen USB für 
debugging ... das sehe ich schon als zusätzliche Hürden.

von spess53 (Gast)


Lesenswert?

HI

>'richtig einsteigen' ist sicherlich auslegbar. Nehme ich einen Nano,
>habe ich fertige Hardware und den Bootloader drauf: USB dran,
>programmieren, fertig.

Was ist damit fertig? Ein blanker Controller, ohne alles? Was soll der 
anstellen?

MfG Spess

von Stefan F. (Gast)


Lesenswert?

spess53 schrieb:
> Was ist damit fertig? Ein blanker Controller, ohne alles? Was soll der
> anstellen?

Damit hast du schon mal die ersten 2 Monate und 500 DM übersprungen 
(verglichen mit den 90er Jahren).

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