(Dieser Beitrag wurde geloescht)
Hallo 1. Mach dir ein Array mit der Anzahl an Feldern gleich der maximalen Anzahl an Flanken im Datensignal. 2. Lass den CAPCOM Timer durchlaufen und speicher bei jeder Flanke den Timerwert hardwaregetriggert in das Array. 3. Sind alle Flanken erkannt, dann rechne aus den gespeicherten Timerwerten die Zeitabstände zwischen den Flanken aus. 4. Diese Zeitabstände kannst du dann darauf analysieren welcher Zeitabstand einer bestimmten Bitfolge entspricht. Gruß Ralph
Mit ein lineare CCD, Barcode decodierung ist nicht schwer. Eingang signal: Du darfst 2 Tabelle machen, eine für Weiße Balken und eine für Schwarze Balken. Du kannst sagen, daß alle Balken mit gleiche breite geben gleige Wert (Zeit zwischen flanken), weil du ein linear CCD hast !!! (Ganz wichtig). Jetzt, du darfst rechnen die Kleinste breite, für Code 39, glaube ich gibt 2 Breiten. Brete 1 = Wert 1, Breite 2 (2 oder 3 mal Breite 1). (usw, wenn gibt noch mehr). Jetzt du kannst eine Neue Tabelle machen mit den Breite von Balken. (Eine Schwarz eine Weiß, nochmal S, nochmal W usw.) Mit den neue Tabelle du kannst es decodieren (39 haißt 3 Breite 2 von 9 ingesamt Balken. Und 9 Balken haben ein Bedeutung, Simbol oder Zahl oder Buchstabe). Fertig :-) Ich habe viel mit Barcodes gearbeitet, und habe die dekodierung gemacht, aber ohne linear CCD, so die Werte waren nicht gleich :-) Ich hoffe es hilft.
> ich habe einige Barcode Scanner bekommen die aber leider nur EAN können.
Bist du dir da sicher? Alle Scanner, mit denen ich bis jetzt zu tun
hatte, kann man mittels spezieller Programmier-Barcodes auf andere
Barcodes umstellen. Diese Strichcodes findet man entweder in der
Betriebsanleitung oder im Servicemanual. Meistens kann man auch noch
andere Parameter mit solchen Codes programmieren, z.B. ob nach der
gesendeten Zahlen-oder Buchstabenfolge auch noch ein Zeilenvorschub
nachkommen soll.
Wenn du keine Betriebsanleitung/Servicemanual hast, schau mal beim
Hersteller auf die Homepage. Bei den größeren Scanner-Herstellern kann
man sich sowas runterladen.
Grüsse, Andy
@Guido: "Meine Frage hierzu: gibt es eine bessere Alternative um herauszufinden, ob ein Pegel lang oder kurz anliegt? Gibt es dazu vielleicht ein Stichwort das mich auf die richtige Literatur hierzu leitet?" Eine Balke ist lang oder kurz und so gibt ein lange oder kurze Puls. Gibts nicht mehr, Was ist dein Problem ? Was für ein Barcode hast du gelesen in deine Beispiel ? (Gibt 3 Grösse !)
Ale wrote: > @Guido: > > Eine Balke ist lang oder kurz und so gibt ein lange oder kurze Puls. > Gibts nicht mehr, Was ist dein Problem ? Die Balkenlänge ist kein Informationsträger, nur die Balkenbreite und bei bestimmten Codes auch die Breite des Zwischenraums zwischen den Balken. > > Was für ein Barcode hast du gelesen in deine Beispiel ? (Gibt 3 Grösse > !) Es gibt viel mehr als drei Grössen für Barcodes. Die meisten können +/- beliebig skaliert werden. @ Guido Fischer Poste doch mal ein paar Fotos von Deinem Scanner, vielleicht kann man das Modell erkennen. Wichtig: Es wäre zu unterscheiden: Willst Du die Scanner produktiv einsetzen und Geld sparen, weil du sie ja schon hast, oder geht es Dir um den Lerneffekt. Severino
Wie wäre es, wenn Du einfach einen (beliebigen) Balken als Referenz nimmst und dann die anderen relativ dazu beurteilst? Also Du nimmst z.B. den ersten Balken (= 100%) und wenn der 2. Balken 50% Breite hat, dann war der erste Balken ein langer Balken, hat der 2. Balken aber 200% Breite, dann war das erste ein kurzer Balken. Ist er gleich lang, dann schaust Du beim 3. Balken. Man könnte die Breite eines Balkens auch relativ zur Gesamtbreite des gesamten Barcodes betrachten. Markus
>Man könnte die Breite eines Balkens auch relativ zur Gesamtbreite des >gesamten Barcodes betrachten. Das funktioniert eher nicht, da im Barcode unterschiedlich viele Zeichen kodiert sein können.
Noch 'ne Idee: "Each Code 39 bar code is framed by a start/stop character" Ich habe auf die schnelle keine Details gefunden, aber das dürften wohl die dünnen Linien sein?!
Sind das nicht die Dinger von Ebay "je 5 LCD Display, EAN Barcodereader und Miniverstärker"? Wäre durchaus interessiert an deinem Code, weil ich mir da auch welche ersteigert habe.
Warum nimmst du nicht einfach einen billigen PS/2 CCD Scanner, der Code128, Code39, Code93, EAN8, EAN13, ... kann und schreibst eine PS/2 Emulation die Scancodes auswertet? Ansonsten ist das generieren von Barcodes in C am PC nicht schwer, (auch ohne Librarys!) dekodiert habe ich sie aber noch nicht auf einem MCU.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.