Forum: Mikrocontroller und Digitale Elektronik QR-Code mit einem Atmel


von Christian O. (goustrup)


Lesenswert?

Hallo

gibt es die Möglichkeit mittels einem Atmega32 z.B. einen QR-Code zu 
generieren und diesen auf einem Display darzustellen.

Ob in C oder Bascom ist mir eigentlich egal.

Im Netz habe ich leider nichts passendes gefunden.
Danke schon mal im Voraus


Goustrup

: Gesperrt durch Moderator
von Björn B. (elmo)


Lesenswert?

Solange man des Programmierens mächtig ist, sollte das kein Hexenwerk 
sein ...

von Christian O. (goustrup)


Lesenswert?

Gut besser gefragt....WIE bekomme ich es hin, aus einem Text einen 
QR-Code zu erstellen und dann auf Display Angezeigt zu werden.
Das alles mit einem Atmel....

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Googel doch mal, wie so ein QR-Code aufgebaut ist. Dann googel danach, 
wie man ein Display ansteuert. Und programmiere los.

von Barny (Gast)


Lesenswert?

Christian Opitz schrieb:
> WIE bekomme ich es hin, aus einem Text einen
> QR-Code zu erstellen und dann auf Display Angezeigt zu werden.

1. Hardware herstellen.
2. Programm schreiben.
3. QR Anzeigen.

Zur Hardware:
Der ATmega32 könnte unter Umständen etwas knapp werden wenn du auch noch 
etwas anderes machen willst.
Beispiele wie man ein grafisches Display mit dem AVR ansteuert, findest 
du hier ausreichend.

Zum Programm:
Hier giebt es genug Informationen und Beispielcode, um sich daraus ein C 
Programm für seinen AVR zu erstellen:
http://www.codeproject.com/KB/cs/qrcode.aspx
http://www.codeproject.com/Articles/258779/Just-launched-new-open-source-project-QrCode-Net-a.aspx

Fix fertig wirst du nicht viel finden.

von Christian O. (goustrup)


Lesenswert?

Also wie ich ein Display ansteuere bekomme ich schon hin. Progge gute 3 
Jahre und bin recht fit in der Materie.
Zum link:
Das ist zwar schon ganz Nett, nur soll der µC die Generierung des Codes 
übernehmen. Das war der Clou. Ein C# Prog hatte ich mich schon mal 
herangetastet, nur das Problem ist beim PC die hohen kosten bzw. 
Bootzeiten.

Hier zu einem Beispiel:

Atmega Sammelt Daten und per Button werden die Daten in einem QR-Code 
des Typen "Text" umgewandelt. Diese kann man dann bequem per IPhone o.Ä. 
Abscannen und zb als Email direkt weiterleiten bzw. den Text Speichern.

Problem:
Es gibt keine Library!

Weder in C noch in Bascom....(zumindest habe ich noch keine gefunden)

Daher war an euch die frage ob ihr da was in der Schublade habt das noch 
nicht das Netz gesehen hat, bzw oder ober der Mega einfach zu schwach 
ist für den Algorythmus???

Gruß

Goustrup

von Dennis X. (Gast)


Lesenswert?

Hi,

ich habe die Tage angefangen für EAGLE sowas selber zu machen, da mich 
der Reitz dazu geweckt hat!
Nun habe ich auch schon viel gefunden wie der aufgebaut ist, doch ich 
kann dir gleich sagen Cristian, dass das nicht einfach ist.
Ich hab mir auch sehr schwer getan. Das Grundgerüst ist noch recht 
einfach, doch die Nachrichten werden mehrmals verschlüsselt, sodass das 
ganze zunehmend komplizierter wird.
Hier mal die sachen aus Wiki:

http://de.wikipedia.org/wiki/QR-Code#Aufbau

Viel Spaß!

von Barny (Gast)


Lesenswert?

Christian O. schrieb:
> Das ist zwar schon ganz Nett, nur soll der µC die Generierung des Codes
> übernehmen. Das war der Clou. Ein C# Prog hatte ich mich schon mal
> herangetastet, nur das Problem ist beim PC die hohen kosten bzw.
> Bootzeiten.
Wer lesen kann, ist klar im Vorteil.
Ich habe dir funktionierenden Code gezeigt, den du dir fast 1:1 in C 
umschreiben kannst.
Du musst "nur" die fertigen Bibliotheken des C# durch eigenen Code 
ersetzen.
Im Grund genommen musst du nur die Ein- und Ausgabe selbst 
zusammenstricken.

Christian O. schrieb:
> Problem:
> Es gibt keine Library!
>
> Weder in C noch in Bascom....(zumindest habe ich noch keine gefunden)
Ich habe dir zwei Seiten mit Quellcode gezeigt.
Setz dich einfach hin, und übersetze ihn Zeile für Zeile in C-Code, den 
der AVR auch verstehen kann.

Christian O. schrieb:
> Daher war an euch die frage ob ihr da was in der Schublade habt das noch
> nicht das Netz gesehen hat, bzw oder ober der Mega einfach zu schwach
> ist für den Algorythmus???
Es gibt sicher schon fertigen C-Code zum erstellen von QR-Code.
Eventuell sogar für Mikrocontroller.
Nur will eben nicht jeder seine Arbeit und seine Zeit einfach 
verschenken.

Für QR Code ist der ATmega nicht zu schwach.
Da es hier keine zeitkritische Anwendung ist, reicht sogar der interne 
1MHz Takt. Man muss eben etwas länger warten.
Was beim ATmega passieren kann, ist dass dir der Ram und der 
Programmspeicher ausgehen.
Dass müsstest du aber mit 3 Jahren Erfahrung eigentlich wissen.

Ich würde folgedermaßen vorgehen:
Als erstes schreibst du den C# in C Code für den PC um.
Die Ausgabe kannst du über Ascci in einer Konsolenanwendung machen.
Dabei verzichtest du auf alle vorgefertigten Funktionen die es nicht 
beim AVR gibt.
Wenn dann das Programm am PC läuft, kannst du den ungefähren Bedarf an 
Ram und Programmspeicher abschätzen und dementsprechend den Prozessor 
auswählen.
Zuletzt das Konsolen C Programm AVR taglich umzuschreiben ist dann 
wirklich nicht mehr schwer.

von http://www.ixquick.com (Gast)


Lesenswert?

Wie funktioniert eigentlich der Aufbau eines QR-Codes. Den wiki-Artikel 
finde ich da herrlich nichtssagend?

Wo gib s da ein TECH-DOK?

von Olaf (Gast)


Lesenswert?

ich möchte eher das Gegenteil machen -- hat jemand ne Idee wie ich mit 
einem Atmel so einen Code lesen kann?

von matt (Gast)


Lesenswert?

Hiermit kommt man gut durch,

http://www.matchadesign.com/blog/qr-code-demystified-part-4/
http://www.thonky.com/qr-code-tutorial/part-3-mask-pattern/


wenn man sich auf die Version 1 und 2 beschränkt und Verkettung, andere 
Zeichencodierungen wegläßt etc geht es ganz gut auf einen Controller

von spontan (Gast)


Lesenswert?

>Den wiki-Artikel
>finde ich da herrlich nichtssagend?

>Wo gib s da ein TECH-DOK?

Schon alle Links durchgesehen?

von Klecksian (Gast)


Lesenswert?

Dennis X. schrieb:
> doch die Nachrichten werden mehrmals verschlüsselt,

Ich habe das dumpfe Gefühl, Du kennst den Unterschied zwischen Kodierung 
und Verschlüsselung nicht. Wer in Nachrichtentechnik aufgepasst hat, 
sieht, dass das sehr kompliziert anmutende Kodierungsverfahren 
eigentlich sehr einfach ist und sich hervorragend mit Schieberegistern 
lösen lässt.

von Michael H. (michael_h45)


Lesenswert?

Olaf schrieb:
> ich möchte eher das Gegenteil machen -- hat jemand ne Idee wie ich mit
> einem Atmel so einen Code lesen kann?

jedenfalls nicht, indem man uralte threads kapert...

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.