Forum: Mikrocontroller und Digitale Elektronik Arduino oder


von Irgendwer123 (Gast)


Lesenswert?

Guten Tag,
Ich lese hier öfter mal mit und kann mir  dadurch auch sehr gut Wissen 
aneignen. Jetzt hätte ich auch mal eine Frage, ich hoffe ihr könnt mir 
helfen.

Ich möchte in die Welt der Mikrocontroller einsteigen. Ich bin 14 Jahre 
alt und beherrsche Python (halbwegs gut) , ein wenig C(viel leider 
wieder verlernt) und Java (will ich unbedingt vertiefen).
Also meine programmier und Informatik  Kenntnisse im allgemeinen sollten 
ausreichen.
Ich kann schwer beurteilen ob ich mich mit Elektronik auskennen, 
einerseits habe ich schon einige eigene Schaltungen umgesetzt (eher 
kleinere Sachen -> leider wenig Zeit ) und auch viel darüber gelesen, 
unter anderem auch ein Buch, andererseits fehlen mir glaube ich 
teilweise Grundlagen der Analogtechnik. zB OPamps sind mir immer noch 
ein kleines Rätsel...

Ich bin mir daher nicht sicher welches Ev Board ich mir kaufen soll. 
Arduinos sind zwar vielseitig, aber ich habe die Angst, dass ich mir da 
vielleicht was falsches angewöhne (ich habe gelesen, dass da angeblich 
einige Unterschiede in der Anwendung zu anderen, gebräuchlichen 
Mikrocontrollern bestehen).

Welches Board würdet ihr mir empfehlen, wenn der Preis eine 
untergeordnete Rolle spielt? Ich hätte gerne was, das auch wirklich in 
Geräten zur Anwendung kommt, ich will nicht ewig auf einem Arduino 
gefangen sein und die LEDs blinken lassen ;)

Ich würde auch einen rohen Chip nehmen, dann bräuchte ich halt einen 
"Programmieradapter", stimmt das soweit?

Danke schon mal!
Gruß aus Österreich

von Melder (Gast)


Lesenswert?

Mit Plasteschaufelchen und Plasteeimerchen im Sandkasten lernt man 
nichts.
Das hast du schon gut erkannt.

> Ich hätte gerne was, das auch wirklich in Geräten zur Anwendung kommt

Da machst du mit einem "kleinen" ARM nichts verkehrt.
Aber auch die kleinen sind so komplex, dass du mehrere Wochen
mit dem Lesen der Datenblaetter und Architekturbeschreibungen
und dem Einarbeiten in die Benutzung von Compiler, Assembler
und Linker zu haben wirst.

Die Nucleoboards von ST haben "Programmieradapter" schon dabei.
Und fuer den "kleinen" STM32F103 gibt es auch ein Board.

> einen rohen Chip nehmen

Wenn du 0.5/0.8 mm von Hand loeten willst. Das kannst du spaeter
immer noch ueben...

von Irgendwer123 (Gast)


Lesenswert?

Hallo, danke für deine  Antwort.
An die Boards von ST hab ich schon gedacht, danke dass du sie erwähnt 
hast.
Gut so ein kleiner ARM ist mal was für die Ferien :D


Das mit rohem Chip hab ich ein bisschen schlecht formuliert, ich meinte 
zB den Esp32, den gibt es ja auch "roh" zu kaufen.

Zählt ein ARM Cortex m7 Board von ST auch zu den komplizierten (wie von 
dir beschrieben)?

Danke
Gruß

Ps: mein kleinster SMD war bisher 0402 :)

von Melder (Gast)


Lesenswert?

> m7

Backe erstmal kleine Broetchen.
Fuer den Anfang waere ein m0/m0+ (F030/L053) da eher was.

Achte darauf, den Controller selbst kennen zu lernen.
Das geht, wenn sich auf Referenzhandbuch und Register beschraenkt.

Was nicht ausschliesst, dass man sich ansieht wie das in
Beispielen geloest wird.


Hmm der ESP32. Man zeige mir mal ein Produkt, in dem der
wirklich im Einsatz ist. Wenn Wifi oder BT gebraucht werden,
gibt es zahlreiche Chipsaetze die auf das "allernoetigste"
komprimiert, diese Funktionen weitaus einfacher bereitstellen.
Fuer die gibt es, wenn ueberhaupt, dann nur teure Evalkits
und mit der dann auch nur genau die spezielle Funktion
evaluiert werden kann. Und fuer den Markt wird eher mit
genau solchen Spezialisten (z.B. der BCM2042) entwickelt,
als dort einen eher "generischen" und damit teuren Chip
zu benutzen.

von Irgendwer123 (Gast)


Lesenswert?

Danke, ich werde mich an deinen Tipp halten.
Genau das will ich, ich will den Controller genau kennenlernen. Am 
besten was weit verbreitetes, auf dem man gut aufbauen kann.
Ich brauche kein Bluetooth oder WiFi.

Würdest du mir eher zum m0 oder m3 raten?
Ich will schon was lernen und lese auch gerne ein langes Handbuch 
darüber.
In welcher Sprache programmiere ich dann so einen m0/m3 usw. eigentlich?

Ich will das absolut beste für meine Zwecke, aber nichts über 
kompliziertes.
Der Preis spielt wie gesagt keine Rolle.

Wie meinst du eigentlich das mit:Referenzhandbuch und Register 
beschränkt?

Danke nochmal, dass du mir hilfst.
Gruß

von Andreas R. (daybyter)


Lesenswert?

Schau doch mal nach den stm32 blue pill Boards. Da bekommst Du für 
kleines Geld eine Arm mcu, kannst mit stm32duino und später auch bare 
metal coden.
Kauf Dir ein Steckbrett in China und evtl ein Starterset mit LEDs usw.
Du lässt erstmal ne LED blinken, hast Dein Erfolgserlebnis und machst 
danach komplexere Projekte.

von Irgendwer123 (Gast)


Lesenswert?

Hallo, danke für deine Antwort.
Ein Steckbrett habe ich bereits (LEDs liegen immer wo herum :D) .
Ich möchte wie ich schon schrieb unbedingt was haben, auf dem ich 
aufbauen kann, ein Arduino scheint mir da nicht das richtige zu sein.
Ich habe mich vielleicht ein bisschen zu unwissend dargestellt. Ich weiß 
schon ein bisschen was über Elektronik, und Informatik ist sowieso mein 
halbes Leben :)
Das Board gefällt mir, der Preis ist ja wirklich nichts.
Denkst du, dass ein m3 das richtige fürn Anfang ist?

Gruß

von Nico S. (longri)


Lesenswert?

Hallo Irgendwer...,

der Einstieg in ARM ist schon der richtige Weg. Auch ich würde den Dir 
empfehlen. Das Problem ist das der Einstieg sehr arbeitsintensiv ist. 
Der Vorteil ist das du dann irgendwann richtig programmieren kannst. 
Aber der Vorschlag mit der "BluePill" ist zum Anfang gut.

Vergesse ganz schnell mit VS-Code oder anderen IDEs Arduino-like C auf 
dem STM32 o. Ä. zu programmieren. Damit lernst du weder C neu, noch C++ 
oder andere. Wenn du richtig auf der Hardware programmieren möchtest 
dann eben mit etwas richtigem.

von Melder (Gast)


Lesenswert?

Bevor du hier weiter im ungewissen stocherst wie viel zu lesen ist:

- STM32F103 Datasheet
- STM32F103/F107 RM0008 Reference manual
- STM32F103/F107 PM0056 Programming manual
- ARM Cortex-M3 Devices Generic User Guide
- ARM Cortex-M3 r2p0 Technical Reference Manual
- STDLIB UM0427 User manual

dazu dann noch die Dokumentation des Compilers, Assemblers und Linkers.
Was in den meissten Faellen wohl auf GCC, GAS und LD
hinauslaufen wird.

Besorg dir das alles erstmal. Das sind >2000 Seiten.
Die muss man auch nicht nur lesen, sondern auch verstehen.

Und belasse es fuer den Anfang bei einem Nucleoboard.
Schon weil da der Programmier-/JTAG-Adapter schon dabei ist.
Wenn damit alles funktioniert kann man ueber Bluepillboards
nachdenken.

Und eine gewisse technische Ausstattung ist auch erforderlich
wenn man nicht nur mit LEDs blinken will.

- Oszi
- Logicanalyzer

von Irgendwer123 (Gast)


Lesenswert?

Hallo, danke auch für deine Antwort.
Ja, ich will gerne viel dafür tun, das stört mich nicht.

Welche IDE würdest du mir für zb die blue pill empfehlen?
Ich programmiere momentan Python (das Buch von Michael Kofler hab ich 
schon komplett gelesen und auch verstanden und alles ausprobiert) in 
pycharm von jetbrains. Also kanns ruhig professionell aussehen, ich bins 
gewohnt :)
An uCs interessiert mich vor allem die Verbindung zwischen Informatik 
und Elektronik.
Gruß

von Irgendwer123 (Gast)


Lesenswert?

@Melder
Danke für die Links, morgen schau ich mir das ganze mal an.
Also das nucleo m3 sollte ich nehmen meinst?
Oszi hab ich schon eines. Ein Tektronix 2235 mit 100 MHz.
Einen Logicanalyzer muss ich mir noch kaufen, hab aber schon Zugriff auf 
einen (in einem Hackerspace).
Gruß

von Timo N. (tnn85)


Lesenswert?

Irgendwer123 schrieb:
> Arduino scheint mir da nicht das richtige zu sein.

Warum nicht? Gerade wenn eine µC-Architektur es auch mit Arduino Plugin 
gibt, sollte man sie näher ansehen. Das bedeutet nämlich dann im 
Allgemeinen, dass die Architektur weit verbreitet ist.
Ich finde Arduino abstrahiert mehr (als bare C oder Assembler). Das ist 
leider eine Notwendigkeit, auf die wir Menschen mit zunehmender 
Innovation angewiesen sind. Wir können uns nicht nicht bei jeder 
Technologie bis auf die Grundlagen bilden und dann noch Zeit finden, 
vernünftige Produkte zu entwickeln. An einer Stelle müssen wir 
abstrahieren.

Arduino is ja auch keine Art von µC, sondern nur eine Plattform. Wenn 
von Arduino Hardware gesprochen wird, sind im Allgemeinen darunter die 
Atmel (oder mittlerweile Microchip) AVRs 8bit Mikrocontroller gemeint, 
aber dies nun auch nicht mehr zwingend. Das liegt einfach nur daran, da 
mit den AVRs 2005 alles mit Arduino angefangen hat.
Alle µC, die sich mit Arduino programmieren lassen, lassen sich mit 
ihrere jeweiligen Toolchain vom Hersteller des µC auch direkt mit C / 
Assembler programmieren.
Deswegen kannst du mit Arduino von AVR 8-bittern, über ARM-Architektur 
basierten STM32 und Tensilica XTensa-basierten ESP32  32-bittern alles 
etwas abstrahierter programmieren (was dann auch wieder andere Nachteile 
hat).
Von "falsch angewöhnen" würde ich bei Arduino nicht sprechen.

Irgendwer123 schrieb:
> Ich möchte in die Welt der Mikrocontroller einsteigen. Ich bin 14 Jahre
> alt und beherrsche Python (halbwegs gut) , ein wenig C(viel leider
> wieder verlernt) und Java (will ich unbedingt vertiefen).

Alle Achtung. Respekt.

Irgendwer123 schrieb:
> In welcher Sprache programmiere ich dann so einen m0/m3 usw. eigentlich?

Je nach Bedarf, aber in >95% der Fälle wird C/C++ verwendet.

Melder schrieb:
> Hmm der ESP32. Man zeige mir mal ein Produkt, in dem der
> wirklich im Einsatz ist.

Ich glaub im Shelly wird zumindest der ESP8266 eingesetzt.
Also ich würde mal frech behaupten, dass ESP8266 / ESP32 in so Consumer 
Geräte IoT Startups auch schon mal eingesetzt wird. Ob das dann so 
sicher und zuverlässig ist, ist ne andere Frage. Die Toolchain ist 
einfach noch nicht so ausgereift um das professionell einzusetzen.

ESP32 und ESP8266 sind bis jetzt zumindest eher noch im Bastlerbereich 
zu finden.

Für mich stellt sich immer noch die Frage: Was willst du damit machen 
oder was ist genau dein Ziel?
Dieses "ich will genau den richtigen µC" lernen gibt es nicht. Es gibt 
immer nur den richtigen µC für die jeweilige Anwendung.
Wenn du 1 000 000 000 Geräte mit sehr eingeschränkter Funktionalität 
herstellen willst, nimmst du einen Padauk für 2-3 cent/Stk.
Wenn es ein System ist, in der du viel Funktionalität hast, nimmst du 
einen teuren ARM Cortex M7 basierten.

Also nochmal die Frage: Was willst du machen? Du brauchst am Anfang 
dringend ein Projekt, dass dich am Ball hält und an dem du lernen 
kannst.

von Melder (Gast)


Lesenswert?

> abstrahiert mehr

Wenn man den Umgang mit Controllern lernen will, sollte man
wenigstens eine Controllerfamilie in allen Aspekten kennen
lernen.

Und eben nicht nur irgendwelche abstrahierten Layer die zum
Verstaendnis eher genau gar nichts beitragen.
Damit bliebe man nur im Sandkasten bei Plasteschaufel und
Plasteeimerchen.

von Stefan F. (Gast)


Lesenswert?

Mit Arduino liegst du für den Anfang gar nicht falsch. Denn dazu gibt es 
fertige preisgünstige Module die direkt von der Entwicklungsumgebung 
unterstützt werden. Die Entwicklungsumgebung ist dazu noch ziemlich 
deppensicher aufgebaut, das fängt schon bei der Erstinstallation an.

Irgendwann wird dich der schlichte Editor nerven, spätestens dann wenn 
Dir andere Entwickler die zahlreichen Hilfsfunktionen ihrer 
Entwicklungsumgebung demonstrieren. Kein Problem: Arduino kann man mit 
anderen Entwicklungsumgebung kombiniert nutzen.

Irgendwann werden dich die Einschränkungen nerven, die sich aus dem 
Arduino Framework ergeben. Am Anfang ist das noch eine tolle Sache, weil 
es den Einsteig sehr vereinfacht. Aber irgendwann will man halt doch mal 
den Motor von innen sehen und daran herum schrauben. Das ist der Moment, 
wo du dich wahrscheinlich von der Arduino IDE trennen wirst, um deine 
vorhandenen Module "bare-metal" zu programmieren. Auch das geht ohne 
Probleme.

Von da an ist der nächste Schritt zum nackten Mikrocontroller sehr 
einfach.

Was die Modul-Auswahl angeht, kann ich Dir für den Anfang "Arduino Nano" 
empfehlen, weil sie auf Streckbretter passen und den gleichen 
Mikrocontroller haben, wie der größere Arduino Uno. Sie sind lediglich 
kompakter gebaut.

Nach heutigem Kenntnisstand würde ich diesen Weg empfehlen.

Alternativ: Falls du direkt mit einer Profi-IDE und nackten Chips 
bare-metal anfangen willst, könnte mein Buch für dich hilfreich sein: 
http://stefanfrings.de/mikrocontroller_buch/index.html

Man kann auch direkt mit 32bit einsteigen. Die 32bit an sich sind nicht 
komplizierter, als 8bit Programmierung. Aber alle 32bit Mikrocontroller 
haben viel mehr Funktionen. Die Menge dieser Funktionen macht sie 
erheblich komplexer in der Anwendung. Wenn du der Meinung bist, ein ganz 
harter kerl zu sein, der sich nicht davor scheut, 200 Seiten lesen zu 
müssen bevor die erste LED blinkt, dann (und nur dann) solltest du den 
Einstieg mit ARM Controllern wagen. Auch dafür habe ich eine Anleitung 
geschrieben: http://stefanfrings.de/mikrocontroller_buch2/index.html 
Aber sei gewarnt: Die Sachlage wird dort stark vereinfacht dargestellt. 
Wenn du mit dem Buch durch bist, hast du mal gerade an der Oberfläche 
der Chips gekratzt. Bis du alle Funktionen erforscht hast, wirst du 
mindestens 40x so viel lesen müssen.

Da sowohl die Arduino Module als auch die ARM Controller mit dem gcc 
programmiert werden (können), ist ein schrittweiser Aufstiegt absolut 
sinnvoll. Was du beim Umgang mit Arduino lernst, wirst du auch bei 32bit 
ARM nutzen.

Das ist so ein bisschen wie 20€ Schul-Taschenrechner aus der 10, Klasse 
versus 200€ Rechner für Mathe-Studenten. Nur dass die ARM Controller gar 
nicht teurer sind. Aber komplexer.

von Stefan F. (Gast)


Lesenswert?

Melder schrieb:
> Mit Plasteschaufelchen und Plasteeimerchen im Sandkasten lernt man
> nichts.

Doch, damit lernt man Motorik.

Was ich damit sagen will: Mit Spielsachen lernt man ganz gewiss Dinge, 
die man im späteren Leben braucht. Das ist für die Lernkurve elementar 
wichtig.

Versuche mal als Laie, eine Wand zu verputzen. Viel Spaß dabei! Danach 
wirst du es verstehen.

von Stefan F. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> ich meinte zB den Esp32, den gibt es ja auch "roh" zu kaufen.

Den würde ich keinesfalls einzeln kaufen, es sei denn du bist im 
Layouten von HF Schaltungen erfahren. Selbst die Hersteller von 
Bastelbaords verwenden überwiegend fertige Module (ESP32 Wroom) die sie 
auf ihre Boards oben drauf löten.

> Zählt ein ARM Cortex m7 Board von ST auch zu den
> komplizierten (wie von dir beschrieben)?

Ja. Fange besser mit einem STM32L0xx oder STM32F3xx an. Die gibt es 
beide mit unterschiedlich vielen Pins. Siehe 
http://stefanfrings.de/stm32/index.html

von Timo N. (tnn85)


Lesenswert?

So wie Stefanus sehe ich es auch.
Und wenn du zu einem Arduino Nano greifst, kannst du den µC da drauf 
(ein AVR
 ATmega 8-bitter) ja trotzdem mit ISP und AVR Studio oder einer anderen 
IDE programmieren um die Arduino IDE beiseite legen.

von MaWin (Gast)


Lesenswert?

Irgendwer123 schrieb:
> ch möchte in die Welt der Mikrocontroller einsteigen

Das macht man derzeit mit einem Arduino.

Warum ? Weil der direkt über USB programmiert werden kann.

Und weil es eine einfache, sagen wir lieber spartanische 
Programmierumgebung IDE für ihn gibt.

Und weil das Netz voller Beispiele für alle mögliche Anwendungen für ihn 
ist.


Andreas R. schrieb:
> Schau doch mal nach den stm32 blue pill Boards

Besser nicht. Das Drama mit den gefälschten nicht funktionierenden 
Boards aus China ruiniert die Pille.

Man weiss dann nicht mehr, ob der Fehler bei einem selbst oder der 
Hardware liegt. Da kann man ewig rumprogrammieren und der einzige 
Lernerfolg bleibt, dass man doch besser nicht in China gekauft hätte.

So lange man die Rechenleistung der STM nicht braucht, tut man sich die 
Dinger nicht freiwillig an. Und weil sie im Arduino-Style mit 
digitalWrite, analogRead programmiert auch nicht schneller sind als 
ATmega328, gibt es keinen Grund sie zu kaufen bevor man nicht native C 
programmieren kann.

http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.7.3.1

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
>> Schau doch mal nach den stm32 blue pill Boards
>
> Besser nicht. Das Drama mit den gefälschten nicht funktionierenden
> Boards aus China ruiniert die Pille.
>
> Man weiss dann nicht mehr, ob der Fehler bei einem selbst oder der
> Hardware liegt. Da kann man ewig rumprogrammieren und der einzige
> Lernerfolg bleibt, dass man doch besser nicht in China gekauft hätte.

Leider sehe ich das genau so.

Zum Glück gibt es bei der Firma RobotDyn noch kompatible Boards in guter 
Qualität sowohl mit dem alten STM32F103 als auch mit dessen Nachfolger 
STM32F303 (der wird allerdings anders programmiert!).

von MaWin (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das ist so ein bisschen wie 20€ Schul-Taschenrechner aus der 10, Klasse
> versus 200€ Rechner für Mathe-Studenten

Kein Mathe-Student nutzt 200€ Taschenrechner, denn der nützt ihm gar 
nichts. Der kann kein Maple/MathCad.

Und das einzige, was man im Mathestudium nie tun muss, ist numerische 
Ergebnisse ausrechnen.

Mein 20€ Taschenrechner aus der Abizeit tut es gut bis zu meiner Rente.

200€ gibt nur BlingBling Kind aus.
Also dieselben die einen STM kaufen um eine LED blinken zu lassen.

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> Und das einzige, was man im Mathestudium nie tun muss, ist numerische
> Ergebnisse ausrechnen.

Ok, dann habe ich mir das wohl falsch vorgstellt. Aber es wurde 
hoffentlich trotzdem klar, welche Art von Taschenrechner ich meine, 
oder?

von Olaf (Gast)


Lesenswert?

> Man kann auch direkt mit 32bit einsteigen. Die 32bit an sich sind nicht
> komplizierter, als 8bit Programmierung. Aber alle 32bit Mikrocontroller
> haben viel mehr Funktionen. Die Menge dieser Funktionen macht sie
> erheblich komplexer in der Anwendung.

Man hoert das immer wieder, der Meinung bin ich aber nicht.

Man programmiert beide in C, sieht da also keinen grossen Unterschied.

Sicher, moderne Controller haben gerne mal Datenblaetter von 2000Seiten 
aber man muss ja immer nur das lesen was man gerade braucht.

Das Problem bei jemanden er erst 14 ist sehe ich eher darin das er 
keinerlei Grundlagen haben kann und sein Englisch auch noch nicht 
ausreicht um ein Datenblatt zu lesen.

Daher wuerde ich eher empfehlen sich nach einem guten Buch umzuschauen 
welches bei null anfaengt und die Hardware passend zum Buch kaufen. Wenn 
man das dann durch hat kann man sich dann kaufen wozu man auch immer 
lust hat und sich in alles einarbeiten.

Olaf

von Stefan F. (Gast)


Lesenswert?

Olaf schrieb:
> Sicher, moderne Controller haben gerne mal Datenblaetter von 2000Seiten
> aber man muss ja immer nur das lesen was man gerade braucht.

Das ist richtig. Doch du musst dich von Anfang an mit der ganzen RCC 
Bautgruppe auseinander setzen, um überhaupt mal den ersten Pin überhaupt 
an laufen zu bekommen. Alleine dessen Doku umfasst schon einige zig 
Seiten.

Im Gegensatz dazu sind alle I/O Pins bei AVR sofort einsatzbereit.

Dazu kommt, dass selbst einfaches High/Low Setzen von Ausgängen 
komplexer ist, weil es da viel mehr Einstellmöglichkeiten gibt. Zum 
Beispiel kann man die Flankensteilheit einstellen.

Im Datenblatt des STM32F303 umfasst die Beschreibung der General Purpose 
I/O Pins bereits zwar nur etwa 20 Seiten wie bei AVR, aber viel weniger 
detailliert. Wenn das AVR Datenblatt den selben Schreibstil hätte, wie 
ST, dann würde das gleiche Kapitel bei AVR nur 10 Seiten umfassen.

von Joachim B. (jar)


Lesenswert?

Timo N. schrieb:
> Irgendwer123 schrieb:
>> Arduino scheint mir da nicht das richtige zu sein.
>
> Warum nicht? Gerade wenn eine µC-Architektur es auch mit Arduino Plugin
> gibt, sollte man sie näher ansehen. Das bedeutet nämlich dann im
> Allgemeinen, dass die Architektur weit verbreitet ist.
> Ich finde Arduino abstrahiert mehr (als bare C oder Assembler). Das ist
> leider eine Notwendigkeit, auf die wir Menschen mit zunehmender
> Innovation angewiesen sind. Wir können uns nicht nicht bei jeder
> Technologie bis auf die Grundlagen bilden und dann noch Zeit finden,
> vernünftige Produkte zu entwickeln. An einer Stelle müssen wir
> abstrahieren.

sehe ich genauso, habe mit dem AVR Atmel vor 12 Jahren angefangen noch 
ohne Arduino auf selbstgemachten Platinen, dann zu Arduino gewechselt, 
konnte halt viele Tools mitnehmen und dann zum ESP32 auch da konnte ich 
viele selbstgeschriebene Tools mitnehmen.
Wer will denn immer wieder Nebenkriegsschauplätze eröffnen, man bastelt 
zwar aus Freude, hat aber auch Projekte die man erledigen möchte, da 
stören manchmal die tiefen Niederungen der Architektur nur.

Melder schrieb:
> Hmm der ESP32. Man zeige mir mal ein Produkt, in dem der
> wirklich im Einsatz ist.

der soll meine Wordclock steuern, der AVR machts schon nur ist der DCF77 
Empfang hier einfach zu schlecht, wlan Anbindung ist das schon besser.

: Bearbeitet durch User
von Zod M. (do0zy)


Lesenswert?

Joachim B. schrieb:
> Wer will denn immer wieder Nebenkriegsschauplätze eröffnen, man bastelt
> zwar aus Freude, hat aber auch Projekte die man erledigen möchte, da
> stören manchmal die tiefen Niederungen der Architektur nur.

Da hast du natürlich Recht. Wenn man "nur" ein bestimmtest Projekt 
umsetzten möchte, ohne sich dabei tiefer mit der Technik beschäftigen zu 
müssen.

Wenn der "maker" von heute seine innovative DIY Wetterstation bauen 
will,
kauft er sich ein fertiges ESP32 Board,
ein paar Sensoren und ein schickes Display,
lädt sich bei Adafruit und Co. die fertigen libs runter,
schreibt ein paar Zeilen Code, die er nicht versteht,
steckt alles zusammen,
baut eine Holzbox außen rum und ist fertig.

Am Ende funktionierts und jeder ist glücklich.

Wenn ich den TO richtig verstehe, möchte er aber den Einstig zu 
Mikrocontrollern schaffen und hat Lust was zu lernen. Ich glaube da ist 
die fix-feritige Arduino Software(!!) Plattform das falsche.
Wie andere auch schon geschrieben haben, spricht gegen die Hardware aber 
überhaupt nichts. Die ist günstig zu bekommen und hat alles was der 
Controller braucht um zu funktionieren.
Den Controller kann er ja trotzdem mit der, dafür geeigneten Toolchain 
(z.B. im Fall des Atmega328p mit Atmel Studio und einem ISP) Hardware 
nah in C oder ASM programmieren.

Beispiele findet er nicht zuletzt auch hier im Forum mehr als genug.

von Einer K. (Gast)


Lesenswert?

D. W. schrieb:
> Ich glaube da ist
> die fix-feritige Arduino Software(!!) Plattform das falsche.

Arduino besteht im Grunde aus drei Komponenten:
Arduino IDE
Arduino Framework
Arduino Board

Gemeinsam spielen sie recht gut zusammen.
Stehen zumindest ersten Ergebnissen nicht im Wege rum.

Jede der drei Komponenten kann man austauschen, wenn sie einem nicht 
schmeckt.

Wem die IDE nicht schmeckt, nimmt VisualStudio, Eclipse oder eine 
beliebig andere, welche den Zweck erfüllt

Schmeckt das Framework nicht, lässt man es weg, bzw. nutzt es eben 
nicht. Ein paar Priester hier, meinen das geht nicht. Unfug.

Die Boards/µC sind sowieso austauschbar. Für Unmengen verschiedener 
Boards gibt es die Arduino Unterstützung.




Irgendwer123 schrieb:
> Arduinos sind zwar vielseitig, aber ich habe die Angst, dass ich mir da
> vielleicht was falsches angewöhne (ich habe gelesen, dass da angeblich
> einige Unterschiede in der Anwendung zu anderen, gebräuchlichen
> Mikrocontrollern bestehen).

Arduino bietet die Chance/Plattform um C++, C und Assembler zu lernen.
Und wie schon gesagt....
Du kannst das Framework nutzen, musst aber nicht.
Sogar dir dein eigenes bauen.
Du entscheidest selber, ob du "das falsche" lernst.

von Joachim B. (jar)


Lesenswert?

D. W. schrieb:
> Ich glaube da ist
> die fix-feritige Arduino Software(!!) Plattform das falsche.

nun ja er kann auch einen Arduino AVR locker ohne die Arduino IDE 
programmieren, einfach mit ISP Prommer in Atmel Studio oder sonst was.

Der Vorteil, es muss keine Platine gebaut werden Vogelfutter ist schon 
drauf, auf dem Steckbrett geht DIP 328p, 1284p, Platinen gibts auch.
https://oshpark.com/profiles/JChristensen/page/4

Niemand zwingt einen die Arduino IDE zu nutzen, aber man kann.

von Michael U. (amiga)


Lesenswert?

Hallo,

mal ein anderer Gesichtspunkt zu Arduino: wenn man schaut, ist es C/C++, 
ein GCC. "Libbraries" sind (neist) Quelltext, keine Objektfiles + 
Header. Man kann also oft bis zum letzten Bit schauen, was da gemacht 
wird.
Man kann mit wenig Aufwand zwischen recht verscheidenen Architekturen 
hin- und her wechseln, ohne viel Zeit mit der Einrichtung der jeweils 
speziellen Umgebung zu verbringen. Wenn ma also will, kann man recht 
schnell z.B. die Unterschiede bei verschiedenen Hardwarearchitekturen 
ergründen, lernen, was wichtig und was weniger wichtig ist. Wenn man 
will, lernt man recht einfach, welche Hardwarekomponenten man wofür gut 
nutzen kann, welche ein µC für spezielle Aufgaben also haben sollte.
Das muß man eben wollen, da liegt die Entscheidung, weniger in Arduino 
ja oder nein.
Ich weiß nicht, wie es anderen ging, aber meine Einstiege vor 
Jahrzehnten war vor allem: erstmal schaune, wie andere es gelöst haben, 
zu verstehen warum, zu versuchen, es anders/besser zu machen usw.

Gruß aus Bberlin
Michael

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Michael U. schrieb:
> Man kann mit wenig Aufwand zwischen recht verscheidenen Architekturen
> hin- und her wechseln, ohne viel Zeit mit der Einrichtung der jeweils
> speziellen Umgebung zu verbringen.

ganz meine Meinung
https://www.mikrocontroller.net/attachment/446990/esp32_nano_web.jpg

von Stefan F. (Gast)


Lesenswert?

Joachim B. schrieb:
> ganz meine Meinung
> https://www.mikrocontroller.net/attachment/446990/esp32_nano_web.jpg

Der ESP32 ist besser, weil blaues Licht :-)

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Mal einige Tips von mir:

- Suche Dir etwas aus, was verbreitet ist.
  In diesem Fall kannst Du auch mit Hilfe aus Foren rechnen.

- Suche Dir etwas aus, was Du auch bekommen kannst.
  Was bringt Dir ein Prozessor, auf den Du 2 Monate warten musst oder 
gar nur mit Gewerbeschein in entsprechenden Stückzahlen bekommen kannst.

- Suche Dir eine vielseitige Prozessorfamilie aus.
  Dann geht die Einarbeitung in einen anderen Prozessortyp schneller und 
kannst je nach Einsatzgebiet den passenden Typen wählen.

- "Der Arduino" basiert auf AVR. Neben dem Prozessor ist auch das 
Hühnerfutter bereits vorhanden.
  Du bist nicht dazu gezwungen, die Arduino-Bibliotheken zu nutzen. Es 
ist aber oft von Vorteil, mit einen Arduino-Board bereits ein fertiges 
Eval-Board zu haben. Gerade für ganz schnelle Sachen ist ein Aduino auch 
schnell im Einsatz.

- Schieße nicht mit Kanonen auf Spatzen.
  Auch wenn ein 32-Bitter moderner scheint, reichen oft einfachere 
8-Bitter aus.
  Zum Lernen ist ein 8-Bitter sicher besser geeignet als ein 
komplizierter 32-Bitter.

Ich habe mit 8-Bit angefangen (8085) und diesen in Assembler 
programmiert.
Da ich das Programm nur ausprobiernen konnte, nachdem es in ein EPROM 
gebrannt wurde, habe ich mit viele Gedanken vor dem Brennen gemacht. 
Damals hatte ich mir den Code noch ausgedruckt und bin ihn selber 
Schrittweise durchgegangen um damit Fehler zu finden.
Das ist zwar nichts für komplizierte Programme, aber Du lernst ungemein 
viel dadurch.
Mein erstes Programm mit ca. 2kByte lief übrigens auf Anhieb.

von Stefan F. (Gast)


Lesenswert?

Christian H. schrieb:
> Mein erstes Programm mit ca. 2kByte lief übrigens auf Anhieb.

Wie hast du dass den fertig gebracht, 2 kB für einen LED Blinker voll zu 
kriegen? Man fängt doch klein an!

von Jedzia D. (Firma: Rast und Ruh) (jedzia)


Lesenswert?

Ob Arduino-IDE, Keil uVision, IAR Workbench, etc., pp. Sie alle haben 
ein Problem. Sie abstrahieren den Erstellungsprozess der Binärdaten für 
Bequemlichkeit und Komfort hinweg. Wobei das nichts schlechtes sein 
muss, hat man praktisch wenig Antrieb das zugrundeliegende Werkzeug 
für die Code-Erstellung kennen zu lernen. Muss man dann wirklich mal 
Hand an die Toolchain anlegen ist man ratlos und steht im kalten Wasser.

Die Kausalkette sollte eigentlich so aussehen:
1. Compiler verstehen
2. Build-tool verstehen
3. Hardware verstehen
4. ISA + ABI verstehen
E. nehme Ich cat "main(...) > main.c" oder den superduper Kubernetes 
container mit der Ultra-IDE ...?
5. Software schreiben
6. Fehlermeldungen genießen (die man auch versteht, wegen dito)

Natürlich fängt man heutzutage bei 5. an und beschafft sich ohne irgend 
ein Vorwissen dann einen Editor/IDE, wahrscheinlich den aktuell am 
Beliebtesten und mit dem Elan einer Stubenfliege zum Recherchieren über 
das Thema(überdramatisiert).
Es entgeht aber das Erfassen der Gesamtsituation, fehlt der Überblick 
und das Wissen, das auch in anderen Bereichen rund um das Programmieren 
nützlich sein kann. Die Möglichkeit von Flexibilität und Kontrolle über 
die Erstellung des Codes gibt man ab an generalisierte Pakete, die 
entweder funktionieren oder nicht.

Wer sich da wiedererkennt: Ist völlig okay! Es ist legitim, einfach und 
schnell(RAD) was auf die Reihe zu bekommen. Aber probiert es doch mal 
aus. Es muss auch kein kalter Entzug sein: Eine Toolchain aufsetzen, die 
alte IDE weiter benutzen, aber eben nicht auf BUILD drücken, sondern 
nebenher "make" in die Konsole schreiben.
Es könnte sogar am Ende eine Belohnung für die Mühen warten, wie 
Flexibilität, Durchblick und Geschwindigkeit.

Wie kann ich nur so etwas vom TE verlangen, wo doch viele sagen, das man 
mit Arduino einsteigt?
-> "aber ich habe die Angst, dass ich mir da
vielleicht was falsches angewöhne"
:P

Schaut doch einfach mal bei

https://www.mikrocontroller.net/articles/AVR-GCC
https://www.mikrocontroller.net/articles/STM32#Tutorials_f.C3.BCr_diverse_Tool-Kombinationen
oder google vorbei. Das ist alles kein "muss", sondern ein "kann" und
ist nur nen klick weit weg:)

von Joachim B. (jar)


Lesenswert?

Stefan ⛄ F. schrieb:
> Der ESP32 ist besser, weil blaues Licht :-)

aber das weisse Licht lässt sich besser ablesen!
Und ich konnte meine C-Tools vom PC prozessorunabhängig seit 1990 auf 
dem AVR wie auf dem ESP weiter nutzen.

: Bearbeitet durch User
von Christian H. (netzwanze) Benutzerseite


Lesenswert?

D. W. schrieb:
> Ich glaube da ist
> die fix-feritige Arduino Software(!!) Plattform das falsche.

Sehe ich nicht so. Du kannst für den Anfang recht schnell an 
Erfolgserlebnise geraden - und das ist wichtig. Du musst aber auch den 
Mut aufbringen, dahinter mehr zu entdecken. Wenn etwas nicht gleich 
funktioniert oder gar zu langsam ist, nicht die Flinte ins Korn werfen, 
sondern sich selber weiterentwickeln.

Das ist ja gerade das "Problem" der Arduino-Jünger. Es wird selten 
weiter gedacht als virtuelle Bauklötzle zu verteilen. Passen die mal 
nicht zusammen, wird das Internet nach bessere Bausteine durchsucht. 
Oder es wird in Foren nachgefragt und gehofft, dass andere Leute für 
einen Denken.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Stefan ⛄ F. schrieb:
> Wie hast du dass den fertig gebracht, 2 kB für einen LED Blinker voll zu
> kriegen? Man fängt doch klein an!

Tja, ich hatte bereits Assembler auf dem Amiga programmiert. Also für 
den 68000er. Da hatte ich schon etwas Übung.

Aber ein LED-Blinker im erweiterten Sinn war es schon: Eine 
Ampelsteuerung für den Turnierbetrieb beim Bogenschießen.

von Zod M. (do0zy)


Lesenswert?

Christian H. schrieb:
> Sehe ich nicht so. Du kannst für den Anfang recht schnell an
> Erfolgserlebnise geraden - und das ist wichtig. Du musst aber auch den
> Mut aufbringen, dahinter mehr zu entdecken. Wenn etwas nicht gleich
> funktioniert oder gar zu langsam ist, nicht die Flinte ins Korn werfen,
> sondern sich selber weiterentwickeln.

War vielleicht etwas zu scharf formuliert von mir. Ich habe in der 
Vergangenheit zu oft die Erfahrung gemacht, dass sich Leute eben nicht 
selber aufraffen und weiter graben. Da bin ich gebrandmarkt.
Am Ende  ist das eine Sache des Wollens und da scheint der TO ja die 
nötige Motivation mitzubringen. Dann ist es am Anfang vielleicht 
wirklich nicht falsch schnell an Erfolgserlebnisse zu kommen und sich 
dann langsam (aber sicher) weiter zu erwickeln wie es

Arduino Fanboy D. schrieb:
> Jede der drei Komponenten kann man austauschen, wenn sie einem nicht
> schmeckt.

hier beschrieben hat.

von Johannes S. (Gast)


Lesenswert?

Das ist ja mal ein ganz neues Thema mit ganz neuen Erkenntnissen hier :)

von Stefan F. (Gast)


Lesenswert?

Christian H. schrieb:
> Aber ein LED-Blinker im erweiterten Sinn war es schon: Eine
> Ampelsteuerung für den Turnierbetrieb beim Bogenschießen.

Hut ab! Für ein Anfangsprojekt war das sicher ein großes Ding.

Heute haben wir integrierten Flash, das ist schon um Welten 
komfortabler.

von Stefan F. (Gast)


Lesenswert?

Ich muss mal ein Lob loswerden:

Trotz Reizthema und Freitag hat hier noch niemand jemanden beleidigt. 
Gut so!

von Jasson J. (jasson)


Lesenswert?

Ich seh das wie Stefan -

ruhig einen Arduino nehmen am Anfang. Ich würde am ehesten auf einen mit 
einem AtMega zurückgeifen -> fertiges Board, mengenmäßig übersichtliche 
Datenblätter zum µC, breites Communitywissen

Genau wie Stefan sagt, irgendwann will man etwas ausreichend spezielles 
machen, damit sich die Ardu-Bibliotheken nicht mehr vertragen. Dann 
kommt der Blick ins Datenblatt.

Insgesamt denke ich macht so was Sinn wie
>Arduino Uno/Nano Board mit Ardu-Framework
>> do some Stuff
>Arduino Uno/Nano Board mit µC Datenblatt, AVR Studio, mySmartUSB light
>> do some Stuff
>STM32 BluePill mit Arduino Framework
>> do some Stuff
>STM32 BluePill mit oben genannten Dokumenten, Ardu-Framework zum hochladen, oder 
andere IDE mit z.B. ST-LINK V2 Emulator zum flashen
>>>um die Sache erstmal Low-Budget zu halten.

Ich denke zu mindest für die ersten beiden Schritte MUSS man kein Oszi 
und/oder Digitalanalyzer haben.
Auch Assembler halte ich nicht für Pflicht. Für die Awareness ist es 
vielleicht nicht verkehrt mal was einfaches in ASM zu machen.

von Wolfgang (Gast)


Lesenswert?

Irgendwer123 schrieb:
> Ich bin mir daher nicht sicher welches Ev Board ich mir kaufen soll.
> Arduinos sind zwar vielseitig, aber ich habe die Angst, dass ich mir da
> vielleicht was falsches angewöhne

Niemand zwingt dich, ein Arduino Board mit Arduino Softwareumgebung und 
IDE zu benutzen. Viele Arduino Boards haben einen ganz normalen 
ATmega328 oder einen ATmega32U4 drauf,  der Arduino Due kommt mit einem 
Cortex-M3 Prozessor daher.

von Irgendwer123 (Gast)


Lesenswert?

Hallo,
Vielen Dank für die vielen Antworten!
Ich kann leider nicht auf jede einzelne eingehen, aber seid sicher, ich 
habe sie gelesen.

Ich möchte viele verschiedene Sachen damit machen, die sich nicht auf 
fertige Module beschränken. Das interessiert mich nicht, weil ich 
erstens nicht 5 - 10€ für einen Sensor zahle der 20cent wert ist und 
zweitens nicht, wie hier schon richtig geschrieben wurde, nur Lego für 
Fortgeschrittene spielen will.
Mögliche Projekte, die mir vorschweben sind zB:
Schrittmotoren ansteuern; ein Keypad (richtig mit einer Tastenmatrix) 
selbermachen, dass über USB direkt am PC hängt; Geigerzähler, vielleicht 
auch mit Datenlogger; Solartracker (natürlich nur in klein als Modell); 
LED Streifen über den PC steuern; einen Maussensor direkt anschließen; 
usw...
Das sind ein paar der Sachen die ich gerne machen würde. Ich weiß, dass 
einige davon nicht ohne weiteres umzusetzen sind (für den Motor brauch 
ich zb ja einen Treiber)...
Aber ich möchte auch wirklich verstehen was dahinter steckt.

von Joachim B. (jar)


Lesenswert?

Irgendwer123 schrieb:
> weil ich
> erstens nicht 5 - 10€ für einen Sensor zahle der 20cent wert ist

hier mal ein tolles Beispiel "der Spannungssensor":
https://www.ebay.de/i/183864206856

: Bearbeitet durch User
von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Irgendwer123 schrieb:
> Schrittmotoren ansteuern; ein Keypad (richtig mit einer Tastenmatrix)
> selbermachen, dass über USB direkt am PC hängt; Geigerzähler, vielleicht
> auch mit Datenlogger; Solartracker (natürlich nur in klein als Modell);
> LED Streifen über den PC steuern; einen Maussensor direkt anschließen;
> usw...

Das kannst Du alles mit beliebigen Prozessoren machen, auch mit 
8-Bittern.

von Irgendwer123 (Gast)


Lesenswert?

Ups, die Antwort war noch nicht fertig :
Was würdet ihr mir empfehlen, damit direkt ohne Umweg direkt wirklich 
was über Mikrocontroller lerne?

Eine aufwendige und komplizierte IDE stört ja nur am Anfang. Hingegen 
eine einfache wie in meine Fall für Python: MU, nervt andauernd herum 
(deswegen sind wir auch umgestiegen).

Es ist schwer mich zu entscheiden, einerseits will ich keine 2000 Seiten 
Datenblätter lesen (Handbuch oder ein Buch zum Lernen aber schon), 
andererseits will ich gleich was gescheites haben.
Ich würde mein Englisch nicht als schlecht einschätzen, aber obs für 
sowas reicht...

Wenn ein Arduino "so" ohne die ganze Software verwendet wird, wie 
unterscheidet es sich dann für den Programmierer zum Beispiel zu einem 
m3?

Danke
Gruß

von Irgendwer123 (Gast)


Lesenswert?

Ich weiß, dass ich für die meisten Projekte kein Oszi brauche. Das hab 
ich einfach gekauft weils unglaublich billig war. :)

von Peter D. (peda)


Lesenswert?

Irgendwer123 schrieb:
> ein Keypad (richtig mit einer Tastenmatrix)
> selbermachen, dass über USB direkt am PC hängt

Irgendwer123 schrieb:
> einerseits will ich keine 2000 Seiten
> Datenblätter lesen

Für USB mußt Du das aber, die USB-Spezifikation hat es in sich.
Oder Du nimmst einen fertigen Tastaturcode und lernst nix dabei.

Viele Geräteentwickler machen daher einen großen Bogen um USB und 
benutzen USB nur als COM-Port. Damit umgehen sie das Problem, ständig 
neue Treiber für jedes OS entwickeln zu müssen. Sie nehmen einfach die 
Treiber der USB-COM Umsetzer-ICs (Prolific, FTDI, Silabs usw.).

von Einer K. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> einerseits will ich keine 2000 Seiten
> Datenblätter lesen

Tja, dann ist das Thema schon am Anfang recht durch.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Irgendwer123 schrieb:
> Wenn ein Arduino "so" ohne die ganze Software verwendet wird, wie
> unterscheidet es sich dann für den Programmierer zum Beispiel zu einem
> m3?

Der M3 ist komplexer als ein AVR bezüglich Registersatz, Interrupts, 
Memory-Management, ...

Irgendwer123 schrieb:
> Es ist schwer mich zu entscheiden, einerseits will ich keine 2000 Seiten
> Datenblätter lesen

Also eher ein AVR

: Bearbeitet durch User
von Irgendwer123 (Gast)


Lesenswert?

@stefanus
Ich habe gerade eines deiner Bücher durchgeblättert, das scheint genau 
das richtige für mich zu sein.
Eine Frage : Warum gehst du nicht zu einem großen Verlag wie vielleicht 
Rheinwerk, und verkaufst die Bücher? In Sachen Mikrocontroller haben die 
eh noch nicht viel.
Gruß

von Michael U. (amiga)


Lesenswert?

Hallo,

Peter D. schrieb:
> Für USB mußt Du das aber, die USB-Spezifikation hat es in sich.
> Oder Du nimmst einen fertigen Tastaturcode und lernst nix dabei.

ich denke, wenn man prinzipiell begriffen hat, was z.B. ein 
USB-Descriptor ist und was da rein muß, gebauso z.B. BT oder LAN/WLAN 
Sachen, hat man viel gewonnen, auch wenn man nicht weiß, wer da welches 
Bit in welchem Register der Hardware setzt. Ich denke, oft wird man das 
soagr nie ergünden wollen oder müssen. Meist landet man ganz unten, wenn 
der Treiber eines exotischen ICs Mist baut, weil der Entwickler die 
Anmerkungen im Datenblatt nicht gelesen hat.
Ob man sich dieses Wissen und das Herangehen auf einem Mega32U4, einem 
ESP8266 oder einem ESP32 oder auf einem anderen System aneignet, dürfte 
relativ egal sein.

Gruß aus Berlin
Michael

von Johannes S. (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Tja, dann ist das Thema schon am Anfang recht durch.

Der TO hat sich als 14 jähriger vorgestellt, hast du da schon am 
liebsten Datenblätter gelesen und auch verstanden?

Eine IDE wie AtmelStudio ist da schon sehr hilfreich. Die µC mögen 
lieber C, C++ oder ASM als Python, also erstmal mit C anfangen. 
MicroPython gibts zwar auch schon und ist wohl sehr beliebt, aber sicher 
nicht sehr maschinennah.
AtmelStudio kann auch Arduino Projekte importieren, das hilft auch in 
die Internas zu schauen.
Aber gerade um auch die Sprache zu lernen ist das einfache Debugging mit 
den Cortex-M gut. PlatformIO und ein Nucleo Board sind auch einfach zum 
Einsteigen. Oder noch besser MbedStudio und ein Nucleo.

von Irgendwer123 (Gast)


Lesenswert?

Ok, dann ist ein Arduino fürn Anfang vielleicht doch nicht so 
schlecht... Mir war vorher nicht klar, dass ich den auch ohne dem 
Framework verwenden kann.

Wenn ich das Arduino Framework dann nicht mehr verwende (oder es erst 
gar nicht nehme), wird der dann immer noch in C programmiert? Oder hängt 
das von Framework ab?
Danke
Gruß

von Roland F. (rhf)


Lesenswert?

Hallo,
> Eine aufwendige und komplizierte IDE stört ja nur am Anfang. Hingegen
> eine einfache wie in meine Fall für Python: MU, nervt andauernd herum
> (deswegen sind wir auch umgestiegen).

Ich benutze Programmierung von AVR-MCUs die AVR-GNU-Toolchain, Geany als 
Editor, ein universelles Make-file und einen avrisp2-kompatiblen 
Programmieradapter (in Verbindung mit avrdude) als Programmierumgebung 
unter Windows 10.
Die Installation ist, im Gegensatz zu AtmelStudio(AS), aufwändiger aber 
das Ganze ist viel einfacher zu überschauen und zu bedienen als AS.
Langfristig plane ich von WIN10 auf Linux zu wechseln, da kommst es mir 
zu gute das alle Teile der Umgebung genau so unter Linux laufen.

rhf

von Irgendwer123 (Gast)


Lesenswert?

@jojos
C ist kein Problem für mich, meine Kenntnisse sind nur schon ein 
bisschen eingerostet.

OK, dann vielleicht doch ein m3? :D

Ich muss mich da ganz auf euch verlassen mit meiner Wahl. Im Internet 
steht zwar viel, aber auch viel Blödsinn... Deswegen vertraue ich da 
lieber auf ein Forum wie dieses.

Gruß

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Irgendwer123 schrieb:
> Wenn ich das Arduino Framework dann nicht mehr verwende (oder es erst
> gar nicht nehme), wird der dann immer noch in C programmiert? Oder hängt
> das von Framework ab?

Arduino besteht im Grunde genommen aus C++-Klassenbibliotheken.
Du kannst den Prozessor mit jeder Sprache ansprechen, wie Du lustig 
bist.
Du kannst sogar Teile in C, andere in C++ und wieder andere in Asembler 
schreiben. Wenn Dein Python Objektcode ausgeben kann, dann ist auch das 
noch mit drin.

von Roland F. (rhf)


Lesenswert?

Hallo Peter,
> Für USB mußt Du das aber, die USB-Spezifikation hat es in sich.
> Oder Du nimmst einen fertigen Tastaturcode und lernst nix dabei.

Der Junge will anfangen, da muss er nichts über USB-Spezifikationen 
wissen, lass mal die Kirche im Dorf.

rhf

: Bearbeitet durch User
von Michael U. (amiga)


Lesenswert?

Hallo,

Roland F. schrieb:
> Der Junge will anfangen, da muss er nichts über USB-Spezifikation
> wissen, lass mal die Kirche im Dorf.

Irgendwer123 schrieb:
> ein Keypad (richtig mit einer Tastenmatrix)
> selbermachen, dass über USB direkt am PC hängt;

spätestens dann aber...
Außerdem: soll er doch anfangen, irgendeinen billigen Arduino Nano oder 
Arduino Micro kaufen, die ArduinoIDE installieren und loslegen.
Mit dem Micro bekommt er soagr genug USB für die Tastatur.
Kosten unter 10€, Zeitaufwand für die Installation 30min.

Gruß aus Berlin
Michael

von Roland F. (rhf)


Lesenswert?

Hallo,
> OK, dann vielleicht doch ein m3? :D

Zu Verstehen der Grundlagen ist ein 8-Bitter, weil weniger komplex, 
meiner Meinung nach besser geeignet.

Du kannst ja mal fragen wer von denen, die hier eine 32-Bit-MCU für den 
Anfang empfehlen, selber so angefangen hat.

rhf

von Johannes S. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> Deswegen vertraue ich da
> lieber auf ein Forum wie dieses.

Ja, aber das Thema ist nicht neu, die Frage kommt eigentlich 
wöchentlich. Und auch immer mit den gleichen Antworten...
M3 ist schon gut, die Framework Phobie (gibts da auch schon einen lat. 
Namen für?) halte ich für übertrieben. Damit hat man zusätzliche 
Funktionen die über nacktes C/C++ hinausgehen, es ist aber nicht 
verboten trotzdem die Register der CPU oder sonstiger Peripherie low 
level anzusprechen.
Das Bluepill Board ist gut, mittlerweile gibts da aber welche mit Clones 
oder Fakes, da muss man mittlwerweile mit Überraschungen rechnen. Und es 
ist ein Stück zusätzliche Hardware zum Programmieren/Debuggen nötig. 
Deshalb ist ein org. Nucleo mit einem M3/M4 einfacher zum Starten weil 
die Programmierhardware da gleich mit dranhängt.

von Roland F. (rhf)


Lesenswert?

Hallo Michael,
> Irgendwer123 schrieb:
>> ein Keypad (richtig mit einer Tastenmatrix)
>> selbermachen, dass über USB direkt am PC hängt;
>
> spätestens dann aber...

Nö, Peter hat doch oben beschrieben wie man sich das Leben einfacher 
macht:
Peter D. schrieb:
> Viele Geräteentwickler machen daher einen großen Bogen um USB und
> benutzen USB nur als COM-Port. Damit umgehen sie das Problem, ständig
> neue Treiber für jedes OS entwickeln zu müssen. Sie nehmen einfach die
> Treiber der USB-COM Umsetzer-ICs (Prolific, FTDI, Silabs usw.).

> Außerdem: soll er doch anfangen, irgendeinen billigen Arduino Nano oder
> Arduino Micro kaufen, die ArduinoIDE installieren und loslegen.
> Mit dem Micro bekommt er soagr genug USB für die Tastatur.
> Kosten unter 10€, Zeitaufwand für die Installation 30min.

Da stimme ich dir absolut zu.

rhf

von Timo N. (tnn85)


Lesenswert?

Irgendwer123 schrieb:
> Das interessiert mich nicht, weil ich
> erstens nicht 5 - 10€ für einen Sensor zahle der 20cent wert ist und
> zweitens nicht, wie hier schon richtig geschrieben wurde, nur Lego für
> Fortgeschrittene spielen will.

Tja, das ist ein Tradeoff. Als Ingenieur spielt man eigentlich die ganze 
Zeit "Lego für Erwachsene". Denn du musst dir überlegen: Lohnt es sich 
an der und der Stelle etwas neues zu entwickeln, oder investiere ich 
meine Zeit lieber sinnvoll. Auch diese Entscheidungsfindung muss man 
lernen.

Irgendwer123 schrieb:
> Wenn ich das Arduino Framework dann nicht mehr verwende (oder es erst
> gar nicht nehme), wird der dann immer noch in C programmiert? Oder hängt
> das von Framework ab?

Mit "der" meinst du das Arduino Entwicklungsboard (also Uno, Nano, Mirco 
etc).
Ja. Wenn diese z.b. auf ATmega AVR µC basieren, dann kannst du die easy 
mit dem Atmel Studio 7 programmieren (über ISP). Entweder in C oder 
Assembler.
(mit den anderen Arduino Entwicklungsboards geht das auch, aber die 
basieren nicht dann auf ARM Cortex M0 oder M3 oder so)

Meine persönliche Meinung: Ich würde mit Arduino und einem 
Entwicklungsboard basierend auf ATmega AVR (z.b. einem Nano) anfangen, 
da ich damit gute Erfahrung gemacht habe, da der Support hier im Forum 
ausgezeichnet ist und du viel lernst, was z.b. beim späteren Umstieg auf 
anderen µC (z.b. ARM Cortex M0,1,2,3 basierte) hilft. Das ist auf jeden 
Fall keine verschwendete Zeit.

Ich hatte z.b. den Eindruck, dass gerade Datenblätter von µControllern, 
die auf ARM Cortex M0, M1 oder M3 basieren, so geschrieben sind, als 
würde sich der Leser schon oft mit µC beschäftigt haben. Bei den 
Datenblättern von irgendwelchen AVRs steigt man viel schneller durch und 
es hilft einem dann beim Umstieg auf ARM Coretex M enorm. Aber das hat 
Stefanus ja oben schon geschrieben.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Irgendwer123 schrieb:
> Wenn ein Arduino "so" ohne die ganze Software verwendet wird, wie
> unterscheidet es sich dann für den Programmierer zum Beispiel zu einem
> m3?

Es gibt einen Arduino mit M3 und somit gar keinen Unterschied, wenn du 
den entsprechenden Arduino wählst.

von Joachim B. (jar)


Lesenswert?

Irgendwer123 schrieb:
> Wenn ich das Arduino Framework dann nicht mehr verwende (oder es erst
> gar nicht nehme), wird der dann immer noch in C programmiert? Oder hängt
> das von Framework ab?

ja & ja

ich würde ja AVR Studio 4.18 nehmen
https://www.microchip.com/mplab/avr-support/avr-and-sam-downloads-archive
etwas runterscrollen.
Studio 7 ist etwas zäh.

von Einer K. (Gast)


Lesenswert?

Johannes S. schrieb:
> Der TO hat sich als 14 jähriger vorgestellt, hast du da schon am
> liebsten Datenblätter gelesen und auch verstanden?

Tja...
Die 2000 Seiten Datenblatt sind ganz schnell aufgebraucht, wenn man sich 
z.B. mit verschiedenen ARM beschäftigt.
Alleine aus dem Grund finde ich die Einstellung/Ansage nicht so super 
zielführend.
Aber was solls, revidieren kann man die Aussage ja immer noch...

Irgendwer123 schrieb:
> Wenn ich das Arduino Framework dann nicht mehr verwende (oder es erst
> gar nicht nehme), wird der dann immer noch in C programmiert?
Wie ich schon sagte:
C++ , C und ASM bieten sich an.
Eigentlich auch in genau der Reihenfolge

Ich rate dazu, mit C++ zu beginnen.
Aus 2 Gründen:
1. Viel von dem C Gedöns lernt man automatisch gleich mit, C ist 
schließlich die Mutti von C++
2. Wer sich einmal auf die prozedurale Programmierung eingeschossen hat, 
tut sich mit dem Umlernen auf die Objekt orientierte Sicht meist recht 
schwer. Anders rum scheint leichter zu sein.

Weitere Sprache sollen mit der neuen "Arduino Pro IDE" hinzu kommen. 
Aber das ist noch Musik für Morgen. Wird wohl auch nur für die größeren 
Arduino(kompatiblen) interessant werden, z.B. welche mit dem "Kendryte 
K210" Prozessor

von Irgendwer123 (Gast)


Lesenswert?

Dann wird wohl ein Arduino nano für den Anfang. Später kann ich immer 
noch das Cortex m7 Board nehmen.

Ich hab nichts gegen 2000 Seiten lesen. Aber ich möchte das nicht als 
Voraussetzung haben.
Das war eher im übertragenen Sinne gemeint. Ich möchte nicht etwas so 
kompliziertes, wofür ich 2000 Seiten lesen muss um LEDs blinken zu 
lassen. Schlecht geschrieben von mir, sorry.

Mit der Objektorientierten Programmierung kann ich mich anfreunden, muss 
ich eigentlich auch, nächstes Jahr lernen wir dann Java...

Danke für eure Hilfe.
Ohne euch hätte ich jetzt wahrscheinlich das m7 Board.

Gruß

Ps: falls ein paar Buchstaben, wars das Handy... :)

von Einer K. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> Dann wird wohl ein Arduino nano für den Anfang. Später kann ich immer
> noch das Cortex m7 Board nehmen.
Ist ein Anfang.

Irgendwer123 schrieb:
> wofür ich 2000 Seiten lesen muss um LEDs blinken zu
> lassen.
Ein geübter Ardunaut hat sie, incl. IDE Installation, in ca 5 Minuten 
auf dem Nano am blinken.

Installation
Nano und Port auswählen
Blink Beispiel laden
Hochladen drücken
(und es blinkt)

Geht ganz ohne Doku lesen.
Aber dann gehts los....


PS:
Der Nano wird schon mit Blink ausgeliefert.
Also nur an USB stecken und es blinkt.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Arduino Fanboy D. schrieb:
> PS:
> Der Nano wird schon mit Blink ausgeliefert.
> Also nur an USB stecken und es blinkt.

Toll, ich bin ein Programmierheld. Ich habe einen Arduino zum Blinken 
gebracht.

von Einer K. (Gast)


Lesenswert?

Christian H. schrieb:
> Toll, ich bin ein Programmierheld. Ich habe einen Arduino zum Blinken
> gebracht.

Wenn es da endet.. ja!

von Stefan F. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> weil ich erstens nicht 5 - 10€ für einen Sensor
> zahle der 20cent wert ist und zweitens nicht,

Die meisten Module aus dem Arduino Umfeld sind billiger, als ihre 
Einzelteile.

Irgendwer123 schrieb:
> Was würdet ihr mir empfehlen, damit direkt ohne Umweg direkt wirklich
> was über Mikrocontroller lerne?

Lies die Antworten, deine Frage wurde umfassend beantwortet.

> Eine aufwendige und komplizierte IDE stört ja nur am Anfang.

Dann fang halt mir der Arduino IDE an, oder bare-metal ohne IDE. Ich 
habe Dir meine Anleitunge empfohlen.

> Es ist schwer mich zu entscheiden, einerseits will ich keine 2000 Seiten
> Datenblätter lesen (Handbuch oder ein Buch zum Lernen aber schon),
> andererseits will ich gleich was gescheites haben.

Bei Arduino Nano Modulen hast du beides. Kannst einfach anfangen und 
später doch die 400 Seiten lesen.

> Wenn ein Arduino "so" ohne die ganze Software verwendet wird, wie
> unterscheidet es sich dann für den Programmierer zum Beispiel zu einem
> m3?

Die Programmierung ist weitgehend identisch, aber bei ARM Controllern 
gibt es wie gesagt viel mehr Register einzustellen. Dementsprechend mehr 
Lesestoff und mehr Zeilen Code. Referenzhandbuch+Datenblatt+Application 
Notes umfassen zusammen weit mehr als 2000 Seiten.

Beim Arduino Nano steht alles was man wissen muss in einem Dokument, dem 
Datenblatt. Das hat "nur" ca. 400 Seiten.

von Stefan F. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> Warum gehst du nicht zu einem großen Verlag wie vielleicht
> Rheinwerk, und verkaufst die Bücher?

Habe ich versucht. Zwei Verlage haben geschätzt, dass die zu erwartende 
Absatzmenge zu gering ist. Einer wollte es Online vertreiben, hatt dabei 
allerdings so viele Änderungswünsche, dass ich abgelehnt habe.

Mit solchen Büchern wird man sowieso nicht Reich. Der ganze Aufwand 
lohnt sich nicht.

> Dann wird wohl ein Arduino nano für den Anfang. Später kann
> ich immer noch das Cortex m7 Board nehmen.

Dazwischen würde ich einen Cortex M0 oder maximal M4 einschieben - wegen 
der Komplexität.

Konditoren fangen ihre Lehre auch nicht mit Hochzeitstorten an, und 
Architekten bauen nicht als erstes ein Kaufhaus.

von Irgendwer123 (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Christian H. schrieb:
> Toll, ich bin ein Programmierheld. Ich habe einen Arduino zum Blinken
> gebracht.
>
> Wenn es da endet.. ja!

Dabei wirds nicht bleiben ;)

Stefan ⛄ F. schrieb:
> Irgendwer123 schrieb:
>> Was würdet ihr mir empfehlen, damit direkt ohne Umweg direkt wirklich
>> was über Mikrocontroller lerne?
>
> Lies die Antworten, deine Frage wurde umfassend beantwortet.

Ja, meine Frage wurde super beantwortet!

Stefan ⛄ F. schrieb:
>> Eine aufwendige und komplizierte IDE stört ja nur am Anfang.
>
> Dann fang halt mir der Arduino IDE an, oder bare-metal ohne IDE. Ich
> habe Dir meine Anleitunge empfohlen.

Genau, so werde ichs auch machen.
Ich fang einmal mit der Arduino IDE an und steig dann auf was anderes 
um.

Stefan ⛄ F. schrieb:
> Bei Arduino Nano Modulen hast du beides. Kannst einfach anfangen und
> später doch die 400 Seiten lesen.

Das ist wichtig für mich. In der Hinsicht habe ich Arduino ziemlich 
unterschätzt...

Stefan ⛄ F. schrieb:
> Irgendwer123 schrieb:
>> Warum gehst du nicht zu einem großen Verlag wie vielleicht
>> Rheinwerk, und verkaufst die Bücher?
>
> Habe ich versucht. Zwei Verlage haben geschätzt, dass die zu erwartende
> Absatzmenge zu gering ist. Einer wollte es Online vertreiben, hatt dabei
> allerdings so viele Änderungswünsche, dass ich abgelehnt habe.
>
> Mit solchen Büchern wird man sowieso nicht Reich. Der ganze Aufwand
> lohnt sich nicht.

Das finde ich sehr schade, gerade solche Bücher sieht man nicht oft.

Stefan ⛄ F. schrieb:
>> Dann wird wohl ein Arduino nano für den Anfang. Später kann ich immer
>> noch das Cortex m7 Board nehmen.
>
> Dazwischen würde ich einen Cortex M0 oder maximal M4 einschieben - wegen
> der Komplexität.
>
> Konditoren fangen ihre Lehre auch nicht mit Hochzeitstorten an, und
> Architekten bauen nicht als erstes ein Kaufhaus.

Mach ich. Wenns soweit ist, melde ich mich wieder hier. Vielleicht in 
gar nicht so ferner Zukunft, wenns Corona Ferien gibt :D

Eine Frage hätte ich noch : Ich hab gesehen, dass es zwei verschiedene 
Arduino Nano gibt, einen mit ATmega328 und den anderen mit ATmega 4809.
Welchen soll ich nehmen und wie stark unterscheiden sie sich überhaupt?

Danke

Gruß

von Einer K. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> und wie stark unterscheiden sie sich überhaupt?

Ein gute Gelegenheit, die Datenblätter zu vergleichen.
:-)

von Irgendwer123 (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Irgendwer123 schrieb:
> und wie stark unterscheiden sie sich überhaupt?
>
> Ein gute Gelegenheit, die Datenblätter zu vergleichen.
> :-)

Und ich dachte mit Arduino fängt man einfach ohne irgendwas an ^^
Nur Spaß ;)

von Timo N. (tnn85)


Lesenswert?

Irgendwer123 schrieb:
> Ich hab gesehen, dass es zwei verschiedene
> Arduino Nano gibt, einen mit ATmega328 und den anderen mit ATmega 4809.
> Welchen soll ich nehmen und wie stark unterscheiden sie sich überhaupt?

https://www.microchip.com/ParamChartSearch/Chart.aspx?branchID=30047

Stichwort: Parametric Search

Bei Produkct wählst du die beiden aus und vergleichst dann die Features. 
Keine 200 Seiten Datenblatt nebeneinander legen. :)

Beim Arduino Nano wirds aber so sein, dass du nur von einem Teil der 
Vorteile des ATmega 4809 Gebrauch machen wirst, da die Anzahl der 
rausgeführten Pins beim "Arduino Nano Every" gleich geblieben ist.

Würde beim "alten" 328p für den Anfang deshalb bleiben, weil es eine 
größerer Community gibt, die den benutzt. Da das Arduino Framework viel 
für dich übernimmt, wirst du da beim Programmieren keinen unterschied 
merken.
Mach wie du willst.

von örks (Gast)


Lesenswert?

> einerseits will ich keine 2000 Seiten Datenblätter lesen
Das muss man auch nicht.

> das m7 Board
Das sind eher 4000 Seiten. Du meinst wohl, weil es besonders
teuer ist, geht alles von selbst. Nichts könnte irriger sein.

> Geht ganz ohne Doku lesen.
Damit bist du dann entgültig bei den geistigen Sozialhilfeempfängern
angekommen.

von Irgendwer123 (Gast)


Lesenswert?

@tnn85

Danke,dann nehme ich den alten.
Am Anfang werde ich das Framework verwenden und mich dann je nach Zeit 
und Interesse davon abwenden.

@örks

örks schrieb:
>> das m7 Board
> Das sind eher 4000 Seiten. Du meinst wohl, weil es besonders
> teuer ist, geht alles von selbst. Nichts könnte irriger sein.

Nein, ganz im Gegenteil. Das kostet auch nur 21€, also fast gleich wie 
ein Arduino Uno. Dass es einfacher ist hab ich nicht erwartet. Ich 
wollte ja anfangs auch was "besseres" haben. Ich habe mich da aber 
geirrt. Ein Arduino kann doch mehr als gedacht. Ich will ja eben nicht, 
dass es von selbst geht, ich will was lernen (somit würde ich für kein 
Geld etwas kaufen, das einfach ist). Deswegen dachte ich zuerst auch an 
was komplexeres. Wie schon geschrieben, ich habe mich geirrt.

örks schrieb:
>> Geht ganz ohne Doku lesen.
> Damit bist du dann entgültig bei den geistigen Sozialhilfeempfängern
> angekommen.


Das will ich ja auch nicht.
Ich möchte etwas, dass zwar einmal leicht verständlich und 
nachvollziehbar ist, aber trotzdem auf Wunsch "mehr kann". Heißt wenn 
ich Lust habe, dass ich dann die 2000 Seiten lese, es soll nur kein Muss 
sein. Und dafür scheint mir der Nano (die Erkenntnis ist dem Forum zu 
verdanken) der Richtige zu sein.

Gruß

von Markus (Gast)


Lesenswert?

Wenn man richtig Mikrocontroller verstehen will, fängt man mit dem EDSIM 
an.

Da kann man dann wirklich die einzelnen Bits sehen und Manipulieren:
https://www.edsim51.com/

von Joachim B. (jar)


Lesenswert?


von Stefan F. (Gast)


Lesenswert?

Irgendwer123 schrieb:
> Ich hab gesehen, dass es zwei verschiedene
> Arduino Nano gibt, einen mit ATmega328 und den anderen mit ATmega 4809.
> Welchen soll ich nehmen und wie stark unterscheiden sie sich überhaupt?

Auf jeden Fall einen mit ATmega328. Wenn jemand von "dem" Arduino 
spricht, ohne das konkrete Modell zu nennen, meint er den ATmega328.

Der befindet sich seit vielen Jahren auf dem Arduino Uno und dem Arduino 
Nano, das sind (vernünftigerweise) die beiden Einstiegsmodelle der 
Arduino Welt. Dazu gibt es die meisten Anleitungen und Bibliotheken.

von Irgendwer123 (Gast)


Lesenswert?

Markus schrieb:
> Wenn man richtig Mikrocontroller verstehen will, fängt man mit dem
> EDSIM
> an.
>
> Da kann man dann wirklich die einzelnen Bits sehen und Manipulieren:
> https://www.edsim51.com/

Danke, das werde ich mir gleich anschauen!

Joachim B. schrieb:
> Irgendwer123 schrieb:
>> Das kostet auch nur 21€, also fast gleich wie
>> ein Arduino Uno.
>
> soviel muss man aber nicht ausgeben, jeder China nano oder wenn groß
> dann m2560 ist günstiger.
>
> 2k SRAM 32k flash
> Ebay-Artikel Nr. 264491778175
> Ebay-Artikel Nr. 283683398610
>
> 8k SRAM 256k flash
> Ebay-Artikel Nr. 264501295686

Wie gesagt, ich wollte den A7 nicht wegen dem Preis haben.
Und die China Nanos funktionieren auch perfekt ?
Die 10€ vom Original sind ja nicht viel, aber die Versandkosten 
nerven...

Stefan ⛄ F. schrieb:
> Irgendwer123 schrieb:
>> Ich hab gesehen, dass es zwei verschiedene
>> Arduino Nano gibt, einen mit ATmega328 und den anderen mit ATmega 4809.
>> Welchen soll ich nehmen und wie stark unterscheiden sie sich überhaupt?
>
> Auf jeden Fall einen mit ATmega328. Wenn jemand von "dem" Arduino
> spricht, ohne das konkrete Modell zu nennen, meint er den ATmega328.
>
> Der befindet sich seit vielen Jahren auf dem Arduino Uno und dem Arduino
> Nano, das sind (vernünftigerweise) die beiden Einstiegsmodelle der
> Arduino Welt. Dazu gibt es die meisten Anleitungen und Bibliotheken.


Danke, dann nehm ich den.

Gruß

von Joachim B. (jar)


Lesenswert?

Irgendwer123 schrieb:
> Und die China Nanos funktionieren auch perfekt ?

bei mir ist keiner auffällig geworden, ich kann die Mär vom gefälschten 
Chips nicht bestätigen, schlechte Qualität kann man aber nie am Preis 
ausmachen.

von Einer K. (Gast)


Lesenswert?

Die Nachbauten haben statt des FTDI oft einen CH340 drauf.
evtl. eine Treiber Installation nötig

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Markus schrieb:
> Da kann man dann wirklich die einzelnen Bits sehen und Manipulieren:
> https://www.edsim51.com/

Das ist im Prinzip das, was ich früher auf dem Papier gemacht hatte um 
meine Programme zu prüfen. Zumindest ich, habe damit eine Menge gelernt.

von Timo N. (tnn85)


Lesenswert?

Irgendwer123 schrieb:
> Und die China Nanos funktionieren auch perfekt ?

Und möglicherweise musst du in der Arduino IDE unter "Werkzeuge" -> 
"Prozessor" noch "ATmega 328p (Old Bootloader)" auswählen.
Wenn du den neuen Bootloader willst, dann musst du zwei Arduinos kaufen 
und einen als Programmer programmieren und damit den neuen Bootloader 
auf den Zweiten spielen.
Dann genau andersrum und das Gleiche mit dem ersten Arduino machen der 
vorher der Programmer war. Du spielst das Programmer-Sketch auf den 
zweiten und programmierst damit den ersten mit neuem Bootloader.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

>> Da kann man dann wirklich die einzelnen Bits sehen und Manipulieren:
>> https://www.edsim51.com/

Irgendwer123 schrieb:
> Danke, das werde ich mir gleich anschauen!

Dieser Simulator simuliert eine ganz andere CPU, als AVR. Ein Simulator 
für AVR ist im AVR Studio enthalten. Der zeigt Dir auch jedes einzelne 
Register bit für bit an.

> Und die China Nanos funktionieren auch perfekt ?

Leider nicht immer. Ich hatte ma 10 Stück gekauft, wo nur zwei mit 
Bootloader bestückt waren. Aber einen der beiden konnte ich nutzen, um 
den Bootloader (mit der Arduino IDE) auf die anderen zu installieren. 
Ähnliches haben andere hier auch öfters gemeldet.

Ansonsten sind mit nur ab und zu scharfe Kanten und schief eingelötete 
Stiftleisten aufgefallen. Funktioniert haben alle tadellos.

von Joachim B. (jar)


Lesenswert?

Timo N. schrieb:
> Und möglicherweise musst du in der Arduino IDE unter "Werkzeuge" ->
> "Prozessor" noch "ATmega 328p (Old Bootloader)" auswählen.

ggf boards.txt anpassen
1
##############################################################
2
3
nano.name=Arduino Nano
4
5
nano.upload.tool=avrdude
6
nano.upload.protocol=arduino
7
8
nano.bootloader.tool=avrdude
9
nano.bootloader.unlock_bits=0x3F
10
nano.bootloader.lock_bits=0x0F
11
12
nano.build.f_cpu=16000000L
13
nano.build.board=AVR_NANO
14
nano.build.core=arduino
15
nano.build.variant=eightanaloginputs
16
17
## Arduino Nano w/ ATmega328P (new boot full mem low upload)
18
## --------------------------
19
nano.menu.cpu.atmega328fullmemlowup=ATmega328P (New Boot Full Mem Low Upload)
20
21
nano.menu.cpu.atmega328fullmemlowup.upload.maximum_size=32256
22
nano.menu.cpu.atmega328fullmemlowup.upload.maximum_data_size=2048
23
nano.menu.cpu.atmega328fullmemlowup.upload.speed=57600
24
25
nano.menu.cpu.atmega328fullmemlowup.bootloader.low_fuses=0xFF
26
nano.menu.cpu.atmega328fullmemlowup.bootloader.high_fuses=0xDE
27
nano.menu.cpu.atmega328fullmemlowup.bootloader.extended_fuses=0xFD
28
nano.menu.cpu.atmega328fullmemlowup.bootloader.file=optiboot/optiboot_atmega328.hex
29
30
nano.menu.cpu.atmega328fullmemlowup.build.mcu=atmega328p
31
32
## Arduino Nano w/ ATmega328P (new bootloader full mem)
33
## --------------------------
34
nano.menu.cpu.atmega328fullmem=ATmega328P (New Bootloader Full Mem)
35
36
nano.menu.cpu.atmega328fullmem.upload.maximum_size=32256
37
nano.menu.cpu.atmega328fullmem.upload.maximum_data_size=2048
38
nano.menu.cpu.atmega328fullmem.upload.speed=115200
39
40
nano.menu.cpu.atmega328fullmem.bootloader.low_fuses=0xFF
41
nano.menu.cpu.atmega328fullmem.bootloader.high_fuses=0xDE
42
nano.menu.cpu.atmega328fullmem.bootloader.extended_fuses=0xFD
43
nano.menu.cpu.atmega328fullmem.bootloader.file=optiboot/optiboot_atmega328.hex
44
45
nano.menu.cpu.atmega328fullmem.build.mcu=atmega328p
46
47
## Arduino Nano w/ ATmega328P (new bootloader old mem)
48
## --------------------------
49
nano.menu.cpu.atmega328=ATmega328P (New Bootloader Old Mem)
50
51
nano.menu.cpu.atmega328.upload.maximum_size=30720
52
nano.menu.cpu.atmega328.upload.maximum_data_size=2048
53
nano.menu.cpu.atmega328.upload.speed=115200
54
55
nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
56
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
57
nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD
58
nano.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
59
60
nano.menu.cpu.atmega328.build.mcu=atmega328p
61
62
## Arduino Nano w/ ATmega328P (old bootloader low mem)
63
## --------------------------
64
nano.menu.cpu.atmega328old=ATmega328P (Old Bootloader Low Mem)
65
66
nano.menu.cpu.atmega328old.upload.maximum_size=30720
67
nano.menu.cpu.atmega328old.upload.maximum_data_size=2048
68
nano.menu.cpu.atmega328old.upload.speed=57600
69
70
nano.menu.cpu.atmega328old.bootloader.low_fuses=0xFF
71
nano.menu.cpu.atmega328old.bootloader.high_fuses=0xDA
72
nano.menu.cpu.atmega328old.bootloader.extended_fuses=0xFD
73
nano.menu.cpu.atmega328old.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
74
75
nano.menu.cpu.atmega328old.build.mcu=atmega328p

der Bootloader muss aber ggf. angepasst werden, ich habe aus optiboot 
noch diese compiliert

von nipps (Gast)


Lesenswert?

Melder schrieb:
> Die muss man auch nicht nur lesen, sondern auch verstehen.

die muss man überhaupt nicht lesen. Im Gegenteil. Datenbltter und 
Ref-Manual liest man punktuell, bezogen auf das aktuelle Problem und 
nicht wie ein Buch. Damit wird jeder Anfänger sofort entmutigt.

Eine Blinkende LED ist der richtige Anfang. Das geht innerhalb eines 
Nachmittags. Damit lernt man schonmal was GPIOs sind und welche Register 
dafür benötigt werden.

von Einer K. (Gast)


Lesenswert?

nipps schrieb:
> Datenbltter und
> Ref-Manual liest man punktuell, bezogen auf das aktuelle Problem und
> nicht wie ein Buch. Damit wird jeder Anfänger sofort entmutigt.

Ja, das stimmt!
Der einzige Zweck der Datenblätter: Entmutigen!

von Joachim B. (jar)


Lesenswert?

Arduino Fanboy D. schrieb:
> Der einzige Zweck der Datenblätter: Entmutigen!

darf ich das verwenden?

ich liebe Ironie auch wenn sie manchmal schwer zu erkennen ist :)))

von nipps (Gast)


Lesenswert?

Bevor ich missverstanden werde: Natürlich liest man im Datenblatt. Aber 
eben nicht alle 2000 Seiten. Das macht überhaupt keinen Sinn.

Das Vorgehen ist eher so:

- Aufgabenstellung identifizieren (zb. ADC ansteuern)
- Im Manual nach dem Kapitel ADC suchen (oder die Lib nutzen)
- Dann Schritt für Schritt die ADC-Register setzen und ADC in Betrieb 
nehmen.

Niemand liest in einem Rutsch ein tausendseitiges Manual durch. Was 
würde das auch für einen Sinn machen hunderte Tabellen und 
Registerdefinitionen durchzulesen?!

von Joachim B. (jar)


Lesenswert?

nipps schrieb:
> Bevor ich missverstanden werde: Natürlich liest man im Datenblatt.

echte Männer lesen nicht mal Bedienungsanleitungen!

von Stefan F. (Gast)


Lesenswert?

Um herauszufinden, welche Kapitel aus dem Datenblatt (bzw. 
Referenzhandbuch bei STM) relevant sind, braucht man als Anfänger ein 
bisschen Anleitung. Ich habe mich bemüht, auf meine Homepage solche 
Hilfestellung zu leisten.

von chris (Gast)


Lesenswert?

>echte Männer lesen nicht mal Bedienungsanleitungen!

Nicht nur die, eigentlich keiner.
Das wurde wissenschaftlich untersucht und es gab den IG-Nobelpreis 
dafür:

https://www.researchtoaction.org/2018/09/life-is-too-short-to-rtfm-wins-ig-nobel-for-literature/

von Einer K. (Gast)


Lesenswert?

Joachim B. schrieb:
> darf ich das verwenden?

Genehmigung: Erteilt!

von Irgendwer123 (Gast)


Lesenswert?

Hallo,
ich nehm glaub ich sicherheitshalber einen echten Nano.

@jar
danke für den Code!

nipps schrieb:
> Bevor ich missverstanden werde: Natürlich liest man im Datenblatt.
> Aber
> eben nicht alle 2000 Seiten. Das macht überhaupt keinen Sinn.
>
> Das Vorgehen ist eher so:
>
> - Aufgabenstellung identifizieren (zb. ADC ansteuern)
> - Im Manual nach dem Kapitel ADC suchen (oder die Lib nutzen)
> - Dann Schritt für Schritt die ADC-Register setzen und ADC in Betrieb
> nehmen.
>
> Niemand liest in einem Rutsch ein tausendseitiges Manual durch. Was
> würde das auch für einen Sinn machen hunderte Tabellen und
> Registerdefinitionen durchzulesen?

So hab ich das auch vor.
Wie gesagt, solange ich nicht am ersten Tag alles durchlesen muss :)

Stefan ⛄ F. schrieb:
> Um herauszufinden, welche Kapitel aus dem Datenblatt (bzw.
> Referenzhandbuch bei STM) relevant sind, braucht man als Anfänger ein
> bisschen Anleitung. Ich habe mich bemüht, auf meine Homepage solche
> Hilfestellung zu leisten.

Die ist eine große Hilfe.

Danke nochmal an alle die mir geholfen haben!
Gruß

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.