Der Barcode besteht aus 6 Strichen: Startbit, 3 Datenbits, Prüfbit, Stoppbit.Zitat von Sternthaler
Jedes Datenbit ist 5 Odometrie-Ticks lang. Das erste Datenbit beginnt bei Tick #11 und endet bei Tick #15. Ich addiere also die Werte zwischen #11 und #15 um zu sehen wie oft ein 1 Wert gemessen wurde und wie oft ein 0 Wert. Es könnte ja sein dass einmal ein Wert falsch gemessen wird, daher bilde ich sozusagen den Durchschnitt über die 5 Werte. Wenn mehr als 3 einen 1 Wert darstellen, kann man davon ausgehen, dass hier eine 1 gemessen wurde.
Dass ich in der Excel Tabelle den Wert aus der eigenen Zeile nicht berücksichtigt habe und dafür eins zu weit nach oben gelesen habe ist ein Fehler. Sollte jetzt passen(Anhang aktualisiert).
Die weißen Teile werden nicht berücksichtigt, daher lese ich diese Abschnitte auch nicht.
Unterschiedliche Strichbreiten hat man ja sowieso, entweder man macht die scharzen Striche unterschiedlich lang oder man macht die weißen Lücken unterschiedlich lang. Bei mir ist zweiteres der Fall. Man könnte natürlich auch noch eine Unterscheidung machen zwischen schmal, mittel, breit, dann könnte man pro Strich 3 Zustände codieren. Ist aber alles wieder ein Stück komplizierter. Ich hab hier einfach nur mal die Minimalversion gemacht - welche dann natürlich gerne erweitert und verbessert werden kann.
Zwei Strichcodes nebeneinander halte ich für weniger gut da man Asuro aufgrund der ungenauen Odometrie schwer wirklich ganz perfekt geradeausfahren lassen kann. Weiters müsste man dann in die Strichcodelesen Funktion auch noch einen Regler einbauen, das bläht den code nur unnötig auf.
Nicht umsonst habe ich eine Strichlänge von 50mm gewählt.
Grüße,
Harri







Zitieren


Lesezeichen