mir ist in den Sinn gekommen mal etwas mit Elektronik zusammen mit den Pc zu entdecken.
Meine erste Idee eine Benutzeroberfläsche erstellen auf den PC inden man bequem Ausgänge schalten kann und gleichzeitig ein Temperaturfühler im Auge behält.
Meine Frage wäre kennt jemand tolle Internetseiten wo man sich reinfummeln kann.
Gibt es eine einfachere Lösung als Visiual Basic für die Benutzeroberfläsche?
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
hat zwar weniger mit selber programmieren zu tun, vielleicht hilft es dir oder jemand anderem trotzdem. Die Software kann glaube ich auch verändert werden.
in der Arduino IDE 0022 mit dem Uno folgenden Sketch öffnen und auf das Board hochladen: (mit dem Uno erscheinen nur mit diesem Sketch Buttons in Firmata)
Danach die Firmata.exe als Admin ausführen und den richtigen Com Port auswählen.
Anschließend kann in der Software per Mausklick High \ Low \ PMW eingestellt werden.
Das hat aber den Nachteil, dass die Werte nicht nachbearbeitet werden können.
die Temperatur lässt sich dann nur als analoger Wert von 0 bis 1023 anzeigen