Rundenzähler mit Fahrzeugerkennung

Guten Morgen zusammen,

neulich habe ich meine ältere Modellrennbahn vom Speicher gekramt, um mit meinem Neffen ein paar Runden zu drehen.
Allerdings hat die Rennbahn keinen integrierten Rundenzähler, weswegen ich mir dafür gerne was basteln würde.
Wichtig ist hierbei, dass die Fahrzeuge unterschieden werden müssen, da sich jedes Fahrzeug frei bewegen kann.

Meine bisherigen Ideen:

  • NFC-Sticker aufs Fahrzeug kleben um die Fahrzeuge zu unterscheiden (Habe gelesen, dass NFC bis zu euner Geschwindigkeit von 30km/h schnell übertragen werden kann. Stimmt das? Hat jemand Erfahrung damit? oder ist NFC für mein Vorhaben zu langsam?)
  • Einen Barcode verwenden, allerdings bin ich mir hier ziemlich sicher, dass das zu langsam und kompliziert ist. Und wie ich den zuverlässig auslese, weiß ich auch noch nicht.

Hättet ihr einige Tipps und Ideen für mich auf Lager?

Viele Grüße
Kobald

NFC: Hängt von ein paar Faktoren ab, z.B. Richtung der Bewegung relativ zur Spule (notmal zur Achse: schlecht, in Richtung der Achse: gut) --> verschiedene Reichweite.
Barcode ist gar nicht übel, der müsste unter dem Fahrzeug montiert sein und du bräuchtest ein ganzes Array an Reflexlichtschranken zum auslesen.

Barcode ist gar nicht übel, der müsste unter dem Fahrzeug montiert sein und du bräuchtest ein ganzes Array an Reflexlichtschranken zum auslesen.

Wie kann ich damit den Code auslesen? Dann würde ich mal testen ob das von der Geschwindigkeit her passt.

//edit: Was mir gerade einfällt: Wenn ich schräg über die Start/Ziellinie fahre, könnte es bestimmt zu Problemen kommen?

Barcode klebt am Fahrzeug unten, Reflexlichtschranke leucht von unten auf den Boden der Fahrzeuge. Du brauchts genug Lichtschranken, um den Barcode mit mindestens 2 auslesen zu können. Barcode ist invariant gegenüber verdehen - im Endeffekt ist's nur eine zeitliche Dehnung des Signales, und dafür ist der Barcode ja gemacht worden (alte Scannerkassen, wo der Code drübergezogen wurde)

okay, ich werde mir mal die entsprechenden Lichtschranken bestellen (oder könntest du evtl. sogar eine empfehlen?) und austesten.
Danke dir

So was tut's Neuhold Elektronik die Fundgrube für den Hobby-Elektroniker Reflexions Lichtschranke OPB743
Wenn du nur ein paar Fahrzeuge unterscheinden möchtest, dann brauchst du nur einen einfachen Barcode zu implementieren: Sync + 2 Datenbits, etwas in der Art. 1. Erste Ableitung vom Helligkeitswert liefert Hell/Dunkel bzw. Dunkel/Hell-Übergänge, mindestens 2 solcher Übergänge brauchst du für das Sync-Signal am Anfang.

Super, dann bestelle ich mir davon mal ein paar :slight_smile:
Danke für deinen Tipp

So, habe die Sensoren nur vor mir liegen.
Wie muss ich den Sensor denn programmieren, damit ich damit arbeiten kann?

Grüße

Bau' eine Testschaltung auf (Datenblatt nicht vergessen):

GND --- LED --- 1k --- +5V
GND --- Phototransistor --- A0 --- 10k --- +5V

Lass dir den Wert von A0 ausgeben, wenn du mit verschiedenem Zeug drübwachelst.

Dann mal' ein paar dicke dunkle Streifen auf ein weißes Blatt papier und lass dir den Wert von A0 ausgeben, wenn du mit verschiedenem Zeug drübwachelst.

Dann selbes noch mal, aber lass dir die 1. Aleitung von A0 ausgeben.

Dann druckst du eeinen schicken Barcode - etwa so was :

---#-#-#-##-#--#-#-#---

Anfang und Ende sind Sync (-#-#-#-), Mitte ist Nutzlast (##-#-). Wieder selbes Prozedere wie oben.

An dieser Stelle sollte ungefähr klar werden, wie die Sache funktioniert :slight_smile:

Danke dir, dann setze ich mich mal hin und bastel ein wenig :smiley:
Wie die Sache funktioniert habe ich verstanden, allerdings hätte ich noch eine Frage:

Was meinst du mit "Anfang und Ende sind Sync"? muss ichda beim Barcode auf was achten oder ist das der generelle Aufbau eines Barcodes?

Der Code wird von links nach rechts (oder umgekehrt) über den sensor gezogen - hab' das Ding vardoppelt, damit ich die 1. Ableitung malen kann:
------##--##--##--####--##----##--##--##------
das gibt dese Spikes in der 1. Ableitung:
------v^--v^--v^--v--^--v^----v^--v^--v^------
Also musst du die Zeiten zwischen 'v' und '^' (und umgekehrt) messen. Am Anfang und Ende kommen ein par definierte kurze Abschnitte - damit ist die Zeitbasis bekannt - und in der Mitte kommt die Payload.

Hi

Es gibt auch Fonts für Strichcode - dann muß man nicht Alles selber malen :wink:
Bei Deinen Versuchen kann Es Dir passieren, daß verschiedene Stifte, obwohl schwarz wie die Nacht, verschieden gut erkennt werden - oder vll. sogar gar nicht.
Ob Das auch bei einem ausgedrucktem Bar-Code vorkommen kann (also ob Drucker-Tinte oder Toner z.B. UV-Anteile zurück spiegeln), ist mir nicht bekannt.
Von Eddings kann man Das aber schon Mal lesen.

MfG

Ich nutze sowieso einen Label-Drucker der EAN/Barcodes in allen möglichen varianten drucken kann. Dennoch danke für deinen Hinweis! :slight_smile:

Wieso so kompliziert mit Barcode?

Mit 2 Reflektionslichtschranken kann man 3 Autos unterscheiden.
Einfach 2 Reflektionsstreifen unten an der entsprechenden Stelle aufkleben oder nur einen von beiden. Der Grundton muß schwarz sein. Meist reicht ein Aluminiumklebeband und Sprühfarbe. Dann kann man 3 Autos unterscheiden eben 1-0, 0-1 oder 1-1

Wenn man 3 Lichtschranken hat dann sind es 7 Autos.
1-0-0, 0-1-0, 0-0-1, 1-1-0, 1-0-1, 0-1-1, 1-1-1

Grüße Uwe

Nu ja, im ersten Posting steht "frei bewegen", das wird nix mit nur 2 Lichtschranken.

zwieblum:
Nu ja, im ersten Posting steht "frei bewegen", das wird nix mit nur 2 Lichtschranken.

Korrekt. Die Autos fahren in keiner Schiene, weswegen es mit 3 Lichtschranken bei einer Fahrbahnbreite von ca. 60cm schwierig werden kann.

Dennoch danke für deinen Kommentar @uwefed

ops

Hi

Dann eben MEHR Lichtschranken - man muß dann halt - wie immer - die Spreu vom Weizen trennen.
Die Lichtschranken, Die keine Veränderung erfahren, liefern wohl auch keine Daten - Die, über Die die Reifen fahren oder eben kein Bar-Code, liefern irgend welchen Müll - Den muß man ausfiltern.
Die, Die einen Bar-Code liefern, liefern einen Bar-Code - jo, damit wären wir hier auch schon durch.

Ich kann ja von jeder der Lichtschranken die zeitliche Abfolge der Hell/Dunkel-Impulse mithalten - jeweils als Ringspeicher.
In jeder Runde wird in loop() geprüft, ob einer der Ringspeicher einen gültigen Code enthält, wenn ja, die Zeit merken und den Lese-Zeiger versetzen.

Trotzdem würde ich den Kram zuerst fest aufbauen und z.B. ein Pendel über EINE Lichtschranke schwingen lassen.
Wenn Das funktioniert (Bar-Code vorwärts/rückwärts/schräg auf dem Pendel), dann zwei Lichtschranken, gleiches Pendel, vll. versetzte Bar-Codes, um ein nahezu zeitgleiches Einfahren zu simulieren.

... dann mit zehn/zwölf/fünfunddreißig Lichtschranken und schauen, ob man mit der Zeit hinkommt.
Da wir hier nur über digitale Eingänge sprechen, sehe ich aber Nichts, was großartig bremsen sollte.

MfG

Habe die Schaltung jetzt mal aufgebaut und bisschen damit rumgespielt.
In Arduino lasse ich mir die Werte ausgeben und kontrolliere den Signalverlauf mit einem Oszi.
Als nächstes werde ich mir mal etwas bauen um sicherzustellen, dass ich immer den selben Abstand zum Sensor habe, wenn ich etwas vorbeiziehe (eine Art Pendel, wie postmaster meinte).

Kann ich mir auch Aufkleber in verschiedenen schwarz/graustufen unter meine Fahrzeuge kleben und mit den Werten arbeiten die mir Arduino ausgibt, um sie zu unterscheiden?

z.b:
Auto1: Graustufe1 (Beispielwert: 800)
Auto2: Graustufe 2 (beispielwert: 650)

Grüße

kobald:
Kann ich mir auch Aufkleber in verschiedenen schwarz/graustufen unter meine Fahrzeuge kleben und mit den Werten arbeiten die mir Arduino ausgibt, um sie zu unterscheiden?

z.b:
Auto1: Graustufe1 (Beispielwert: 800)
Auto2: Graustufe 2 (beispielwert: 650)

Grüße

Wird eher nicht klappen, da diese Variante durch das Umgebungslicht beeinflust wird. In Kombination mit einer Lichtschranke mit digitalem Ausgang bekommst du auch keine Analogwerte, die du auswerten kannst.