Hi piaggi,
was gibt es einfacheres als Visual Basic?
Erstell einfach einen Button für jeden Port und lass sie beim anklicken rot bzw. grün werden.
Dann sende mit über einen seriellen Port ein Zeichen, dass du vom Arduino interpretieren lässt.
Für den Temperaturfühler kannst du eine Anfrage an den Arduino schicken und dann auf ein Ergebnis warten.
In vb.net kann das so aussehen:
Private WithEvents serial As New IO.Ports.SerialPort()
Private WithEvents TempTimer as New Timer
Private Sub From1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TempTimer.Interval = 1000 'jede Sekunde
Dim Buttons() as Button = {Button1, Button2, ...}
For Each Button as Button in Buttons
Button.BackColor = Color.red
AddHandler Button.Click(), AdressOf Button_Click
Next
serial.PortName = "COM13" 'oder Anderer
serial.BaudRate = 9600 'oder halt andere
serial.DataBits = 8
serial.StopBits = IO.Ports.StopBits.One
serial.Parity = IO.Ports.Parity.None
serial.open()
temptimer.start
End Sub
Private Sub Temptimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Temptimer.Tick
serial.write("t") 'für Temp
Dim _bytes(4) as Byte //Beispiel 4 Bytes für die Temperaturangabe
Serial.read(_bytes, 0, 4)
lblTemp.text = _bytes.ToString()
End Sub
Private Sub Button_Click(Byval sender as Button, e as SystemEventArgs)
if sender.BackColor = Color.green then
sender.Backcolor = Color.red
else
sender.BackColor = Color.green
end
Serial.write(sender.Text)
End Sub
Auf dem Arduino wartest du bis ein Zeichen reinkommt, das die Zahl des Pins darstellt und machst halt dann an oder aus.
Schreibe auf jeden Button die Pinnummer als Text. Dann Erstellst du noch ein Label für die Temperatur.
Auf dem Arduino wartest du auf das "t" und schickst dann die Daten über Serial.
Der Code oben ist nur aus dem Kopf geschrieben. Ich garantiere für nichts

//Edit Nr 2