Hallo, Ich möchte mal anfangen Hardware zu Programmieren. Da ich von den vielen Begriffen wenig verstehe, und auf den Seite, wo diese erklärt werden, wieder neuen Begriffen begegne, hat es für mich wenig Sinn, sich über eine Suchmaschine fachkundig zumachen. Deswegen wollte ich hier mal Fragen ob mir jemand sagen kann, welche Teile man dafür braucht, welche Internetseiten gute Tutorials/Bücher haben, die sich an Anfänger richten und welche Programmiersprache verwendet werden sollte. Ich benutze zur Zeit Linux, und möchte nur sehr ungern Windows verwenden, hätte aber Windows 7 als Alternative. Zurzeit lerne ich die grundlegenden Dinge beim Programmieren, mit Beispielen anhand der Programmiersprache C++ mit einem Buch (Programming - Principles and Practice Using C++). Soweit ich weiß/hier gelesen habe, sollte man so etwas in C oder Assembler machen. Habe aber hier auch schon von Basic gelesen. Ich habe mit dem Wikibook Gambas gelernt, falls das auch geht. Ansonsten weiß ich, dass wir in der Schule noch Delphi lernen, weshalb ich auch bald beginne mir Freepascal genauer anzuschauen. Falls eine Assemblersprache, ist da die Nächste Frage: Welche? Ich arbeite mit einem 32-Bit System. Zuletzt noch die Frage, ob man dies in der Schule lernt bzw. wann. Ich gehe in Berlin auf ein Gymnasium (kein technisches) und habe dort auch vor Informatik Kurse zu belegen. Ich möchte eben erstmal nur die grundlegenden Dinge lernen und mich auch ein bisschen mit Hardware beschäftigen (da habe ich nämlich viele Lücken). Ich glaube gerade bei diesem Thema ist learning-by-doing angesagt, oder etwa nicht? :) Sollte ich überhaupt mir Mikrocontrollern anfangen? Ich hoffe ihr könnt mir helfen :-) Marlon
> Sollte ich überhaupt mir Mikrocontrollern anfangen?
Wer so fragt: Lern lieber GUT kochen.
Guckst du hier: http://www.mikrocontroller.net/articles/AVR-Tutorial Das Tutorial ist wirklich gut. Ich verstehe schon, am Anfang wird man völlig überrannt, es lohnt sich aber trotzdem, einfach mal einen Nachmittag lang sich einzulesen, unbekannte Begriffe nachzuschlagen usw. Auch wenn man nicht alles kapiert, erarbeitet man sich so langsam aber sicher eine gewisse Übersicht über das Thema. Eine Warnung gleich zu Beginn: Das Thema Mikrocontroller ist gross, schwierig und am Anfang unübersichtlich. Ohne viel Motivation, Interesse, Zeit, Frusttoleranz und etwas Hirn geht es nicht! :-) > mit Hardware beschäftigen (da habe ich nämlich viele Lücken) Von 'Lücken' sprechen kann man nach abgeschlossenem Studium, vorher ist es schlimmer und nennt sich 'keine Ahnung' ;-)
@ Marion Wenn du bereits Linux benutzt, dann bleibe damei. Unter Linux kann man prima programmieren lernen und dann auf hardwarenahe Programmierung weitergehen. Eine Buchempfehlung: Jürgen Plate Linux Hardware Hackz http://www.hanser.de/buch.asp?isbn=978-3-446-40783-1&area=Computer Vielleicht mal mit der Schulbücherei reden, ob Mittel (40€) dafür vorhanden sind. Man muss nicht unbedingt mit Mikrocontrollern anfangen. Einige Sachen kannst du ohne steuern. Mikrocontroller bieten aber mehr Möglichkeiten und Flexibilität, wenn du kompliziertere Projekte angehst. Wie du am Verhältnis der Artikel hier siehst.
Danke erstmal für die Beratung und für die Links. Der Mikrocontroller selbst ist ja billig, aber mit dem allein kann ich ja nichts anfangen. Jetzt habe ich mir mal das angeschaut http://shop.embedded-projects.net/product_info.php?ref=2&info=p43 , kann ich das in Kombination mit dem Mikrocontroller bestellen, und reicht das dann? oder brauche ich noch mehr? Werde aus den vielen Vergleichen von den Platinen etc. im Tutorial nicht schlau :/
Nein reicht nicht. Du brauchst noch einen sog. [[AVR In System Programmer]]. Welchen du nimmst, ist von der vorhandenen Computerausrüstung (Schnittstellen!) und dem verfügbaren Etat abhängig.
Schau dir genau den Lieferumfang an. Denke an die Verbindungskabel zwischen PC und Targetboard und an die Stromversorgung mit einem Steckernetzteil. Das läppert sich zusammen.
Wenn ich mich nicht irre haben die Prozessoren in Handys und Mp3-Playern oftmals ARM-Controller. Gibt es große Unterschiede zwischen der Programmierung solcher und den AVR-Controllern? Kann ich auf eine Platine alle möglichen Mikrocontroller aufstecken? Danke nochmals für die Hilfe marlon
Geht nicht. Du brauchst nur mal die frei erhältlichen Datenblätter der verschiedenen µC zu vergleichen: Abweichungen in der Gehäuseform, Anzahl der Pins und Belegung der Pins sind offensichtlich!
Hallo Martin, ich kann Dich ganz gut verstehen und wenn man ganz am Anfang steht ist es nicht ganz einfach. Hast Du Dir schon mal http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Durchgelesen? Ganz wichtig für µC ist, dass Du dich mit Bit manipulationen in C auskennst, da die meisten Funktionen in einem µC durch setzen oder löschen von Bits in Registern des µC passiert. Auf die Register kannst Du von Deinem Programm aus wie auf eine normale Variable zugreifen. Am besten Du besorgst Dir für den Anfang ein Evalboard mit einem AVR-Controller drauf, dann musst Du nicht gleich auch noch löten, dass kannst Du dann als nächstes machen. Erstes Ziel sollte es dann sein mal eine LED am µC zum blinken zu bringen. Empfehlungen für Evalboards können vielleich die anderen geben. Für Board + ISP Programmer musst Du auf jeden Fall so um die 100€ rechnen. An sonsten, stell am besten in diesem Thread konrete Fragen was Du nicht verstehst. Lad Dir mal z.B. http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf Runter, druck es aus und versuch es zu verstehen, in solch einem Datenblatt alles über solch einen µC drin. Auch immer wieder mit kleinen Programmierbesiepielen. Gruß & viel Erfolg Tom
Hi, so schlimm fand ichs garnet. hab auch noch net soo lang mit AVRs angefangen,(hab vorher andere µCs schon programmiert) also wenn du nen parallelport hast, (auch wenn jetzt hier einige wieder das motzen anfangen werden), gehts sehr leicht und auch sehr billig. was du dann nämlich MINIMALST brauchst um anzufangen sind: 1 Lötkolben wär sinnvoll (hast vllt schon? sonst gehts da ab rund 10€ für ganz billige geräte los, 30W sollt er haben sonst geht irgendwie nix ;) [ja, billig kauft man immer 2x, aber lieber erst mal mit 10€ testen oder bei 100€ merken dass es keinen spass macht?]) 1 Atmega (hab als erstes nen Atmega8 gehabt) (ca 1-2€) 1 programmer, (ich hab am anfang den: http://www.tuxgraphics.org/electronics/200411/article352.shtml benutzt und noch nie probleme gehabt, is ein parallelportprogrammer zum selbst baun, typ "dapa" für avrdude/winavr) (insgesamt ca 3€) 1 steckboard wär sinnvoll, da gibts z.b. beim reichelt günstige, so ca 10€ 1 labornetzteil (50€ aufwärts) oder weitaus billiger: 1x Spannungsregler 7805, 1 9V-Batterie und ein 9V-Clip (zusammen ca 3€) dazu ein paar bauteile (led, widerstände [z.b. 470 Ohm für die LEDs, ein paar 10k für pullups etc], ein paar taster,Kondensatoren [z.b. 100nf zum blocken] und ein paar drähtchen) dann kanns auch schon losgehen wenn wir also mal vom lötkolben absehn, kannst du mit rund 15€ deine erste led blinken lassen. Achja, software is gratis is natürlich net verkehrt, wenn du mehr als 1 atmega, 7805 etc. hast, weil du wirst vllt mal was mit mehreren controllern machen wollen oder sonst was. wenn du dann merkst es taugt dir, ist natürlich ein usb-programmer oder ein evaluationboard evtl sinnvoll (ich hab inzwischen einen usb-programmer namens usbasp, weil ich am laptop keinen parallelport hab. is auch zum selbstbaun, allerdings brauch man da bereits einen funktionierenden progammer für die "erstinstallation", das teil kostet dann auch <10€) gruß
Da ich leider nicht mehr editieren kann mach ich einen Doppelpost. was ich noch vergessen hab zum Thema programmer, es gäbe noch ne alternative. Wenn du direkt einen USB-Programmer haben willst, aber nichts hast um ihn zu programmieren, kannst du evtl. den hier: http://www.tuxgraphics.org/electronics/200510/article05101.shtml bauen. hab ihn aber selbst noch nicht getestet. ist halt stk500-kompatibel, hat usb und kann ohne weitere dinge progammiert werden. Weiß aber nicht genau wie man das ding unter Windows "initialisiert"(also den programmer selbst programmiert), für linux is angegeben. ausserdem ist er schätzungsweise durch den usb-chip etwas teurer und wohl deutlich schwieriger zusammenzubasteln gruß und sry 4 Doppelpost
vielleicht hilft dir ja der link: http://www.sparkfun.com/commerce/tutorials.php und speziell: http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=57 Lass dich nicht entmutigen. Egal wie man anfaengt, es hat etwas von: sich an den Haaren aus dem Sumpf (der Ahnungslosigkeit) ziehen Ganz normal. s. a.: http://de.wikipedia.org/wiki/Top-down_und_Bottom-up Von der Software zur Hardware, oder umgekehrt. Es ist nie leicht, aber es macht Spass. viel Glueck
Noch eine Anmerkung zum Netzteil: USB am Computer liefert 5 Volt vollkommen gratis (d.h. 'nen USB-Stecker zum Einstecken in den Computer an dem man die Masse und die 5 Volt Leitung anschließt brauchts natürlich schon). Gerhard
was ich auch empfehlen kann, so zum anfangen währe das Arduino Board, zb bei www.bausteln.de zu bekommen, is einfach per usb anzuschließen, und reicht zum ersten basteln. die Softwareumgebung is C, auch für Linux zu haben, und sehr übersichtlich.
Hi Die Frage ist nicht "wie" sondern "was". Man kann natürlich diverse Tutorials abarbeiten, aber es ist nicht wirklich ergiebig. Richtig was lernen wirst du, wenn du z. B. eine alte Eisenbahn mit einem PC steuern möchtest. Klar, der PC hat nicht so viele Ausgänge, die man zum Steuern nutzen könnte. Auch geeignete Eingänge fehlen in der Regel. Ach ja, da kommt µC ins Spiel. Der kann sowas. Nun muß er sich nur noch mit dem PC verständigen und "trara", wir haben eine Aufgabe. Ab jetzt ist deine Zeit mit Mädels vorbei. Fußball, Kino, schwoofen und was sonst auch immer Spaß machte, ist kalter Kaffee. Das einzige, was du jetzt noch heiß mahen kannst, ist ein Lötkolben. Worauf ich hinaus will: der Weg zum Verständnis der Programmierung ist einfacher, wenn du dir eine Aufgabe suchst. Etwas, was dich interessiert. Vom Aquariumsteuergerät über ne Ampelanlage zum automatischen Alarmierungsgerät mit Handyruf, was auch immer deine Sinne beglückt, es muß eine Aufgabe sein. Sie kann ruhig anspruchsvoll und schwierig sein, denn du wirst lernen, mit kleinen Schritten deinem Ziel näher zu kommen. Wenn du deine Arbeit mindestens 5 mal in der Tonne versenkt und neu aufgesetzt hast, kommen wir dem Begriff "programmieren" näher. Nun zur Ausrüstung. Ein PC, kann ruhig alt sein und noch die begehrten Schnittstellen wie Druckerport parallel sowie seriel haben. USB ist für's erste optional. Deq weiteren Software, aber die kennst du ja bestimmt, VB, C, Pascal was halt verfügbar und erlernbar ist. Hardware für µC Ein Board zum flashen, einen ( mindestens) Controller, ein Netzteil 5 V, ein Meßgerät, ein Lötkolben, etwas Platinenmaterial, Kondensatoren, Widerstände, LED's Relais, Transistoren und Dioden, vielleicht noch ein paar MAX 232 oder ähnliches, ULN 2008 ist auch nicht schlecht und eine Bude, die man vor neugierigen Brüdern und Schwestern verschließen kann. Eine geduldige Mutter und einen großzügigen Vater, das rundet die Sache ab. Ein guter Kontakt in den wichtigsten Foren und vielleicht noch einen Freund, der mitspielt. das wär's erstmal so in etwa.... Gruß oldmax
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.