Hallo! Zunächst möchte ich mich hier kurz vorstellen: Ich bin 22 Jahre alt, Wirtschaftsinformatik-Student im ersten Semester und Hobbybastler. Bis jetzt habe ich mich an einfachere Schaltungen mit nur wenigen ICs gehalten (Beispielsweise eine Art LED-Lauflicht, das über Sound-to-Light weitergeschalten wird) und möchte jetzt in die Welt der µController einsteigen. An Programmierkenntnissen kann ich leider nur Java anbieten (1. Semester, nicht besonders weit fortgeschritten), was mir ja bei µControllern nicht so viel bringt. Ich habe vor zunächst einige Tutorials anzuschauen und nachzuvollziehen und dann möglichst ohne fremde Hilfe was zusammenzubasteln und zu Programmieren. Mein erstes größeres Projekt soll ca. so aussehen: - 2 PWM Ausgänge, um LEDs zu dimmen - Tasten zum Einstellen des Dimmeffekts - On/Off für LED1 und LED2 // eher unwichtig, stattdessen Dimmen auf 0% - LCD Display zur Anzeige der Daten - Später: USB Anschluss, Windowsoberfläche zum Regeln der LEDs Programmierung sollte idealerweise über USB erfolgen können, für einen Paralellport müsste ich einen alten PC aufstellen, was kein Problem, aber Zusatzaufwand wäre oder einen USB-Parallel Adapter holen... Soo... jetzt zu meinen Fragen: - Welche Programmiersprache könnt ihr mir empfehlen? Sie sollte entweder ähnlich aufgebaut sein wie Java von den Befehlen her oder recht leicht zu erlernen/verstehen sein (wir lernen an der Uni grundsätzlich nur Java und das Studium ist schon genug Arbeit, da muss eine zweite komplizierte Programmiersprache nicht sein) - Welches Starterset sollte ich mir zulegen oder zusammenbauen? Wie gesagt bevorzugt wäre etwas mit USB Anschluss, Preis ist unwichtig, darf gerne etwas "besseres" sein, um später mehr damit anzustellen. Als Alternative könnte es auch ein billiges Teil sein, das später ersetzt wird. Pollin wär direkt bei mir um die Ecke, da könnte ich mir einige Teile billigst holen und auch selber was zusammen basteln. Ansonsten wär noch ein Conrad in der Nähe oder ich bestell eben was im Internet. - Was brauche ich alles beim selbstzusammenbauen? Irgendwelche Bauteilempfehlungen? - Habt ihr noch sonstige Tips, ausser lesen, ausprobieren und basteln? Danke schon mal im Vorraus! MfG Matthias
Hallo und willkommen! Es gibt eine minimalistische Java-VM für AVR, siehe: http://www.harbaum.org/till/nanovm/index.shtml http://www.mikrocontroller.net/articles/NanoVM Ob du damit glücklich wirst, weiß ich nicht. PWM und LCD dürften auf den ersten Blick drin sein. Für USB bräuchtest du ein IC wie z.B. FT232, welches eine serielle Schnittstelle per USB implementiert (der Mikrocontroller ist dann einfach per UART an das IC angebunden). Für mich persönlich wäre Java auf einem Mikrocontroller eine sehr starke Beschränkung (Ausnutzung der Hardware kaum möglich, weder in Speicher noch in Performance). Ansonsten musst du C (durchaus Arbeit zum Lernen, dafür "bequeme Hochsprache") oder Assembler (native Prozessorbefehle - kaum Lernarbeit, dafür macht man alles zu Fuß) lernen. Gruß David
Hallo, zum Einstieg lege ich dir ebenfalls die 8 bit AVRs ans Herz. Ein paar Grundlagen in Assembler sind sehr sinnvoll, aber du kannst dann auf GCC umsteigen und hast mit JAVA einen brauchbaren Einstieg. Was die Hardware angeht: Da du Student bist gibt es unter http://www.eproo-student.de preiswert z.B. das STK500 und den AVR Dragon. Das STK ist ein sehr vielseitiges, robustes, gut ausgestattetes und durchdachtes Board. Das AVR Dragon ist eine Programmier- und Debuggingschnittstelle für 8- und 32 bit MCUs von Atmel, also auch evt für später sinnvoll. Dazu dann noch ein kleines regelbares Netzteil mit einstellbarer Strombegrenzung, ein Breadboard und eine Hand voll Widerstände, LED, Transistoren, Drähte etc um die Pins des MCs vom STK500 per 10 polige Flachbandleitungen mit der Außenwelt zu verbinden. USB ist in Software mit den einfachen AVRs möglich, es gibt aber auch Modelle mit eingebautet HW USB Schnittstelle... aber erstmal die Grundlagen verstehen ;). Grüße
Hallo, Matthias J. schrieb: > An Programmierkenntnissen kann ich leider > nur Java anbieten (1. Semester, nicht besonders weit fortgeschritten), > was mir ja bei µControllern nicht so viel bringt. > > Ich habe vor zunächst einige Tutorials anzuschauen und nachzuvollziehen > und dann möglichst ohne fremde Hilfe was zusammenzubasteln und zu > Programmieren. Da bietet sich als Sprache C an und als Tutorial gleich das hier auf µC.net :). Egal was Du machst, Du wirst Dich bei einem Mikrocontroller näher an der Hardware aufhalten als Du das von Java gewohnt bist (außer vielleicht bei BASCOM oder Arduino, weiß nicht so genau), aber das ist Dir vermutlich schon klar. Auch in C greifst Du da direkt auf die Prozessorregister zu. Bei C muss man sich um einige Dinge selber kümmmern, die einem Java abnimmt. Die größeren Hürden sind wohl die Pointerarithmetik, die Unterscheidung von Wert- und Referenzübergabe bei Funktionen und die Speicherverwaltung. Aber es schadet tatsächlich nicht, das auch mal gemacht zu haben. Zur Hardware können andere sicherlich mehr sagen. Ich selbst habe vor kurzem (auf vielleicht etwas ausgefallene Art) angefangen mit dem Pingpong-Bausatz von Franzis (lief mir bei Conrad zufällig über den Weg) und einem USBasp-Programmer von Ebay. Inzwischen habe ich mir einen AVR Dragon gekauft, weil mir das Debuggen mit JTAG direkt in der Schaltung lehrreich erscheint. Schaltungen baue ich momanten auf einem Steckbrett auf, ein Experimentierboard wir das STK500 habe ich nicht, will aber nicht ausschließen, dass sowas sinnvoll sein kann. Mirko
hallo, hab grade keine zeit, deinen beitrag genau durchzulesen, gebe deshalb meinen senf "blind" dazu. für einen schnellen und günstigen einstieg empfehle ich -AVR-Mikrocontroller -den Zweidraht-Parallelport-Programmierer a la Rohwoldt bzw. SP12 -zum Programmieren und Beschreiben BASCOM AVR, kann man kostenlos downloaden BASCOM ist ein µ-controller-orientiertes Basic, ich benutze es schon ziemlich lange mit erfolg. wenn du richtig in die tiefe gehen willst, ist GCC sicher besser, für hausgebrauchsprojekte wie LEDs dimmen, schrittmotoren steuern o.ä. reich BASCOM völlig aus, trotz aller unkenrufe!
>a la Rohwoldt
Rowalt heißt der Mann und sein Buch "AVR-Mikrocontroller-Lehrbuch"
ist eine ganz feine Sache zum Einstieg.
(Nein, ich bekomme keine Prozente und ich kenne ihn auch nicht
persönlich)
MfG Paul
Er schrieb doch dass es ruhig ein paar Euros kosten darf. Daher rate ich dringend zu Equipment direkt von Atmel. Da passt alles perfekt zusammen (vor allem mit dem AVR Studio) und ist was Kompatibilität, regelmäßige Updates und Bugfixes angeht unschlagbar verglichen mit Selbstbaulösungen und Sofware von Privatpersonen. Wenn du also gutes Werkzeug zu schätzen weißt... denk mal drüber nach. Meine Meinung dazu.
...und endlich mal ein nicht völlig überzogenes einstiegsprojekt! so wird das was! der rest steht hier schon, ich rate auch zur PnP lösung von atmel (stk500). Viel Erfolg! Klaus.
Danke für eure Antworten, hab mir das ganze mal angesehen. Die NanoVM hört sich nicht schlecht an für so kleine Projekte, aber weil die Entwicklung wohl eingestellt wurde, werde ich mich doch lieber durch C und die Tutorials durchkämpfen. Soweit ich gesehen habe sind ja die Befehle und Synthax ähnlich einem Java Programm, den Rest werde ich dann schon hinbekommen! Ich denke ich werde mir erstmal das STK500 holen, für 40€ kann man denke ich nicht viel falsch machen und was ich so gelesen habe ist es auch gut ausgestattet. Dazu kommt dann noch ein USB-COM Adapterkabel, vorsichtshalber ein paar ATMega8, Leds, Widerstände, Netzteil, Schalter/Taster usw. sollten genug da sein für die ersten Basteltage ;) Danke nochmal, man sieht sich dann spätestens wenn ich mit meinen LEDs fertig bin ;) MfG Matthias
Hi Ok, ich hab meine Vorredner nicht alle genau durchgelesen, daher kann's sein, ich wiederhole etwas. Ich kann nur sagen, wie ich angefangen habe. Grund war eine Aufgabe, die mit einem PC nicht zu lösen war, da ich Signale schnell erfassen und berbeiten wollte. Irgendwann las ich dann von einem Board für Atmel-Controller und das war der Anfang. Also hab ich dieses Teil bestellt und ein wenig "Zubehör" Das Board ist von Pollin. Dazu ein Steckbrett, ein paar Bauteile (AVR's, ULN's, Spannungsregler, Widerstände, Kondensatoren, Transistoren und Dioden, Netzteil) Da ich Elektrotechniker bin, hab ich natürlich auch ein paar Grundlagen im Gepäck und darauf kann man auch nicht verzichten. Also, ein Stromkreis sollte kein Fremdwort sein. Beruflich programmier ich Großanlagen, daher bevorzuge ich ASM auf Controllerebene, Pascal (Delphi) ist die Ebene für PC's. Ab und zu braucht's halt auch ein Programm, um die mit dem Controller erfassten Daten zu verarbeiten. Mit diesem Wissen, der Hardware und den hier veröffentlichten Tutorials habe ich relativ einfach den Einstieg gefunden. Die Programmiersprache ist m.E. nicht relevant, es kommt darauf an, was du willst. Sicher wirst du auch irgendwann Assembler einsetzen müssen, weil die bevorzugte Sprache etwas nicht vorgesehen hat. Ich werde demnächst auch auf Basic verfallen, weil de benötigte Mathematik für das nächste Projekt halt einfacher in Basic zu programmieren ist. Ob nun C, Basic oder ASM einfach ist, kann ich nicht sagen. Wer in Bits denkt und logische Zusammenhänge versteht, Vorgänge analysieren und in kleine Schritte zerlegen kann, hat nicht so große Probleme. Man muß wirklich einfachst in Blackboxdenken verfallen. Was hab ich ( Signaleingang) Was will ich ( Ergebnis, Signalausgang) und eigentlich steht's zwischen diesen beiden Fragen, Wie komm ich zum Ergebnis. Letzteres ist die Blackbox, das unbekannte. Es muß nicht ein Programm sein, aber wenn es eines ist, dann wird innerhalb der Bb weiter zerlegt, bis man glaubt, weiter geht's nicht. In ASM ist's noch extremer wie in einer Hochsprache, dafür bist du aber auch schneller und kompakter. Aber ich sagte ja schon, es kommt auf die Aufgabe an. 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.