Den hab ich mit Visual Basic programmiert.
Druckbare Version
Den hab ich mit Visual Basic programmiert.
Geile sache, mit .net oder VB6?
Mit Visual Basic [2008] :)
Gerade bei Eby für 30 € geschossen :)
Bild hier
Das werden meine Kolbentanks.
Durchmesser 32 mm Hub 100 mm *4 = 320ml Volumen = 320g
Heute hab ich den Temperatursensor in Betrieb genommen (ist noch nicht das EndgültigeLayout)
Bild hier
Hi, könntest du mir mal kurz beschreiben, wie du dieses Kompassmodul aufgebaut hast??
In welcher form komunizierst du eigendlich mit dem Controller, bzw. wie ist das Telegramm aufgebaut??
Meinst du jetzt wie ich das Monitorprogramm aufgebaut habe oder wie ich das Modul verbaut haben ?Zitat:
könntest du mir mal kurz beschreiben, wie du dieses Kompassmodul aufgebaut hast??
Das Modul kommuniziert über den I2C Bus mit dem Controller.Zitat:
In welcher form komunizierst du eigendlich mit dem Controller, bzw. wie ist das Telegramm aufgebaut??
Dazu habe ich mir das Beispielprogramm hier aus dem Roboternetz ein wenig abgeändert.
Ich sende nicht jedesmal sofort den Winkel da das Modul doch recht empfindlich gegenüber Störungen ist und das zu einem permanenten Zittern führen würde.
Ich mache 5 oder 10 Messungen und bilde dann den Mittelwert.
Die so ermittelte Himmelsrichtung sende ich dann mittels eines Print Befehls (noch) über USB (später RS232) an meinem PC.
Den Lese ich dann mittels eines SerialPort in VB aus und drehe meine Kompassscheibe dem entsprechend.
Ich meinte das VB-ProgrammZitat:
Meinst du jetzt wie ich das Monitorprogramm aufgebaut habe oder wie ich das Modul verbaut haben ?
Benutzt du für das senden eine Art Telegramm oder oder schickst du einfach: Print "Winkel"+30 zum BeispielZitat:
Die so ermittelte Himmelsrichtung sende ich dann mittels eines Print Befehls (noch) über USB (später RS232) an meinem PC.
Den Lese ich dann mittels eines SerialPort in VB aus und drehe meine Kompassscheibe dem entsprechend.
Was VB angeht hab ich mich entweder ziemlich dämlich angestellt oder es ist echt nicht einfach ein Image zu drehen (Kompassscheibe).
Habe mir einfach aus diesesm Programm ( http://vb-fun.de/cgi-bin/loadframe.p.../tip0154.shtml ) alles Rausgesucht was ich brauchte.
Hier mal der Code wenn es dich interessiert :
Code:Imports System.Drawing.Imaging
Public Class Form1
'Deklarationen
Dim Buffer As Bitmap
Dim graph As Graphics
Dim Winkel As String = 0
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
SerialPort1.Open()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Buffer = New Bitmap(PictureBox1.Width, PictureBox1.Height, PixelFormat.Format32bppPArgb) 'Dem "Buffer"-Bild das richtige Format zuordnen
graph = Graphics.FromImage(Buffer) 'Die Graphics-Klasse "graph" mit dem Bild Buffer verbinden
Call DreheBild() 'Bild aktualisieren
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If SerialPort1.BytesToRead > 0 Then
Winkel = 0
Do
Winkel = Winkel & Chr(SerialPort1.ReadByte)
If SerialPort1.BytesToRead = 0 Then
lblWinkel.Text = CInt(Winkel / 10) & "°"
Call DreheBild()
Exit Do
End If
Loop
End If
End Sub
Private Sub DreheBild()
graph.Clear(Color.Transparent) 'Das Bild löschen
graph.ResetTransform() 'Den Mittelpunkt und die Rotation löschen
graph.TranslateTransform(PictureBox1.Width / 2, PictureBox1.Height / 2, Drawing2D.MatrixOrder.Append) 'Setzen des Rotiermittelpunktes
graph.RotateTransform(CInt(Winkel) / 10 * (-1)) 'Rotation auf die Matrix ausführen
graph.DrawImage(PictureBox1.Image, New Rectangle(-PictureBox1.Width / 2, -PictureBox1.Height / 2, PictureBox1.Width, PictureBox1.Height)) 'Bild mit angegebenem Drehwinkel in das Buffer-Bild kopieren
Vorschau.Image = Buffer 'Das Buffer-Image auf die PictureBox übertragen
End Sub
End Class
Was die Himmelsrichtung angeht so sende ich einfach die Abweichung zu Norden als Winkel.
Zb 45,2° als 452 und teile später durch 10.
Werde erst mal jedes Sensorprogramm einezeln schreiben und später dann zusammen setzen.
Dann werde ich mit "Headern" arbeiten, also zb HR452.
Werde dann in VB erst mal die ersten beiden Zeichen Auswerten HR = Himmelsrichtung und dann dem entsprechend die folgenden Zeichen auswerten.[/quote]
Hi Tony, danke für den link und den Code, mal sehen ob ich mir damit so ne Art "Radarbilschirm" zusammencoden kann...