Hallo alle zusammen Ich habe eine frage:?? Also ich möchte in Visual basic einen button machen mitdem ich eine led zum beispiel an und aus machen kann. Aber leider weiß ich nicht wie dass gehen soll. Ich besitze einen Atemga 88 Und Visual Basic Express Editon
Hallo, du solltest C lernen und ein AVR Tutorial machen: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Aufwand ca. 2 Monate bis man alles beherrscht. Dann braucht man noch einen Programmer für den AVR. Patrick schrieb: > Also ich möchte in Visual basic einen button machen mitdem ich eine led > zum beispiel an und aus machen kann. Ist möglich. Serielle Schnittstelle nutzen und Microcontroller darüber ansteuern.
> Ich besitze einen Atemga 88
und wie ist dein Atemga 88 mit deinem PC verbunden?
Du erstellst für den PC ein Programm (mit Visual Basic), das einen Button darstellt, und dessen Zustand über eine geeignete Schnittstelle (z.B. seriell oder USB) ausgibt. Über dieser Schnittstelle verbindest du den PC mit den Mega88. Das erfordert neben passenden Steckern, Buchsen, und Kabeln auch noch zusätzliche Hardware vor dem Mega88. Dann erstellst du für den Mega88 ein Programm, das Daten über dessen Schnittstelle einliest, und in Abhängigkeit der gelesenen Werte eine LED ein- oder ausschaltet. Das ist schon alles... Oliver
> usb
hm, USB hat nur 4 Leitungen, der ATmega 88 jedoch 28 Beinchen (im DIL
Gehäuse). Hast du die anderen Beinchen abgeschnitten?
Oliver schrieb: > Das ist schon alles... Das klingt als ob das ganz eifach ist.. Wie muss ich den ausgan angeben zb bei usb
Patrick schrieb: > usb Auf welche Art und Weise unterhält sich der Mega88 mit der USB Schnittstelle? Wie unterhält sich dein Visual Basic mit der USB-Schnittstelle des PC? Sprechen beide USB-Schnittstellen die gleiche Sprache?
ich besitze ein Michael S. schrieb: > das kann nicht sein, der ATmega 88 hat kein USB-Interface Ich habe so ein lernpacket und bin ganz neu in dem gebiet ..
Pascal Haury schrieb: > Wahrscheinlich mein er mit USB einen Programmer ala AVR ISPMKII etc.? Ja genauu
Patrick schrieb: > usb Weniger Informationen häätest du nur noch mit einem Fragezeichen geschafft. Es wäre nützlich, das Board/Platine anzugeben, auf dem der uC hockt. Wo du es gekauft hast, wäre vlt auch nicht verkehrt.
Patrick schrieb: > Ich habe so ein lernpacket und bin ganz neu in dem gebiet .. Dann mach das Lernpaket durch. Hast du die LED schon mit einem Programm zum Leuchten gebracht? :-)
Patrick schrieb: > ich besitze ein > > Ich habe so ein lernpacket und bin ganz neu in dem gebiet .. Achso, dann sag das doch gleich. Du musst hier schon ein paar mehr Informationen liefern sonst wird man dir nicht helfen können. ;-) Hast du die Beispiele im Paket schon durchgeführt? siehe hier: [http://halvar.at/elektronik/kleiner_bascom_avr_kurs/hallo_welt/]] Grüße...
Patrick schrieb: > Oliver schrieb: >> Das ist schon alles... > > Das klingt als ob das ganz eifach ist.. Je nun, je nach Vorwissen und vorhandenen Libs ist das eine Aufgabe für ca. 1 Tag bis 2 Jahre. Wenn du bisher weder was mit Virtual Basic, mit Schnittstellen, mit Hardware, und mit Mikrocontrollern gemacht hast, wird das ohne fremde Hilfe gar nichts. Oliver
Pattrick. Schau mal bei Abacom.de vorbei, dort gibt es das Profilab- Expert Programm, auch als kostenlose DEMO, mit dem kannst Du ganz schnell Deine Aufgabenstellung lösen- nein, ich bin nicht von Abacom, verwende jedoch deren Programme und bin begeistert.
Floh schrieb: > Hast du die LED schon mit einem Programm zum Leuchten gebracht? Ja ich bin auch schon durch mit dem lernpaket mit Bascom klappt das ja auch alles wunderbar nur nicht in Visual Basic
Michael S. schrieb: > ...das kann nicht sein, der ATmega 88 hat kein USB-Interface! > Das geht auch in Software ganz gut.
Patrick schrieb: > Ja ich bin auch schon durch mit dem lernpaket mit Bascom klappt das ja > auch alles wunderbar nur nicht in Visual Basic Bascom als Editor und Compiler läuft auf deinem PC. Dort erzeugt er aus dem Quelltext eine Binärdatei, die dann über den Programmierer auf den AVR gebracht wird. Das eigentliche Programm (Binärdatei) wird dann auf der Zielhardware (Mega88) ausgeführt. Visual Basic läuft als Editor und Compiler auf deinem PC. Der Compiler erzeugt eine Binärdatei die NUR auf dem PC ausgeführt wird. Diese Datei läuft NICHT auf dem AVR.
Patrick schrieb: > Floh schrieb: >> Hast du die LED schon mit einem Programm zum Leuchten gebracht? > > Ja ich bin auch schon durch mit dem lernpaket mit Bascom klappt das ja > auch alles wunderbar nur nicht in Visual Basic Höchst wahrscheinlich hat dein Lernpaket den USB Port so eingebunden, dass er als virtueller COM Port auf dem PC zur Verfügung steht. D.h. die Kommunikation zwischen PC und deinem Mega ist eine ganz normale RS232 Kommunikation. Das die physikalisch über USB abgewickelt wird, ist für dich uninteressant. Dein Mega empfängt die Daten per UART und auf dem PC stellst du diesen virtuellen COM-Port ein. Jetzt musst du nur noch rauskriegen, wie du in VB eine Serielle Schnittstelle bedienst. Aber dafür gibt es massenhaft Tutorials im Web.
Karl heinz Buchegger schrieb: > Höchst wahrscheinlich hat dein Lernpaket den USB Port so eingebunden, > dass er als virtueller COM Port auf dem PC zur Verfügung steht. Ja gennau bei mir ist es Com Port 10 danke die infp hilft mir etwas weiter
Ich komm einfach nicht weiter ich finde einfach nicht dass passende im I net. Kann mir jemand den code wie ich ihn in VB eingeben muss schiken Einfach mal eine Led an und aus machen
Google "vb serial port communication" zb. gleich der erste Link Im übrigen: Du entfachst momenten einen 2-Frontenkrieg. Fang erst mal so an: Nimm PC-seitig ein Terminal-Programm, welches du an den COM-Port hängst. Sieh zu, dass du von deinem µC da erst mal Ausgaben drauf machen kannst (dadurch testest du die UART Einstellung am µC) Dann die Umkehrung: Ein µC Programm schreiben, welches auf Daten von der seriellen Schnittstelle ragiert. Damit kannst du dann schon mal deinen µC vom Hyperterminal aus durch Eingabe von Text steuern. Und erst dann, wenn der µC Teil fertig ist, gehst du daran, dass dir ein VB-Programm das erledigt (also den Text zum µC schickt), was du bisher mit Hyperterminal am PC händisch gemacht hast.
Karl heinz Buchegger schrieb: > Im übrigen: > Du entfachst momenten einen 2-Frontenkrieg. Wie mein Vorredner schon sagte... Es ist sehr schwer dir zu helfen, wenn wir nicht wissen an welchem Problem du gerade hägst. Beschreib doch mal bitte ganz einfach verbal die Schritte die du ausführen möchtest und deine dazu schon erledigten Schritte.
Joe G. schrieb: > Beschreib doch mal bitte ganz einfach verbal > die Schritte die du ausführen möchtest und deine dazu schon erledigten > Schritte. Also ich habe an einen Atemga88 2 led´s angeschlossen. Dann habe ich in Bascom ein Programm geschrieben dass die led´s abwechselnd blinken lässt, das hat dann auch so weit eklappt. So und jetzt möchte ich mit VB 2 Buttons erstellen mitdenen ich jeweils jede led an und ausschalten kann Und jetzt zu meinem Problem mit VB kenne ich mich nicht ganz aus , damit meine ich comm ports ansteuern. Das was ich im i net gefunden hat hat nicht funktioniert Und jetzt bitte ich euch um HILFE
Patrick schrieb: > Dann habe ich in Bascom ein Programm geschrieben dass die led´s > abwechselnd blinken lässt, das hat dann auch so weit eklappt. ok Das heißt, du hast noch überhaupt keine Kommunikation gemacht > So und jetzt möchte ich mit VB 2 Buttons erstellen mitdenen ich jeweils > jede led an und ausschalten kann > > Und jetzt zu meinem Problem mit VB kenne ich mich nicht ganz aus , > damit meine ich comm ports ansteuern. Wie schon gesagt: Mein Tip. Lass VB erst mal links liegen und sieh zu, dass du * die Kommunikation in Gang kriegst * du vom Hyperterminal (also einem Programm welches nachgewiesenermassen die COM Schnittstelle richtig (na, ja) bedienen kann) deinen µC steuern kannst Machst du zuviele Baustellen auf einmal auf (µC UND VB-Programm gleichzeitig entwickeln), dann weißt du nie, wo denn jetzt der Fehler ist, wenns nicht funktioniert. Und es wird nicht auf Anhieb funktionieren.
Karl heinz Buchegger schrieb: > die Kommunikation in Gang kriegst Was meinst du damit??? Sorry aber ich kapiers nicht
Patrick schrieb: > Karl heinz Buchegger schrieb: >> die Kommunikation in Gang kriegst > > Was meinst du damit??? > > Sorry aber ich kapiers nicht Diese Strategie Beitrag "Re: Bascom Und Visual Basic?"
Patrick schrieb: > Und jetzt bitte ich euch um HILFE Teile deine Aufgabe in zwei Teilaufgaben. 1. Mega88 schaltet 2 LED's gesteuert über den virtuellen COM-Port. Dazu mußt du auf auf dem Mega88 den COM-Port abfragen, das Protokoll auswerten und die LED's schalten. 2. Statt des VB benutzt du zum Test ein Terminalprogramm auf dem PC. Wenn du dort dein selbstdefiniertes Kommando sendest, sollten die LED's am Mega88 schalten. 3. Du programmierst in VB deine Schalter so, dass sie genau das Kommando welches du vorher im Terminal gesendet hast senden.
Karl heinz Buchegger schrieb: >> So und jetzt möchte ich mit VB 2 Buttons erstellen mitdenen ich jeweils >> jede led an und ausschalten kann Kann es sein, dass da ein Verständnisproblem vorliegt. Es ist nicht das VB Programm, welches die LED ein/ausschaltet. Du musst dir das eher so vorstellen, wie wenn du zu Hause anrufst und deine Freundin bittest das Fenster auf/zu zu machen. Du bist der PC Deine Freundin ist der µC die Telefonverbindung ist euer Kommunikationskanal. Es ist deine Freundin, die das Fenster bedient. Du gibst nur die Kommandos dazu. Aber: Dazu muss deine Freunding das Kommando verstehen und du musst das richtige Kommando abschicken. Als Kommando kannst du dir etwas ausdenken, was dir sinnvoll erscheint. Nichts desto trotz musst du erst mal deiner Freundin beibringen, wie man Kommandos empfängt und auswertet und dann das richtige tut. Ob dann du (als VB-Programm) oder dein Kumpel das Kommando absetzt ist egal. Mit einem Unterschied: Dein Kumpel (das Terminalprogramm) kann schon mit der COM-Schnittstelle arbeiten und du noch nicht.
Karl heinz Buchegger schrieb: > Kann es sein, dass da ein Verständnisproblem vorliegt. Ich sagte doch dass ich keine erfahring mit VB habe!!! :-(
Patrick schrieb: > Ich sagte doch dass ich keine erfahring mit VB habe!!! :- aber danke jetzt ist es mir klar
Patrick schrieb: > Karl heinz Buchegger schrieb: >> Kann es sein, dass da ein Verständnisproblem vorliegt. > > Ich sagte doch dass ich keine erfahring mit VB habe!!! :-( Dies ist unabhängig von VB.
Patrick schrieb: > Karl heinz Buchegger schrieb: >> Kann es sein, dass da ein Verständnisproblem vorliegt. > > Ich sagte doch dass ich keine erfahring mit VB habe!!! :-( Das hat eigentlich nichts mit VB zu tun sondern mit grundsätzlichen Überlegungen, wer in einem verteilten System wofür zuständig ist und was er tun kann und was nicht.
Übersichtlich darzustellen: Du musst erst mal festlegen, wie sich der PC mit dem Mikrocontroller verständigt. Das ist erstens: USB- oder serielle Schnittstelle mit der entsprechenden Hardware. Die gibt Dir Dein Lernpaket wahrscheinlich schon mehr oder weniger vor. Dazu kommt zweitens noch, daß Du festlegen musst, wie die Informationen "gedanklich" ausgetauscht werden sollen. Das nennt man auch Protokoll. Auf so einer Verbindung werden ja grundsätzlich erstmal nur Zeichen (CHARs, Buchstaben...) ausgetauscht. Jetzt mußt Du Dir überlegen, wie Du die zu übertragenden Befehle in Zeichenketten darstellst. Im Endergebnis mußt Du erstens das VB-Programm so schreiben, dass es auf den Button hin beispielsweise die Zeichenfolge "LED1=1" sendet. Und dann muß das Programm des Mikrocontrollers diese Zeichenfolge auswerten und die LED 1 daraufhin einschalten. Natürlich ist dann auch noch sehr viel Detailkram wie Schnittstellenprogrammierung und dergleichen dabei. Außerdem ist es hilfreich, sich möglichkeiten zu schaffen, die einzelnen Teilschritte unabhängig voneinander zu testen. Sonst stehst Du immer nur mit dem Fragezeichen da und sagst "geht ja gar nicht"... Da mußt Du jetzt aber durch.
http://www.youtube.com/watch?v=1qZO1OtjoJY http://www.youtube.com/user/DasElektronikBoard#p/u/2/1YQM30r8Nuo
Hi Wenn du VB programmieren kannst, dann mach doch folgendes: Bei Betätigen des Buttons prüfst du, ob das letzte gesendete Zeichen ein "A" war und dann sendest du ein "a", wenn es ein "a" war, entsprechend ein "A". Im Controller programmierst du den USART-Interrupt Empfang. Kommt dort ein "A" an, setzt du den Ausgang, kommt ein "a" an, setzt du ihn zurück. "A" für An, "a" für aus. Mit BASCOM hab ich leider nix am Hut, sonst könnt ich dir die Empfangsroutine auf dem µC kurz erläutern, aber da gibt's bestimmt genügend Beiträge, die dir weiterhelfen. 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.