vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Microcontroller und VB... 
Autor: silast
Datum: 20.11.10 14:28

Hallo,
ich habe einen Microcontrollen mit USB-Board von Arduino. Nun klappt eig. alles soweit ganz gut d.h., ich kann über mein VB-Prog. die Pin's auf dem Board ansteuern. Nun würde ich aber gerne einen Pin auslesen, weis aber nicht wie ich dann den Wert an mein VB-Programm senden kann. Vielleicht könnt ihr mir ja helfen.
Hier der Code vom Microcontroller:

--- CODE VOM CONTROLLER ---
int LED=13;
int IO_5=5;
int input=0;


void setup()
{
Serial.begin(9600);
pinMode(LED,OUTPUT);
pinMode(IO_5,OUTPUT);
}


void loop()
{

input=Serial.read();

switch(input)
{
case 10:
digitalWrite(LED,HIGH);
break;

case 20:
digitalWrite(LED,LOW);
break;

}
}
--- CODE VOM MICROCONTROLLER ENDE ---

hier der Code vom VB-Prog:

Imports System.IO.Ports.SerialPort
 
Public Class Form1
 
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If SerialPort1.IsOpen Then
            SerialPort1.Write(ChrW(100))
        End If
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        'Verfügbare Comports suchen
        Dim ports As String() = GetPortNames()
        Dim Port As String
 
        'Combobox richtig sortieren
        ComboBox_Comport.Items.Clear()
 
        If ports.Length > 0 Then
 
            ' für alle COM-Nr. < 10 ein Leerzeichen einfügen
            For ii As Integer = 0 To (ports.Length - 1)
                If CInt(ports(ii).Substring(3)) < 10 Then
                    ports(ii) = "COM " & ports(ii).Substring(3)
                End If
            Next
 
            Array.Sort(ports)
 
            ' das Leerzeichen in "COM x" wieder entfernen
            For ii As Integer = 0 To (ports.Length - 1)
                ports(ii) = "COM" & ports(ii).Substring(3).Trim
            Next
 
        End If
 
        'In die Combobox übernehmen
        For Each Port In ports
            ComboBox_Comport.Items.Add(Port)
        Next Port
 
        'Buttons setzen
        Button_Disconnect.Enabled = False
        Button_Connect.Enabled = False
 
    End Sub
 
    Private Sub ComboBox_Comport_SelectedIndexChanged(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) Handles _
      ComboBox_Comport.SelectedIndexChanged
 
        'Comport auswählen
        If ComboBox_Comport.SelectedItem <> "" Then
            Button_Connect.Enabled = True
        End If
 
    End Sub
 
    Private Sub Button_Connect_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button_Connect.Click
 
        'Comport verbinden
        Try
 
            'Buttons freigeben-/ sperren
            Button_Connect.Enabled = False
            Button_Disconnect.Enabled = True
            ComboBox_Comport.Enabled = False
 
            'Comport Einstellungen
            SerialPort1.PortName = ComboBox_Comport.Text
            SerialPort1.BaudRate = 9600
            SerialPort1.Open()
 
            Timer1.Enabled = True
 
        Catch ex As Exception
 
            'Fehlermeldung 
            MessageBox.Show("Achtung die Schnittstelle konnte nicht geöffnet" & _
              "werden! " + e.ToString _
                       , "Ausnahmefehler", MessageBoxButtons.OK, _
                       MessageBoxIcon.Error)
            Button_Connect.Enabled = True
            Button_Disconnect.Enabled = False
            ComboBox_Comport.Enabled = True
 
        End Try
 
    End Sub
 
    Private Sub Button_Disconnect_Click(ByVal sender As System.Object, ByVal e _
      As System.EventArgs) Handles Button_Disconnect.Click
 
        'Verbindung trennen
        SerialPort1.Write(ChrW(100))
        Timer1.Enabled = False
        Button_Connect.Enabled = True
        Button_Disconnect.Enabled = False
        ComboBox_Comport.Enabled = True
        SerialPort1.Close()
 
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        If SerialPort1.IsOpen Then
            SerialPort1.Write(ChrW(10))
        End If
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button3.Click
        If SerialPort1.IsOpen Then
            SerialPort1.Write(ChrW(20))
        End If
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button2.Click
        If SerialPort1.IsOpen Then
            SerialPort1.Write(ChrW(30))
        End If
    End Sub
 
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button4.Click
        If SerialPort1.IsOpen Then
            SerialPort1.Write(ChrW(40))
        End If
    End Sub
End Class
Danke schonmal im Voraus

gru? Silas

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Microcontroller und VB...1.108silast20.11.10 14:28
Re: Microcontroller und VB...754Zardoz20.11.10 14:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel