| |
![zurück](../images/b_zurueck.gif)
Fortgeschrittene ProgrammierungMicrocontroller und VB... | | ![](../images/trans.gif) | 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 | ![](../images/trans.gif) |
![](../images/48x48/info.gif) | 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 |
![nach oben](../images/b_top.gif) ![zurück](../images/b_zurueck.gif) |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6![Ein absolutes Muss!](../images/news/vbcd6_110x94.jpg)
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats TOP! Unser Nr. 1 ![Flexibles DataGrid- und ListView-Control](../images/werbung/sevdatagrid3_100x100.jpg)
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere Infos
|
|
|
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
|
|