Liste der Anhänge anzeigen (Anzahl: 1)
So, es klappt tatsächlich. Die Funktion lässt Asuro über den Barcode fahren und gibt zum Schluß den entsprechenden Wert zurück. Den kann man dann für alles mögliche verwenden...
Ich habe mich da Schritt für Schritt durchgearbeitet, wer sehen will wie ich es gemacht habe siehe angehängte Excel Datei.
Ich habe nun den Barcode mit der Odometrie verknüpft, sobald das Startbit erkannt wurde, beginnt die Messung. Ein kompletter Barcod ist exakt 150mm lang und besitzt 5 schwarze Striche.
Jeder schwarze Strich wird von einem weißen Zwischenraum gefolgt. Der schwarze Strich kann vorhanden sein(="1") oder nicht vorhanden sein(="0").
Eine Strichbreite habe ich mit 15mm festgelegt, näheres dazu in der Exceltabelle.
Letztendlich erhält man einen Barcode mit 1 Startbit, 3 Datenbits(=8 Werte), und einem Prüfbit(prüft die 1er Anzahl). Dank des Prüfbits arbeitet das ganze sehr zuverlässig.
Ich werde den C Code jetzt noch etwas optimieren, und werde ihn dann posten.
Grüße,
Harri
Liste der Anhänge anzeigen (Anzahl: 1)
Hab nun das mit dem Stoppbit hinbekommen. Durch einmaliges Auslassen eines weißen Abstandes ganz am rechten Ende des Barcodes kann man eindeutig sagen aus welcher Richtung Asuro die Daten liest, und gibt bei falscher Richtung einen Fehlercode aus.
In weiterer Folge könnte man Asuro ja dazu veranlassen, 'umzudenken' und den Barcode verkehrt herum zu lesen.
Anbei eine Skizze wie der Barcode auszusehen hat(natürlich schwarz weiß für optimalen Kontrast). Die Länge ist wegen des Stoppbits leicht angestiegen, und beträgt jetzt 165mm.
Den Quellcode poste ich dann morgen.
Grüße,
Harri
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo harry3,
laut Beschreibung in deinem EXCEL-Blatt: 'Versuch2' wird, so wie ich es vorgeschlagen hatte, mit jedem Tik der ODO-Scheiben eine Messung gemacht. Diese Daten zeigst du uns und wir können die Bit's im Barcode 'sehen'.
Ich habe aber noch das Problem, dass ich im Moment nicht sehen kann, wie der Asuro die Bit's sehen kann. Bis jetzt bildest du im EXCEL-Blatt in den Zeilen 10, 21, 31, 41, 51 eine Summe über die 5 vorherigen Messwerte (ohne den in der jeweiligen Zeile (10,21,..) einzubeziehen, schaust ob der Wert größer 'irgendwas' ist und sagst dann, das ist das Bit.
Warum machst du diese Berechnung nicht bei jeder Messung, sondern nur alle 10 Messungen?
In Zeile 31 rechnest du '=wenn(summe(A26:A30)>2;1;0))'
In Zeile 21 rechnest du '=wenn(summe(A16:A20)>2;1;0))'
Was machst du mit den Messwerten aus den Zeilen 21 bis 25?
Auf den Code bin ich total gespannt!
Das Format deines Barcodes müsste hervorragend zu einer Aufgabenstellung von stochri passen: Hier nachzuschlagen.
Meine Idee war im gleichen Thread hier vorgestellt. Auf dem dortigen Bild gibt es noch keine Barcodes. Deshalb hier nochmal 2 Stück dazu (mittlerweile leicht zerknittert):