| |
Fortgeschrittene ProgrammierungMicrocontroller 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 | |
| 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 |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access 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
|
|