Hello. Ich bin neu hier, und warne sofort, dass duetsch nicht meine Muttersprache ist.;) Also bitte Antworten wie:"...lern erstmal Deutsch" ersparen. So, nun stelle ich mich kurz vor. Mein Name ist Anton, und ich komme aus der Ukraine:) In zwei Monaten bekomme ich meinen Bachelor of Science in NanoEngineering. Zunehmend interessiere ich mich für die Mikrokontroller-Programmierung, da ich das Gefühl habe, dass jeder Ingenieur oder Wissenschaftler das mal können muss/soll. Ich finde es ganz praktisch, dass man die routine Laborarbeit(z.b Messungen oder Produktion) automatisieren oder verbessern kann, in dem man einen µC für eigenen Zweck programmiert. Soooo. Im moment besitze ich Arduino Mega 2560(Ich hoffe das reicht für den Anfang), die ich mit Hilfe von Processing programmieren und ansteuern kann. Ich habe sogar es geschaft, die Daten aus einem Thermosensor als Graph zu plotten, und als TXT-Datei zu speichern. Geil, nicht?!:)) Nun habe ich erfahren, dass Processing nur mit Arduino funktioniert, und eigentlich nicht für µC gedacht ist. Nun merke ich, dass ich einen Rat brauche. Was ich will: -µC Programmieren können ( C/Java Grundkentnisse sind vorhanden) -eine Benutzeroberfläche für die Steuerung eines µC erstellen können (geht mit Arduino und Processing) -Ablesen, visualisieren und verarbeiten von Daten. Frage: Gibt es eine (also wirklich nur EINe) Software, die das alles kann. Ich suche also ein Programm, die es wirklich lohnt, zu erlernen. Nicht so wie bei Processing, die nur mit Arduino funktioniert. PS. Nehmen wir an, ich interessiere mich erstmal nur für AVR-Processoren. Vielen dank im voraus für ihre strukturierte und sachlich wertvolle Antworten
Eine Antwort kann ich Dir leider nicht geben, da ich BASCOM programmiere und von C keine Ahnung habe. Aber da bist Du hier sicher gut aufgehoben, denn hier sind einige sehr kompetente Leute unterwegs. Aber ich muß mal sagen, gerade weil deutsch nicht Deine Muttersprache ist, schreibst Du nahezu perfekt und deutlich besser als manche Andere hier in Internetforen. Dein Anliegen ist sachlich und verständlich beschrieben und ich wünsche Dir hier viele vernünftige Antworten und Vorschläge. Leider kann ich Dir keine bieten.
HI Als notorischer Assemblerprogrammierer muss ich mal fragen was 'Processing' ist. MfG Spess
Natuerlich gibt es nichts Durchgaengiges. Ich verwende AVRCo Pascal auf den AVR und Delphi auf dem PC. Mit C/C++ hab ich wenig am Hut. Mach aber genau das was du beschreibst. Der Controller ist das Hardware Frontend des PC, das eine Funktion sicher und praezise ausfuehrt.
Ich verstehe nicht wirklich was du willst, aber hier gibt es diverse Projekte im Wiki an denen du dich orientieren kannst bzw. dir Möglichkeiten aufgezeigt werden, Bsp: USB IO Expander Wenn du wirklich eine Entwicklungs-Umgebung suchst, mit der du einen AVR und einen PC beschicken kannst, wirst du wohl enttäuscht werden.
spess53 schrieb: > Als notorischer Assemblerprogrammierer muss ich mal fragen was > 'Processing' ist. hier: http://processing.org/ Gehört zwar nich an den Thread, aber ich habe schon mehrmals gehört, das assemlber einfach veraltet und sehr unübersichtlich ist.Stimmt es?=)
kelle schrieb: > Ich verstehe nicht wirklich was du willst, aber hier gibt es diverse > Projekte im Wiki an denen du dich orientieren kannst bzw. dir > Möglichkeiten aufgezeigt werden, > Bsp: > USB IO Expander > > Wenn du wirklich eine Entwicklungs-Umgebung suchst, mit der du einen AVR > und einen PC beschicken kannst, wirst du wohl enttäuscht werden. Das st nah dran, aber "unsportlich":) Ok, ich versuche es genauer zu erklären was ich will: Beispiel aus meiner Bachelor Arbeit: Im Labor läuft eine Messung: Die Probe wird mit einem Laser bestrahlt. Wegen Vibration der Umgebung wandert der Stahl langsam aus der Probe. Manuelle Lösung: Ein Mensch sitzt die ganze Zeit, und schiebt die Probe in die richtige Richtung. Da die Messung über vielen Stunden läuft, ist diese lösung lange nicht optimal Hi-Tech Lösung: Ein CCD Sensor verfolgt die Bewegung des Strahles, und korrigiert mit einem Schrittmotor die XYZ Postion der Probe. Außerdem soll die Intesität und Position des Strahles in Abhängigkeit von der Zeit graphisch auf dem PC dargestellt werden. Die manuelle XYZ soll auch vom PC möglich sein. Theoretisch könnte man das alles mit einem µC realisieren, der die CCD ansteuert, daten analysiert und nötige korrekturen vornimmt.Gleichzeitig sendet er die nötige Info an PC, die auch graphisch visualisiert wird. Außerdem muss amn in der Lage sein, den µC auch manuell, von einer Benutzeroberfläche zu steuern. Kann man das alles mit einer Software realisieren?
Anton R. schrieb: > ich habe schon mehrmals gehört, > das assemlber einfach veraltet und sehr unübersichtlich ist uh, da trittst du eine Lawine los. Ich hab auch schon mehrmals gehört, daß diese Geschichte mit Jesus und Engeln und Himmel und so einfach veraltet ist. Es gibt dennoch manche Menschen, die das für ziemlich wichtig halten, und andere Menschen die das alles für total unwichtig halten. Ich persönlich bin übrigens "Assembler-Agnostiker" ;-) http://de.wikipedia.org/wiki/Agnostiker
Hi Anton, also ich denke, dass du so ein programm nicht findest (oder ich kenne es einfach auch nicht), aber du kannst so ein programm (kommunikation µC und PC) selbst schreiben, oder probieren zu schreiben. Gui in Java programmieren , µC in asm oder C programmieren.
Anton R. schrieb: > Gibt es eine (also wirklich nur EINe) Software, die das alles kann. Klar gibt es die. Aber das ist eine Programmiersprache und die heisst C. Beantworte dir selbst erstmal die Frage, ob du wirklich µC programmieren möchtest oder ob du mit irgendeinem Programm möglichst schnelle Ergebnisse erzielen möchstest, die zwar tolle Sachen machen, aber du hast keine Ahnung, warum sie das machen. Für letzteres bist du in diesem Forum falsch. Arduino ist keine µC-Programmierung, sondern Arduino besteht aus einer Hardware-Platform mit einem µC. Zur µC-Programmierung brauchst du ein Entwicklungsboard, dafür kannst du das Arduino, das du schon hast nehmen, eine Entwicklungsumgebung, z.B AVR-Studio, einen ISP-Programmer und das Datenblatt des Controllers, den du verwendest. Dazu kommt dann noch ein Steckbrett und ein paar Elektronikteile. Für den Anfang tun es da ein paar Widerstände, Transistoren, LEDs, Kondensatoren. Und natürlich einen Lötkolben. DAS ist die Welt der Mikrocontroller. Ob du deine ersten Programme nun in C, Bascom, Assembler oder was auch immer schreibst, ist eigentlich völlig egal. Klick mal oben links auf AVR. Darunter findest du dann zwei Tutorials. Eins für Assembler das andere für C. Die guckst du dir erstmal an. Dann bekommst du einen ersten Eindruck, was dich erwartet. Wahrscheinlich wirst du erstmal gar nichts verstehen, aber das ist normal. Und wenn die ersten (Test-)Programme auf dem µC laufen, kümmerst du dich darum, wie du Daten an den PC schickst und wie der PC diese Daten empfängt und auswertet. Üblicherweise macht man das mit einer virtuellen RS232-Schnittstelle über USB. So ein Teil ist auch auf deinem Arduinoboard drauf. Und die Auswertung auf dem PC machst du in einer Programmiersprache deiner Wahl. C++, C#, Visual Basic, Java oder was weiss ich. Anton R. schrieb: > Kann man das alles mit einer Software realisieren? Na klar. Aber die musst DU entwickeln. Und dazu musst DU wissen, wie ein µC und er ganze andere Kram, den du dazu brauchst ticken. Oder irgendjemand hat das schon vor dir programmiert und das als Arduino-Sketch oder sonstwelcher Open Source veröffentlich. Aber da du weder einen MP3-Player noch einen LED-Cube brauchst, bleibt das wohl an dir hängen. Die Umsetzung deines Beispiels schüttelt dir aber auch kein Profi mal eben am Wochenende aus dem Ärmel. mfg. PS Anton R. schrieb: > ( C/Java Grundkentnisse sind vorhanden) Ein C-Buch ist auch dringend zu empfehlen.
Embedded C Programming & Microchip Pic ist aber in english
Thomas Eckmann schrieb: > Beantworte dir selbst erstmal die Frage, ob du wirklich µC programmieren > möchtest oder ob du mit irgendeinem Programm möglichst schnelle > Ergebnisse erzielen möchstest, die zwar tolle Sachen machen, aber du > hast keine Ahnung, warum sie das machen. So sehe meine Problemlösung für das oben erwähntes Problem: -Ich kaufe mir eine fertige Board, wie z.B. STM32F4-DISCOVERY. -Schließe meine Sensoren/Motoren an das Board an. -Schreibe ein Programm, das die oben genannte Lösung ausführt. Nein, ich will nicht das Rad neu erfinden, mir reicht schon ein fertiges Board.
Anton R. schrieb: > -Ich kaufe mir eine fertige Board, wie z.B. STM32F4-DISCOVERY. > -Schließe meine Sensoren/Motoren an das Board an. > -Schreibe ein Programm, das die oben genannte Lösung ausführt. Was denn auch sonst? > Nein, ich will nicht das Rad neu erfinden, mir reicht schon ein > fertiges Board. Das ist leider immer das Universalargument derer, die meinen man könne auf das Erlernen der Grundlagen verzichten und dann irgendein Tool suchen, mit dem man sich alles zusammenklicken kann. Das fertige Board gibt es auch nicht. Ob jetzt ein STM..., Arduino oder sonstwas. An keines dieser Boards wirst du einfach so deine Sensoren und Motoren anschliessen können. Richte dir schon mal deine Bastlerecke ein. mfg.
Thomas Eckmann schrieb: > Das fertige Board gibt es auch nicht. Ob jetzt ein STM..., Arduino oder > sonstwas. An keines dieser Boards wirst du einfach so deine Sensoren und > Motoren anschliessen können. Richte dir schon mal deine Bastlerecke ein. Das ist mir klar. Für mein Arduino habe ich schon ein breadboard, Widerstände, LED'S,Dioden, Sensoren,H-Bücken etc gekauft. Das man seinen Board nachrüsten muss, ist vollig ok. Nur will ich nicht von Null anfangen,sprich die evaluation board selber entwerfen, alles zusammenlöten etc. So. Jetzt zurück zur meiner Frage. Nehmen wir an, ich habe schon ein fertiges E-Board, kann ich mithilfe einer Software das E-Board und die Benutzeroberfläche programmieren?
Klare Antwort: Nein. Controllersoftware wie PC-Benutzeroberfläche wirst Du mit verschiedenen Programmen entwickeln müssen, dazu ist beides zu unterschiedlich.
Thomas Eckmann schrieb: > Zur µC-Programmierung brauchst du ein Entwicklungsboard, dafür kannst du > das Arduino, das du schon hast nehmen, eine Entwicklungsumgebung, z.B > AVR-Studio, einen ISP-Programmer und das Datenblatt des Controllers, den > du verwendest. Dazu kommt dann noch ein Steckbrett und ein paar > Elektronikteile. Für den Anfang tun es da ein paar Widerstände, > Transistoren, LEDs, Kondensatoren. Und natürlich einen Lötkolben. > > DAS ist die Welt der Mikrocontroller. > > Ob du deine ersten Programme nun in C, Bascom, Assembler oder was auch > immer schreibst, ist eigentlich völlig egal. Klick mal oben links auf > AVR. Darunter findest du dann zwei Tutorials. Eins für Assembler das > andere für C. Die guckst du dir erstmal an. Dann bekommst du einen > ersten Eindruck, was dich erwartet. Wahrscheinlich wirst du erstmal gar > nichts verstehen, aber das ist normal. > > Und wenn die ersten (Test-)Programme auf dem µC laufen, kümmerst du dich > darum, wie du Daten an den PC schickst und wie der PC diese Daten > empfängt und auswertet. > Üblicherweise macht man das mit einer virtuellen RS232-Schnittstelle > über > USB. So ein Teil ist auch auf deinem Arduinoboard drauf. > > Und die Auswertung auf dem PC machst du in einer Programmiersprache > deiner Wahl. C++, C#, Visual Basic, Java oder was weiss ich. So. Nach langen googeln hab ich entschieden das richtiges programmieren zu erlernen, nichts mit Arduino IDE. Habe schon AVR Studio installiert, und kaufe in kürze einen AVR Programmer MK2, um arduino durch ISP zu programmieren. Der Datenaustausch wird durch USB erfolgen. Die Visualisierung und Steuerung am PC wird mit Hilfe von Processing realisiert, der ja sowieso die serielle Kommunikation unterstützt,und somit ist es egal, ob der mit Arduiono oder STM oder einen anderen µC spricht. ich frage mich nur, ob man durch eine serielle Kommunikation (USB) den µC Befehle erteilen kann.Zum Beispiel ich sende vom PC einen Befehl "LED3.on",und der µC führt diese Funktion aus. Vorausgesetzt natürlich, dass der µC diesen Befehl auch kennt. Mal sehen ob ich auf dem richtigem Weg bin:)
im avr tutorial ( http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART )gibt es einen artikel über datenaustausch über rs232 dann kanst du dir ja für den rechener in VB oder worin auch immer ein programm schreiben das die schnitstelle ausliest. wenn du umbedingt alles über usb machen willst dann kauf dir ne usb rs232 wandler oder googel v-usb
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.