(Dieser Beitrag wurde geloescht)

Gast #543995
Lesenswert?

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
Gast #544010
Lesenswert?

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.






Gast #544102
Lesenswert?

> 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
Gast #544151
Lesenswert?

@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 
!)
#544161
Lesenswert?

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
Gast #544177
Lesenswert?

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
Gast #544181
Lesenswert?

>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.
Gast #545325
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren