| |

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 |
  |
|
sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 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
|
|