Serielle Kommunikation

Hallo !

Ich hab mal ne frage zu Visual Basic und Arduino ! Ich hab schon Videos auf youtube gesehen, dass dort welche arduino board mit visual basic steuern können ! irgwendwie ist das was mit einer seriellen kommunikation oder so ?! aber, ich find einfach den code nicht !! für arduino software noch für visual basic !

ich hoffe mir kann hier einer weiterhelfen ! danke ;)

Hallo

Viele Wege führen nach Rom, der hier ohne Vb http://www.arduino.cc/playground/Interfacing/Processing

//Edit: Wobei diese meine Antwort, wie ich eben leider erst sehe, nicht wirklich zu deiner Frage passt .. sorry

Fertigen Code findet man selten, da meist problemspezifisch programmiert wird. Auf der Arduino-Seite kommt mir jedoch Firmata in den Sinn, hier kann man über ein festgelegtes Protokoll auf die einzelnen Pins zugreifen. Wie ich gerade sehe, gibt es dort auch Testprogramme für die gängigen Betriebssysteme.

df6ih:
Hallo

Viele Wege führen nach Rom, der hier ohne Vb http://www.arduino.cc/playground/Interfacing/Processing

//Edit: Wobei diese meine Antwort, wie ich eben leider erst sehe, nicht wirklich zu deiner Frage passt … sorry

trotzdem danke ! vielleicht kann ihc das ja irgendwann mal gebrauchen…

sth77: Fertigen Code findet man selten, da meist problemspezifisch programmiert wird. Auf der Arduino-Seite kommt mir jedoch Firmata in den Sinn, hier kann man über ein festgelegtes Protokoll auf die einzelnen Pins zugreifen. Wie ich gerade sehe, gibt es dort auch Testprogramme für die gängigen Betriebssysteme.

aso...schade ! aber das programm ist auch nicht schlecht, aber für mich wäre es praktischer wenn ich das mit VB machen könnte, weil dann kann ich auch so Buttons erstellen usw... Danke !

Naja, die arduinoseitig ist es doch mit Firmata schon getan, jetzt geht es nur noch darum, das auf dem Rechner umzusetzen. Dazu muss man sich einfach nur die serielle Schnittstelle öffnen und nach dem Protokoll (welches ja auch genauestens beschrieben ist) bidirektional Daten übertragen. Wo ist aus deiner Sicht die Hürde?

sth77: Naja, die arduinoseitig ist es doch mit Firmata schon getan, jetzt geht es nur noch darum, das auf dem Rechner umzusetzen. Dazu muss man sich einfach nur die serielle Schnittstelle öffnen und nach dem Protokoll (welches ja auch genauestens beschrieben ist) bidirektional Daten übertragen. Wo ist aus deiner Sicht die Hürde?

hmm...weiß auch nicht genau. mal schauen ob ich das hinbekomme, aber ich wüsste dann nicht wie ich das mit VB machen soll ?!

Hallo,

schau mal da: http://rhyduino.codeplex.com/

Ist ein fertiges Framework dazu.

Grüße, Jürgen

Hallo,

auch ich bin gerade "Neueinsteiger" und habe am Anfang etwas "gekämpft". Aber "Mut" es kann "fast" nichts schiefgehen. Vielleicht könntest du uns allen mal folgende Fragen beantworten:

Welches "VB" benutzt du den (VB6-Classic oder VB-Net)? Hier sind schon verschiedene Voraussetzungen für die Ansteuerung der seriellen Schnittstelle. Mit VB kannst du den Arduino 'nicht' programmieren sondern nur über die serielle Schnittstelle Daten übertragen. Zum Programmieren benutze ich die Arduino IDE 1.0 mit den entsprechenden Zusatzbibliotheken. Aber die Sprache ist C-orientiert. Du musst für die Programmierung des Arduino also leider etwas umdenken.

Was möchtest du machen? Welche Daten fallen an?

Hast du schon mal die Beispielprogramme durchgearbeitet? Welchen Arduino hast du?

Für die weitere Beantwortung wäre es schön, wenn du uns einige Informationen mehr geben könntest.

Gruß Wolfgang

Tueftel99: Hallo,

auch ich bin gerade "Neueinsteiger" und habe am Anfang etwas "gekämpft". Aber "Mut" es kann "fast" nichts schiefgehen. Vielleicht könntest du uns allen mal folgende Fragen beantworten:

Welches "VB" benutzt du den (VB6-Classic oder VB-Net)? Hier sind schon verschiedene Voraussetzungen für die Ansteuerung der seriellen Schnittstelle. Mit VB kannst du den Arduino 'nicht' programmieren sondern nur über die serielle Schnittstelle Daten übertragen. Zum Programmieren benutze ich die Arduino IDE 1.0 mit den entsprechenden Zusatzbibliotheken. Aber die Sprache ist C-orientiert. Du musst für die Programmierung des Arduino also leider etwas umdenken.

Was möchtest du machen? Welche Daten fallen an?

Hast du schon mal die Beispielprogramme durchgearbeitet? Welchen Arduino hast du?

Für die weitere Beantwortung wäre es schön, wenn du uns einige Informationen mehr geben könntest.

Gruß Wolfgang

Wie meinste das mit, welches VB ich habe ?! also wenn es das ist was ich denke dann hab ich VB.net... Und programmieren wollt ich das auch gar nicht über VB (weil das geht ja eh nicht) ! ich wollte das halt nur mit dem seriellen port ansteuern. Ein wenig übung hab ich auch schon mit Arduino IDE aber halt nicht unbedingt so viel :D

Also ich wollte halt bei VB ein "programm" schreiben, wo ich dann so, jetzt erstmal so zum Anfang, einen Button in meiner form habe, wenn ich ihn drücke soll halt ne LED am Board angehen und wenn ich den nochmal drücke dann soll die wieder ausgehen ! verständlich ? :D Bis jetzt betreibe ich das arduino mega 2560

Ich hoffe die Informationen helfen dir weiter !

Hallo,

also wenn du nicht weisst, was du für ein VB hast, ist das schon mal sehr schlecht. Vielleicht solltest du dir auf den folgenden Seiten erst mal noch etwas mehr Informationen ansehen. (Voraussetzung es ist VB.Net)

http://msdn.microsoft.com/de-de/library/7ya7y41k.aspx http://msdn.microsoft.com/de-de/library/088fx85y.aspx http://arduino.cc/en/Reference/Serial

Im Prinzip musst du im Arduino den seriellen Port im Loop abfragen ob etwas eingegangen ist. Was dort eingeht, wird im VB Programm über die serielle Schnittstelle versandt. Natürlich geht das auch umgekehrt. Welche Daten du hin und her schiebst und was du damit machst, ist Dir selber überlassen. Lies Dir hierzu mal die obigen Informationen durch.

Am Anfang solltest du evtl. einfach mal nur einige Daten vom Arduino über den seriellen Port verschicken und den Empfang im Serial Monitor der Arduino IDE "ankommen" lassen. Gleichfalls muss dieses einfache Beispiel von deinem VB Programm aus erfolgen. Wenn dann beides grob läuft musst Du die beiden Teile kombinieren.

Tueftel99: Hallo,

also wenn du nicht weisst, was du für ein VB hast, ist das schon mal sehr schlecht. Vielleicht solltest du dir auf den folgenden Seiten erst mal noch etwas mehr Informationen ansehen. (Voraussetzung es ist VB.Net)

http://msdn.microsoft.com/de-de/library/7ya7y41k.aspx http://msdn.microsoft.com/de-de/library/088fx85y.aspx http://arduino.cc/en/Reference/Serial

Im Prinzip musst du im Arduino den seriellen Port im Loop abfragen ob etwas eingegangen ist. Was dort eingeht, wird im VB Programm über die serielle Schnittstelle versandt. Natürlich geht das auch umgekehrt. Welche Daten du hin und her schiebst und was du damit machst, ist Dir selber überlassen. Lies Dir hierzu mal die obigen Informationen durch.

Am Anfang solltest du evtl. einfach mal nur einige Daten vom Arduino über den seriellen Port verschicken und den Empfang im Serial Monitor der Arduino IDE "ankommen" lassen. Gleichfalls muss dieses einfache Beispiel von deinem VB Programm aus erfolgen. Wenn dann beides grob läuft musst Du die beiden Teile kombinieren.

Hallo

Danke für deine weitere hilfe...also ich hab nochmal nachgeschaut Welches VB ich habe und das is auch VB.net !

Das andere werd ich dann mal lesen.

Hallo lgrube96,

im .NET Framework gibt es die entsprechende Klasse im Namespace System.IO.Ports.SerialPort. Diese bietet neben allen nötigen Einstellungen (Baudrade, Com Port, Parität, usw.) auch ein Event "DataReceived". Dieses sollte man unbedingt abonnieren um auch nur dann zu reagieren, wenn wirklich Daten ankommen. Dort liest du per comPort.ReadExisting() dann die Ankommenden Werte aus.

Am einfachsten suchst du dir ein Fertiges Script, in dem diese Schritte schon erledigt sind und du das nur noch anwenden musst. Nicht jedes Mal muss man das Rad neu erfinden. Und ich denke, so kann man die Funktionsweise ganz gut lernen. SerialPort Communication

Gruß, TriB