INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
20.05.2015, 17:25 (Dieser Beitrag wurde zuletzt bearbeitet: 20.05.2015 17:53 von eden89.)
Beitrag #1
Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
Hallo Leute,

Das hier ist mein zweiter Thread hier, diesmal geht es um die Software für das DIY Zeiterfassungssystem für eine RC-Rennstrecke. Diesmal mit guter Laune Big Grin

Die Hardware für mein RFID System habe ich noch nicht ganz fertig. Da ich auf Andere warte und mich diesbezüglich auch noch weiterbilden muss habe ich als ein wenig Zeit mich mit dem aus meiner Sicht letzten Schritt zu befassen.

Ich will als Programmiernoob eine Software schreiben, die auf 4 Bit Signale eines Arduino Nano reagiert, und für jeden 4Bit Wert einen eigenen Counter und Timer triggert. Auserdem müssen die Werte, die der Timer beim Stoppen hat in einer unverschlüsselten Datenbank abgelegt werden, damit daraus die schnellste Rundenzeit und der Sieger jedes Rennens ermittelt werden kann.

Die Software muss auf einem Windows Laptop betrieben werden und den Counter und Timer jedes einzelnen Rennwagens gleichzeitig als Zahlenwert darstellen.

Ich hoffe ihr könnt mir ein wenig dabei helfen, denken kann ich wie ein Programmierer, aber mir fehlen einfach die Befehle bzw gute einfache Tutorials dazu.

MfG
Eden

Ich habe mir das so vorgestellt, dass jeweils pro Empfangenen 4-Bit Wert ein eigener Counter zählt und immer jeweils der zugehörige Timer zuerst gestoppt, die gemessene Zeit in eine Datenbank abgelegt und ein neuer Counter Gestartet wird. Die Datenbank soll dazu dienen die schnellste Rundenzeit zu ermitteln und sie soll auch angezeigt werden. Es sollen vorerst 8 Counter und Timer verwendet und dargestellt werden. Außerdem soll ein Dropdownmenü die zu fahrende Rundenanzahl für jedes Rennen auswählbar machen. Nach der gewählten Rundenzahl soll ein akustisches Signal ertönen und das Rennende signalisieren. Es soll dann der Sieger des Rennens farblich Hervorgehoben werden und die Gesamtzeit aus allen Zeiten der Counter des siegers ermittelt werden.

Programmieren will ich das ganze in Visual Basic. Das fertige Programm wird Kostenlos online zur Verfügung gestellt werden, mit Link hier im Forum.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.05.2015, 18:48 (Dieser Beitrag wurde zuletzt bearbeitet: 20.05.2015 18:51 von eden89.)
Beitrag #2
RE: Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
Sodele,

jetzt habe ich Visual Basic heruntergeladen und installiert und stehe vor dem ersten Problem. Wie schreibe ich einen Timer, der auch Millisekunden mitzählt? Ein Youtube Video habe ich zwar gefunden, aber da wird rein Garnichts erklärt. Also kann ich den Code entweder kopieren ohne ihn zu kapieren, oder mir erklärt hier Jemand die paar Zeilen Code, das wäre super Big Grin

Auserdem habe ich das Problem, dass die Timer (mindestens 8) per Signal über USB getriggert werden sollen. Bitte helft mir, das müsste doch eine Kleinigkeit für euch sein Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.05.2015, 11:28
Beitrag #3
RE: Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
Hi,
das klingt mir danach, dass Du Hilfe mit Visual Basic brauchst. Da wird Dir hier moeglicherweise niemand helfen (koennen).
Wenn Du die Daten per USB uebertragen willst, dann musst Du im PC-Programm den richtigen COM-Port oeffnen und darueber mit dem Arduino kommunizieren.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.05.2015, 13:03 (Dieser Beitrag wurde zuletzt bearbeitet: 21.05.2015 13:12 von facebraker.)
Beitrag #4
RE: Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
Schau mal hier, ich glaube so schnell wie ich es bei google gefunden habe, braucht man es nicht zu stoppenBig Grin

VB.NET Timer


Hier schau mal in den dritten Teil:

VB.NET feat. Arduino

Aber wichtig, die anderen Teile musst du auch verstehen ;-)

Gruß Alex

Baue dir es doch mal einzeln auf:

z.B.

Probleme:

1.:mit dem Arduino vorbeikommende RFID Tags auslesen und einfach nur seriell ausgeben, dann einfach nur mal den seriellen Monitor mitlaufen lassen und gucken wie das aussieht eventuell ein bisschen formatieren

2.: Daten seriell mit einen VB.NET Programm von der USB Schnittstelle lesen

3.Die Daten von der Schnittstelle verarbeiten, Programmlogik die erkennt dass sie zwischen den Ereignissen Zeiten stoppen muss

4.Verwaltung, wie Pflege ich Rennautos und ordne sie zu, sollen die RFID Tags als Identifikation dienen?

Dann am Ende schmeißt man alles zusammen.

Wo ich persönlich noch Probleme sehe, wie willst du die RFID Tags (ich gehe mal davon aus, du willst die Autos so identifizieren) so schnell gelesen?

Schönes Projekt aber nicht ganz ohne.
Wenn du was handfestes in VB.NET hast, komm gerne auf mich zu ich kann dir helfen. Aber da musst du schon ein bisschen vorarbeiten ;-)

Gruß Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.06.2015, 04:11 (Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2015 04:17 von eden89.)
Beitrag #5
RE: Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
Da sich die Lösung von der Hardware von der unterscheidet von der ich zuerst ausging nochmal ein Nachtrag. Verwendet werden jetzt Funkmodule und (bis zu) 8 Empfänger (jedes Auto eine andere Frequenz). Die Zeiten werden "von den Autos" übermittelt, und die Runden mit einer Infrarot-Schranke gestoppt.

Jetzt muss ich in VB die ankommenden Signale verwertbar machen (virtuell seriell über USB). Dazu suche ich noch nach guten Tutorials was die Kommunikation per serieller Schnittstelle angeht.

Hat eventuell der eine oder andere von euch gute Tutorials gesehen oder kann mir das ein bisschen erklären?

Es kommen über die serielle Schnittstelle Signale von allen Rennwagen über mehrere Empfänger, diese sollen in ihre Einzelteile (Wagen ID, Rundenzahl, Zeit) zerlegt und gesammelt werden. Aus den gesammelten Zeiten sollen pro Wagen ID die Bestzeit und Gesamtzeit dargestellt werden (aktualisiert 1x je runde pro Wagen)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.06.2015, 07:28
Beitrag #6
RE: Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
Hallo Eden,

schau mal bitte auf den Link, da sind unten auch Code-Beispiele dabei:

https://msdn.microsoft.com/de-de/library...-snippet-1

Am besten der erste Schritt du hörst mit einen Hyperterminal oder Putty auf die serielle Schnittstelle (Com X) und schaust was für Daten kommen, dann ließt du sie in VB ein, ohne auf einzelne Spalten zu achten und guckst wie es ankommt.

Dann ist die halbe Sache schon fertig, das formatieren und z.B. in eine MySQL oder einfach eine Access Datenbank einlesen ist simpel.

Gruß Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.06.2015, 19:47
Beitrag #7
RE: Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
so, hatte mich eine weile mit anderen dingen beschäftigt und erst heute nochmal hier reingeschaut. Hyperterminal gibt es ja seit windows vista nicht mehr standardmäßig mit windows, und putty will ich auch nicht unbedingt auf dem laptop haben.

ich habe jetzt hterm als serial monitor verwendet.

und es gibt auch jede menge video tutorials auf youtube etc und noch bessere tutorials auf homepages (google).

habe da ein paar links gesendet bekommen und werde mir die jetzt (alle?) angucken
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.06.2015, 20:08
Beitrag #8
RE: Zeiterfassungsoftware mit Rundenzähler und schnellster Runde
Ich habe noch Probleme dabei meine Daten vollständig anzuzeigen. Es kommen über COM3 Daten (von einem Arduino Nano über USB) an, Format 00.00.00.00.00.00
Mein Programm gibt mir aber bisher nur einen zweistelligen Zahlenwert aus. Was muss ich berücksichtigen/ändern wenn ich in meiner Textbox alle Zeichen gleichzeitig darstellen will?

habe jetzt folgendes geschrieben:

------------------
Imports System
Imports System.Threading
Imports System.IO.Ports
Imports System.ComponentModel


Public Class Form1

Dim myport As Array
Delegate Sub SetTextCallBack(ByVal [text] As String)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myport = IO.Ports.SerialPort.GetPortNames()
ComboBoxPort.Items.AddRange(myport)

End Sub

Private Sub ButtonVerbinden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonVerbinden.Click
SerialPort1.PortName = ComboBoxPort.Text
SerialPort1.BaudRate = ComboBoxBaud.Text
SerialPort1.Open()
ButtonVerbinden.Enabled = False
ComboBoxBaud.Enabled = False
ComboBoxPort.Enabled = False
End Sub

Private Sub ButtonBeenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBeenden.Click
End
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Verwaltung.Show()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Statistik.show()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Try
Dim serialdata As Decimal 'EXCEPTION CAUSED / FORMER TYPE STRING ONLY DISPLAYS 2 DECIMALS
serialdata = SerialPort1.ReadByte.ToString
TextBox1.Text = serialdata

Catch ex As Exception

End Try
End Sub
End Class
----------------------

Mein Versuch serialdata as decimal zu definieren hat zwar bei mehrmaligem klicken des buttons ( den es nur zu testzwecken gibt, die funktion wird später direkt durch den verbinden button getriggert.)
mehrere werte (vllt auch alle) in folge angezeigt, dann hat sich aber das programm verabschiedet. hat jemand mir einen tipp oder ein link zu einem passenden tutorial?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste