Hallo, mein Name ist Florian und studiere Mechatronik im 4. Semester. Ich habe bis jetzt im Studium ein wenig C und C++ programmiert. Auch ein Kurs über Mikrocontroller habe ich belegt. Bis jetzt habe ich so ziemlich alle Prüfungen gut bestanden. Trotz der bestandenen Prüfungen in den jeweiligen Fächern, habe ich das Gefühl, dass ich vom Programmieren nicht viel Ahnung habe. Ich arbeite mich für die Prüfungen in die Themen ein, aber wenn ich ein halbes Jahr später nochmal über die Themen nachdenke fällt mir auf, wie wenig da eigentlich hängen bleibt. War oder ist das bei euch auch so? Vor zwei Wochen habe ich mir einen Arduino gekauft und wollte damit ein wenig basteln. Um rein zu kommen habe ich mir Tutorials auf Youtube angesehen und nachprogrammiert. Das hat auch ziemlich gut geklappt. Als nächstes wollte ich einen DS18B20 Temperatursensor an den Arduino anschliessen und bin kläglich gescheitert. Ich hatte eigentlich vor, nur mithilfe des Datenblatts den Sensor anzuschließen, aber irgendwie hab ich das Datenblatt nicht richtig verstanden oder wusste einfach nichts mit den Infos anzufangen. Auf Quellcode von anderen Leuten wollte ich eigentlich verzichten. Da man später im Beruf nicht auch immer irgendwo abschreiben kann. Habt ihr einen Tipp für mich, wie ich mich am Besten in die Thematik einarbeite (Buch oder Online-Tutorium)? Wie seid ihr zu Mikrocontroller-Profis geworden? Gruß Florian
Florian schrieb: > später nochmal über die Themen nachdenke fällt mir auf, wie wenig da > eigentlich hängen bleibt. War oder ist das bei euch auch so? Zum Teil ja, zum Teil nein. Am meisten bleibt dann hängen, wenn man Dinge selber macht und die nicht auf Anhieb funktionieren. Hat man das Problem dann gelöst und auch verstanden wie es zu dem Problem kam, dann beschert das einem eine unauslöschbare Erinnerung, die man auch nach Jahrzehnten noch abrufen kann. Das ist das Kapital, das einen Erfahrenen Entwickler ausmacht. Er hat jeden Fehler, den du in den nächsten 10 Jahren machen wirst, schon x mal selbst gemacht und weiss wie er ihn erkennt und behebt. Fazit: Am Spruch "Übung macht dem Meister" ist was drann. Wobei Scheitern als Teil der Übung zu sehen ist. > Vor zwei Wochen habe ich mir einen Arduino gekauft und wollte damit ein > wenig basteln. Um rein zu kommen habe ich mir Tutorials auf Youtube > angesehen und nachprogrammiert. Das hat auch ziemlich gut geklappt. Das Problem bei Arduino ist, dass dir das Framework mit seinem vielen vorgefertigten Komponenten so viel wegabstrahiert, dass du überhaupt nicht mehr siehst, was sich da auf ganz unterer Bit bzw. Pin Ebene abspielt. > nächstes wollte ich einen DS18B20 Temperatursensor an den Arduino > anschliessen und bin kläglich gescheitert. Ist letzten Endes eine Frage des richtigen Timings. Das ist bei One-Wire der 'Tricky part'. > > Ich hatte eigentlich vor, nur mithilfe des Datenblatts den Sensor > anzuschließen, aber irgendwie hab ich das Datenblatt nicht richtig > verstanden oder wusste einfach nichts mit den Infos anzufangen. Auf > Quellcode von anderen Leuten wollte ich eigentlich verzichten. In deiner jetzigen Situation ist das die falsche Einstellung. Lernen bedeutet nicht automatisch, dass man sich alles selbst von 0 aus beibringen muss. Anderer Leute Code zu studieren ist genauso Teil des Lernens. Sowohl im positiven als auch im negativen Sinn kann man von anderer Leute Code viel lernen. Das einzige was wirklich nichts bringt, das ist Code zu kopieren, laufen zu lassen, sich zurücklehnen und sagen "Schön, jetzt kann ich das auch". Einen Schmarrn hat man dann dabei gelernt. D.h. gegen das Hernaziehen von fremden Code zum Zwecke des Studiums wie der das gewünschte macht, ist überhaupt nichts einzuwenden. Nur muss es eben auch wirklich ein Studium sein und nciht einfach nur gedankenloses Kopieren. Ganz im Gegenteil ist es auch oft ganz gut, sich mehrere Implementierung anzusehen und sich anzusehen, wo die Unterschiede liegen, ob und wenn ja welche Implementierung besser (egal wie man besser definiert) ist und welche schlechter. > Da man > später im Beruf nicht auch immer irgendwo abschreiben kann. Du würdest dich wundern :-) > Habt ihr einen Tipp für mich, wie ich mich am Besten in die Thematik > einarbeite (Buch oder Online-Tutorium)? Wie seid ihr zu > Mikrocontroller-Profis geworden? AVR-Tutorial AVR-GCC-Tutorial
:
Bearbeitet durch User
Ich bin sicherlich kein Profi und lerne selber noch reichlich dazu. Diese Kombination finde ich sehr hilfreich: http://www.pollin.de/shop/dt/Mjg3OTExOTk-/Fundgrube/Literatur/AVR_Programmierung_und_Hardware_in_C_inkl_Evaluation_Board.html
>Das Problem bei Arduino ist, dass dir das Framework mit seinem vielen >vorgefertigten Komponenten so viel wegabstrahiert, dass du überhaupt >nicht mehr siehst, was sich da auf ganz unterer Bit bzw. Pin Ebene >abspielt. Das ist ein VORTEIL, kein NACHTEIL! Bit-Popelei kann er immer noch machen. Muss ja nicht für alle Zeiten bei Arduino bleiben. Als Nachteil ist die unkomfortable IDE und die nicht vorhandenen Debug-Möglichkeiten zu nennen.
Na dann Prost! schrieb: >>Das Problem bei Arduino ist, dass dir das Framework mit seinem vielen >>vorgefertigten Komponenten so viel wegabstrahiert, dass du überhaupt >>nicht mehr siehst, was sich da auf ganz unterer Bit bzw. Pin Ebene >>abspielt. > > > Das ist ein VORTEIL, kein NACHTEIL! Das kommt drauf an. Wenn du lernen möchtest, wie eine Servoansteuerung funktionert, dann ist es nicht sehr zuträglich wenn man einfach nur
1 | Servo.MoveTo( 98 ); |
schreiben kann. Wenn man eine künstlerisch wertvolle Objektinstallation machen will, dann braucht man auch nicht wissen, was da dahinter steckt. Da ist das dann ein Vorteil. Wenn man aber lernen will, wie es funktioniert, dann ist das ein Nachteil. Der TO ist Mechatronik Student und will wissen und lernen was da hinter den Kulissen abgeht.
Florian schrieb: > Habt ihr einen Tipp für mich, wie ich mich am Besten in die Thematik > einarbeite (Buch oder Online-Tutorium)? Wie seid ihr zu > Mikrocontroller-Profis geworden? Tja Florian, ich habe leider eher das Gegenteil. Ich nenne mal drei Sätze, die mir erinnerlich geblieben sind. Der eine stammt von meinem Vater, der (hochbetagt) durchaus Interesse an PC's gezeigt hatte, aber es war nur so stark, daß er mir mal sagte "Das ist ja alles hochinteressant, aber mir hat das noch nie jemand erklärt, wie das alles geht". Der zweite Satz stammt von einem meiner früheren Chefs, der zu einem Lehrling gesagt hatte "Das muß von INNEN kommen!" und der dritte Satz stammt von einem früheren Jung-Kollegen: "Darauf bin ich nicht geschult worden". Und wie ich selbst dazu gekommen bin? Als es die allerersten Z80 gab und mein Prof von einer USA-Reise ein Kit dazu mitbrachte, hat sich unsereiner zunächst auf die ebenfalls mitgebrachte Doku gestürzt und die Dame im Sekretariat bekniet, daß sie mir die Seiten mit den Opcodes kopiert. Hat sie auch. Die mitgebrachte Hardware (Kit zum Selberlöten) durften wir Studenten selbstverständlich NICHT anfassen. So war der Anfang: Lesen und Hardware verstehen lernen. Und wenn ich heutzutage und in diesem Forum immer wieder lesen muß "Ich will mich mit XYZ beschäftigen, wo finde ich den passenden Nürnberger Trichter und wer setzt ihn mir fachgerecht auf den Kopf?" dann rümpft sich mir die Nase von selbst und es kommt ein Gefühl der tiefsten Verachtung auf - ich kann da nicht anders. Es muß eben von innen kommen. W.S.
W.S. schrieb: > dann rümpft sich mir die Nase Mir, wenn ich den Begriff "Video Tutorial" höre... W.S. schrieb: > Es muß eben von innen kommen. Das Video Tutorial?
Mit Arduino lernt man nicht programmieren oder Elektronik, man lernt cut & paste. JM2C Frank S. schrieb: > Diese Kombination finde ich sehr hilfreich: > > http://www.pollin.de/shop/dt/Mjg3OTExOTk-/Fundgrube/Literatur/AVR_Programmierung_und_Hardware_in_C_inkl_Evaluation_Board.html Hast du das? Kannst du dazu was schreiben? Vielleicht gleich bei Amazon oder so, damit auch andere Leute das finden und nicht immer wieder fragen?
https://www.terrashop.de/Buch/AVR-Mikrocontroller-Kochbuch-Irmtraut-Meister-Lukas-Salzburger-ISBN-3645651268/art/64565126/ Dazu nen bisschen Hardware und du kannst fuer geschaetze 15 Euro schon ne Menge tun.
Ich habe mir am Anfang die AVR Grundschaltung auf dem Breadboard aufgebaut, zunächst mit Blink LED und dann immer neue Sachen ausprobiert. Mal mehrere LEDs, mal ein Shiftregister IC, mal einen I2C Temperatursensor, mal ein Relais mit Transistor angesteuert, ein Funkmodul einfach, ein Funkmodul SPI. Dann mal einen IR Sender mit 6 IR LEDs, der den ganzen Raum bestrahlen kann. Uvm. Dann mal eigene Platinen gemacht, die zB meine Kaffeemaschine per Funkmodul schaltet oder eine, die 4 Ausgänge mit Mosfets hat und damit diverse Dinge tun kann. Auf Arduino hatte ich keine Lust, weil mich der davon abhält die Bauteile, die Hardware zu verstehen. Habe erst 1-2 Jahre später mal einen Arduino verwendet wo es mir nur darum ging auf ein Wochenende etwas fertig zu machen.
Conny G. schrieb: > Auf Arduino hatte ich keine Lust, weil mich der davon abhält die > Bauteile, die Hardware zu verstehen. Wie macht der Arduino das? Grübel Paul
Florian schrieb: > Habt ihr einen Tipp für mich, wie ich mich am Besten in die Thematik > einarbeite (Buch oder Online-Tutorium)? Wie seid ihr zu > Mikrocontroller-Profis geworden? um Himmels Willen ich bin kein Profi, OK ich habe auch mal "professionell" programmiert neben der Hardware in Basic und C. Aber ich nutze viel aus dem Netz, Fleury Dannegger (Danke an diese) und lerne davon auch mal mehr mal weniger. Erste Versuche selbst DCF77 entschlüsseln am PC, später nutze ich nur noch den genialen Code von PeDa. Die Fleury LIB half mir I2C zu nutzen und ich habe sie sogar teilweise zum Arduino portiert weil dort nicht alles rund läuft. Tastenentprellung nach Dannegger auch. Also einiges selber machen verstehen und auch von den "Profis" lernen.
Paul B. schrieb: > Wie macht der Arduino das? Der Arduino ist eine fertige Platine, mit einer fertigen IDE, mit einem fertigen Object Framework. Dazu gibt es Module, die man andocken kann. Es ist als das Lego Duplo der Elektronik, zwei Sachen zusammenstecken, Beispiel suchen, rumspielen. Es hält mich von allen Details fern, die Elektronik eigentlich ausmachen. Ich lerne dabei nichts über den Mikroprozessor an sich, Widerstände, warum ich die wohin mache (Pullup, Pulldown), was ein Quartz ist und wie man den Mikroprozessor genau programmiert, mit Registern etc. Und ich lerne nicht Datenblätter zu lesen, siehe Story des TO. Aber jetzt geht's gerade in die übliche dogmatische Diskussion, das können wir uns sparen, gibt's hier im Forum wohl hundertfach. Wir schaffen keinen Mehrwert, wenn wir da nochmal einsteigen. Ich habe nichts gegen Arduino, ich wollte es halt nicht so. Jeder wie er will.
>Wie macht der Arduino das? Er übt einfach zu wenig zwang aus. Wenn Du einen Atmega328 kaufst, bist Du gezwungen, das Datenblatt zu lesen, damit die LED irgendwann blinkt. Den Arduino schließt man an, lädt das Blink-Example, drückt den Download-Knopf und schon blinkt es. Man wir einfach nicht gezwungen, das Datenblatt zu lesen. BTW.: Wer Spaß daran hat, kann auch bei einem Arduino UNO in der loop() PORTB|=1<<2; schreiben ( Das geht trotz der Lib ).
Franz schrieb: > Er übt einfach zu wenig zwang aus. Conny G. schrieb: > Der Arduino ist eine fertige Platine, mit einer fertigen IDE, mit einem > fertigen Object Framework. Dazu gibt es Module, die man andocken kann. Ich habe hier Arduino Mini Pro. Das ist nichts weiter als ein Platinchen mit Spannungsversorgung und dem Atmega328 drauf. NICHTS zwingt mich, die Arduino-Software zu benutzen. NIEMAND hält mich davon ab, das Ding in Assembler, Bascom oder auch C zu programmieren. Ebenso hält mich NICHTS davon ab, nach Herzenslust an Registern "von Hand" herumzufuhrwerken. Ich verstehe den Hass mancher Leute auf ein kleines Platinchen nicht. Warum schimpft man nicht genau so auf ein STK500 oder die AVR-Platine von Pollin? Das ist auch NICHTS ANDERES, als eine fertige Experimentiermöglichkeit. MfG Paul
Paul B. schrieb: > Das ist auch NICHTS ANDERES, als eine fertige Experimentiermöglichkeit. Es ist mehr als NUR eine fertige Experimentiermöglichkeit. Es ist praktisch der Standard oder wird es gerade.
Arduino ist ein furchtbarer mischmasch Begriff. Pures Chaos, genau wie im Kopf der Künstler die damit Lichtinstallationen bauen. Der Arduino Uno ist ein wunderbares kleines Platinchen welches man dank China sehr günstig bekommt. Ideales Experimentieplattförmchen wo dann nicht gleich 50€ hinüber sind wenn man mal mist baut.
> mein Name ist Florian und studiere Mechatronik im 4. Semester. Hallo Florian, willkommen im Haifischbecken. > Bis jetzt habe ich so ziemlich alle Prüfungen gut bestanden. Streber. :-) > Trotz der bestandenen Prüfungen in den jeweiligen Fächern, habe ich das > Gefühl, dass ich vom Programmieren nicht viel Ahnung habe. Deine Gefuehle sind zu 100% richtig. > Quellcode von anderen Leuten wollte ich eigentlich verzichten. Da man > später im Beruf nicht auch immer irgendwo abschreiben kann. Das ist zweifellos richtig so und im Zeitalter von Lug&Betrug eine ungewoehnlich ehrbare Ansicht. > Wie seid ihr zu Mikrocontroller-Profis geworden? Wir haben nicht so schnell aufgegeben. Ausserdem habe ich nicht alle meine Pruefungen mit gut bestanden weil mir manchmal das Basteln mit Mikrocontrollern wichtiger war. :) Zunaechst mal, es spricht nicht dagegen sich auch mal den Source anderer Leute anzuschauen. Man kann daraus lernen, man sollte ihn bloss nicht ohne zu denken oder verstehen, kopieren. Dann ich der 1-Wirebus fuer einen Anfaenger leider auch noch ziemliche Kacke. Das liegt daran das der Bus ziemlich hohe Timinganforderungen stellt. Man kann da nicht mitten in einer Uebertragung mit dem Debugger anhalten und dann weitermachen. Wenn ich dir etwas empfehlen darf, besorg dir erstmal ein SPI ICs. Das programmierst du direkt ohne die eingebaute Hardware im Controller. Danach machst du dasselbe mit einem I2C-Bus IC. Danach liesst du mal das Datenblatt deines Controllers intensiver und machst das mit der integrierten Hardware. Und dann wendest du dich wieder dem 1-Wireprotokoll zu. Olaf
@ Klaus: Ja, das Buch und das Board habe ich in der verlinkten Kombination gekauft. Passend dazu habe ich mir zusätzlich noch diese hier angeschafft: http://www.pollin.de/shop/dt/NjQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_ATMEL_Addon_Board_V1_0.html http://www.pollin.de/shop/dt/ODM4OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_Portsplitter.html http://www.pollin.de/shop/dt/MjQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_Streifen_Punktrasterplatinen_Adapter.html Da ich ziemlich talentbefreit bin, was das Programmieren angeht, tue ich mich ziemlich schwer damit, das alles zu verstehen. Aber ich werde mich mit der Zeit durch das Buch ackern. Was ich bisher gelesen habe, war schon hoch interessant und geht einiges über das Wissen hinaus, dass ich nach rund drei Jahren Herumbasteln mit den Arduinos und ein paar Attinys gelernt habe. Es wird zu Beginn in dem Buch relativ ausführlich auf die AVR ansich und deren "Grundbeschaltung" eingegangen. Auch wird beispielsweise erklärt, wozu ein Kondensator gut ist und was für Alternativen es zu einem Quarz gíbt, etc. Einiges kannte ich schon, andere Dinge waren mir aber neu. Ich kann diese Kombination jedem empfehlen, der sich ernsthaft mit dem Thema AVR auseinandersetzen möchte. Das Buch behandelt sicherlich nicht alle Kniffs und Tricks, die es für AVR gibt. Aber wenn man es durch hat und alles verstanden hat, ist man für eigene (auch umfangreichere Projekte) sehr gut gerüstet. Frank
Wenn man sich überlegt, wie sich doch die Ansichten der MC-Netz User langsam aber sicher wandeln. Beitrag "Re: Arduino - bringt's das ?"
Frank S. schrieb: > Aber wenn man es durch hat und > alles verstanden hat, ist man für eigene (auch umfangreichere Projekte) > sehr gut gerüstet. Hört sich gut an. Wie gesagt: mein Tipp: bei Amazon reinschreiben, dann kann man da auch ggf. mal hinverweisen, wenn die immer gleiche Frage hier kommt.
Franz schrieb: > Wenn man sich überlegt, wie sich doch die Ansichten der MC-Netz User > langsam aber sicher wandeln. Zitat: > ... Arduino: > Es ist hald eher auf beginner ausgelegt, oder auf leute die besser > programmieren als löten können. Ja damit lügen sich die Arduinoboys regelmäßig selber in die Tasche. Natürlich können die so schlecht programmieren wie sie Hardware verstehen können (als wenn es aufs Löten ankommen würde...). Aber wenn sie selber an die HW ranmüssen dann sehen sie sofort dass sie keine Ahnung haben und nichts funktioniert. Bei SW geht das bisschen anders. Erstmal hat man da die fertigen libs und dann kopiert man halt noch die 4 Zeilen Ansteuerung dieser libs ausm Netz. Und voila, man kann programmieren. Nur das HW-Zeug liegt einem halt nicht so. Die Lebenslüge schlechthin aber wer hat die nicht. gruß cyblord /Zitat Tja, ich kann da unserem cyblord nur hinzufügen, daß es danach aussieht, als ob in Sachen µC-Verwendung und Programmierung die berüchtigte Richter-Skale nach unten hin geradezu unbegrenzt ist. Schlimmer geht's immer. Es ist wohl der Drang der Leute, ohne eigenen Fleiß den erwünschten Preis erringen zu können. W.S.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.