Konnte bei Conrad nicht wirklich genau finden welches Ding du hast.
Gibt es dazu ein Datenblatt?
Über welche Schnittstelle läuft das ganze?
Mehr infos wären hier Notwendig
Hallo,
ich habe mir aus Interesse den RFID Leser 1 Plus von Conrad gekauft und dazu einen RFID-Transponder. Nun will ich die Daten die der Leser sendet sobald er einen Transponder erkennt von einem Atmega8 auswerten lassen. Ich habe den Leser bereits direkt an meinen PC angeschlossen und das hat auch geklappt. Wenn ich den Transponder in die Nähe der Antenne gehalten habe hat der Leser immer wieder einen Code an den PC ausgegeben, in dem Fall <stx>R8803004031<eot>. Nun weiß ich nicht wie ich es Softwaremäßig realisieren kann, dass der Mega8 bei genau diesem Code z.B. eine LED anschaltet.
Könnte mir da vllt. wer weiterhelfen, ich wäre sehr dankbar.
mfg
Holgi
Konnte bei Conrad nicht wirklich genau finden welches Ding du hast.
Gibt es dazu ein Datenblatt?
Über welche Schnittstelle läuft das ganze?
Mehr infos wären hier Notwendig
http://www.conrad.de/goto.php?artikel=190968 hier findest du den Leser, eine Art Datenblatt gibt es da auch, ist allerdings eher eine Anleitung. Das Teil hat eine serielle Schnittstelle, allerdings TTL, deshalb hab ich nen MAX232 dazwischen gehangen damit ich es an den PC anschließen konnte. wenn ich den leser allerdings an den atmega8 anschließe gehen ich direkt an die UART pins.
Okay, dann geht das ganze recht einfach:
TX und RX Leitung direkt an die Pins PD0 und PD1 des ATMega8.
Software dann wie folgt (oder ähnlich, wie du sie brauchst):
Man müsste nur mal welches Trennzeichen verwendet wirdCode:'Einstellung der Baudrate: $Baud = 9600 Dim Text as String * 22 'Oder mehr, je nach Anwendung Do Input "Eingabe" , Text if text = "<stx>R8803004031<eot>" then Set Portc.3 'Hier den Pin deiner LED einsetzen else Reset Portc.3 'Hier den Pin deiner LED einsetzen End If Loop End
super, danke
wieso musst du denn wissen welches trennzeichen verwendet wird?
Weil die Input-Methode alles bis zum chr(10)&chr(13) Trennzeichen in die Variable schmeißt.
Wenn dein Sender aber das <eot> als End-Zeichen verwendet müsstest du den Code etwas anders gestalten.
achso, dann hoffe ich mal das der sender dies nicht nutzt, sonst melde ich mich nochmal, werde das jetzt erstmal so aufbauen. danke
also nach dem prinzip funktioniert das ganze nicht. ich verstehe das doch richtig das ich die txd leitung des leser an rxd des ports und umgekehrt anschließen muss, oder muss rxd an rxd und txd an txd??? Geht das denn überhaupt, das ich einen einfach text defieniere, weil in der anleitung zum leser steht das stx und eot ascii codes sind und die zahlen hinter dem R sind hexadezimal, also Hex(8 und so weiter.
holger
das sollte natürlich hexadezimal 88 heißen ^^
Ah okay, jetzt sehe ich es im Datenblatt
STX = 2 (Dezimal)
EOT = 4 (Dezimal)
demzufolge müsste das Programm etwas anders lauten:
Versuchs mal damit.Code:'Einstellung der Baudrate: $Baud = 9600 Dim Text as String * 20 'Oder mehr, je nach Anwendung Dim tmp_text as String * 20 tmp_text = chr(2) + "R8803004031" tmp_text = tmp_text + chr(4) Do Input "Eingabe" , Text if text = tmp_text then Set Portc.3 'Hier den Pin deiner LED einsetzen else Reset Portc.3 'Hier den Pin deiner LED einsetzen End If Loop End
Wenns nicht klappt, meld dich einfach nochmal.
Gruß Robodriver
Lesezeichen