Ich bin noch Arduino-Anfänger, hab aber bereits einige Projekte aus dem Arduino-Projektbuch gemacht.
Dennoch würde ich gerne den Umgang mit der Arduino Software noch besser erlernen wollen, sodass ich später auch Mal meine eigenen Projekte verwirklichen kann.
Deshalb meine Frage, wie kann ich das Programmieren des Arduinos noch besser lernen, wie hab ihr es gelernt?
Und gibt es ein Buch, das mich hier vielleicht weiterbringt?
Soll heißen, such dir einen Problemfall den du lösen möchtest.
Zerteile es in kleine Aufgaben
Löse eine Aufgabe nach der anderen.
Integriere die Teilaufgaben zu einem ganzen.
Persönlich finde ich das spannender als sich vor einem Handbuch zu setzen und zu lesen.
Wenn es um die spezielle hardwarenahe und Echtzeit-Programmierung geht, dann hilft ein Studium der vielen in der IDE angebotenen Beispielprogramme. Ausprobieren und modifizieren...
Ich rate auch zu einem schönen dicken und modernem C++ Buch.
Ohne Theorie, ohne die Sprache zu lernen, bleibt das alles ein stochern im Nebel. Ein hangeln von Fehler zu Fehler ohne je das Warum zu verstehen.
Wie ich das lerne?
Wenn ich eine ungewöhnliche, für mich neue, Konstruktion sehe, dann lese ich in der Doku nach, was das genau tut.
Sollte was offenbleiben, werden Experimente gemacht. (Viele!)
Nach den Experimenten, der Übung, weiß ich dann auch ob und wann ich das für mich einsetzen kann.
Mein Trick ist also:
Lesen und üben, im steten Wechsel.
Manche Themen brauchen Tage, auch mal Wochen, bis sie sitzen. (ist Hobby)
Ein gewisses Maß an Hartnäckigkeit und Frustrationstoleranz ist hilfreich.
Auch das kann man üben.
Lesestoff:
Das Datenblatt der Komponenten
Das C++ Buch
Die Arduino Doku
Die LibC Doku
Die OOP Designpattern
Nicht alles kann man ungestraft auf den kleinen µC einsetzen. Aber lesenswert ist es alle male. Zigtausend Stunden von erfahrenen Programmierern sind da vereinigt.
Als Erstes: neugierig sein und bleiben.
Für ganz wichtig halte ich es auch offen gegenüber den eigenen Fehlern zu sein.
Fehler sind dazu da, um gemacht zu werden. Mann sollte dazu stehen, dass man etwas falsch gemacht hat. Das hält den Blick frei, um weiter zu gehen.
Wie sagt @combie so schön: "Der Kopf ist rund, damit das Denken seine Richtung ändern kann."
Also immer sich selbst in Frage stellen.
Ich hatte so etwas in den letzten Tagen nebenan. Ich war erst der Meinung geht nicht und hatte mit auch Begründungen dafür ausgedacht.
Nach einiger Zeit kamen mir Zweifel an meinen eigenen Argumenten. Also schnell einen (nicht schönen) Code zusammen geklöppelt, alten Laptop reaktiviert und siehe da, es ging, wenn sowohl Ethernet, als auch WLAN aktiv waren.
Nächste Festlegung: Geht aber nicht mit Smartphone, weil da nur 1 Netzverbindung.
Nach einer Weile Zweifel. Wenn das AP-WLAN ausgeschaltet wird, kann evtl. das feste WLAN übernehmen - siehe da, auch damit geht es, man muss nur die Wartezeit länger machen.
Aus derartigen Wegen, auch über zwischenzeitliche Fehlentscheidungen lernt man unheimlich viel, wenn man seine Entscheidungen nicht als fest zementiert betrachtet und neugierig bleibt.
Als Ergänzung. Ein gutes C++-Buch gehört bei mir aber auch dazu. Sowas kann ich lesen, wie Andere einen Krimi und dann später zum Nachschlagen (man kann sich ja nicht alles merken )
Das war jetzt viel Text (da gehört der Thread nebenan mit dazu), evtl. hilft es beim Lernen.
eigene Idee etwas umzusetzen ist sehr gut. Wenn man keine eigene Idee hat
ein vorhandenes Projekt aus dem Arduino-Projektbuch auf irgendeine Art und Weise abändern.
In normalen Worten kann man das ganz schnell abändern.
Bei der Umsetzung gibt es dann wahrscheinlich Fragezeichen.
Das ist dann genau richtig. Wenn du mit eigenem Nachdenken nicht mehr weiterkommst
dann ist das die richtige Stelle um wieder im Forum nachzufragen