www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik (Dieser Beitrag wurde geloescht)


Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.







Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: Andreas Haimberger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 
!)

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?!

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: Andreas Lang (andi84)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: Sergey (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Autor: (geloescht) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Dieser Beitrag wurde geloescht)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.