Go Down

Topic: Pc Steuerung (Read 814 times) previous topic - next topic

piaggi0

Hey liebe Forum-Nutzer,

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?


mfg

Werni

#1
Aug 15, 2011, 07:36 pm Last Edit: Aug 15, 2011, 10:58 pm by Werni Reason: 1
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:
Code: [Select]

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

Yeahuno

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.

mit dieser Software kannst du auch per Grafischer Oberfläche die Ausgänge schalten.
http://firmata.org/wiki/Main_Page

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)

File -> Examples -> Firmata -> StandardFirmata_2_2_forUNO_0_3

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.

siehe:
http://firmata.org/wiki/File:Firmata_test_screenshot.png

Gruß

Werni

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

Yeahuno


hab ich ja auch nicht behauptet  XD

Gruß

piaggi0

Hätte denn jemand Interesse mir ein Programm zu schreiben gegen Bezahlung ?

MfG


Werni

#6
Aug 16, 2011, 04:36 pm Last Edit: Aug 16, 2011, 04:40 pm by Werni Reason: 1
ich würde mich anbieten :)
einfach PN an mich

Go Up