-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Conrad RFID Leser 1 Plus an Atmega8

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2007
    Beiträge
    10

    Conrad RFID Leser 1 Plus an Atmega8

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    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

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2007
    Beiträge
    10
    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.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    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):
    Code:
    '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
    Man müsste nur mal welches Trennzeichen verwendet wird

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2007
    Beiträge
    10
    super, danke
    wieso musst du denn wissen welches trennzeichen verwendet wird?

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    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.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2007
    Beiträge
    10
    achso, dann hoffe ich mal das der sender dies nicht nutzt, sonst melde ich mich nochmal, werde das jetzt erstmal so aufbauen. danke

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2007
    Beiträge
    10
    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

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2007
    Beiträge
    10
    das sollte natürlich hexadezimal 88 heißen ^^

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Ah okay, jetzt sehe ich es im Datenblatt
    STX = 2 (Dezimal)
    EOT = 4 (Dezimal)

    demzufolge müsste das Programm etwas anders lauten:

    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
    Versuchs mal damit.
    Wenns nicht klappt, meld dich einfach nochmal.

    Gruß Robodriver

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •