-
        

Ergebnis 1 bis 8 von 8

Thema: IR LED bzw Phototransistor "auslesen"

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441

    IR LED bzw Phototransistor "auslesen"

    Anzeige

    Hallo,
    zu erst muss ich sagen ich bin Anfänger auf diesem Gebiet hier von daher bitte ich etwas um Nachsicht, wenn sich die Frage etwas "dumm" anhört.

    Ich habe mit einem IR LED und einem Phototransistor vor einen Liniensensor zu bauen, der Bau an sich ist bereits abgeschlossen, nun geht es ans Programmieren.

    Nun frag ich mich wie ich mittels dem Voltwert, der ja je nach Helligkeit vom Phototransistor "rauskommt" eine verarbeitbare Variable (0 für dunkel - 255? für hell) bekomme.

    Ist das so etwas wie ein "umgedrehter PWM?" da steht ja auch für einen bestimmten Wert eine bestimmte Voltzahl.

    Wäre für ein paar Denkanstöße dankbar.

    LG
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Mit dem genialen AD-Wandler und dem segensreichen Befehl "GETADC".

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441
    hallo,
    vielen dank hättest du vielleicht ein einfaches Beispiel für mich? wäre super.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Code:
    Dim A as Word
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    A=GETADC(0)
    Der eingebaute AD-Konverter (ADC) misst eine anliegende Eingangsspannung mit einer Auflösung von 1024. Als Referenzwert kannst Du entweder Versorgungsspannung (AVCC) oder eine interne Referenzspannung wählen. Ist die Eingangsspannung 0V, ist das Ergebnis 0, erreicht sie den Wert der Referenzspannung, kommt bei der Konversion 1023 raus.

    Dem Konverter ist ein Multiplexer vorgeschaltet, der verschiedene Pins auf den eigentlichen Eingang legen kann. Deshalb ist es unabdingbar, beim Befehl "GETADC" immer die Bezeichnung des verwendeten Einganges dazuzuschreiben (also GETADC(0) für den Eingang ADC0).

    Die Variable die diesen Wert erhält, sollte ein Word sein, wegen des Maximalwertes von 1023.

    Der Prescaler legt fest, mit welchem Takt die Konversion stattfindet (Auto ist meistens okay).

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441
    vielen dank für die super Antwort, damit kann man doch mal arbeiten

    sehe ich das also richtig, dass es bei einem Mega8 "nur" 6 ADC Eingänge gibt? Ich könnte also max. 6 analoge Sensoren mit einem Mega8 schalten.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    ...absolut korrekt!

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441
    ok dann weis ich bescheid, werde ich dann heute mal ausprobieren.

    lg
    Daniel

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Hi, daniel,
    Zitat Zitat von daniel.weber
    ... sehe ich das also richtig, dass es bei einem Mega8 ... also max. 6 analoge Sensoren mit einem Mega8 schalten.
    Bitte beachte die entsprechenden Notizen in der Dokumentation ab Seite 196 des mega8 zur "Umschaltzeit" von einem Pin auf den anderen und der danach folgenden Messzeit des ADC. Sonst gibt es leider etwas Murks. Übrigens hast Du die 6 Kanäle im PDIP, in anderen Gehäusen sinds max. 8 Kanäle.

    Gearbeitet wird also ungefähr so: Umschalten, (neue) Messung starten und danach warten (evtl. Interrupt abwarten) bis die Messung fertig ist. Ich kann mich auch daran erinnern, dass zumindest bei einigen AVR-Typen (sicherlich beim tiny13) die erste Wandlung nicht absolut stimmig sein muss. Aber das wirst Du sicher im Datenblatt sehen.

    Das jeweils aktuellste Datenblatt kannst Du Dir hier holen:
    http://www.atmel.com/dyn/products/da...ily_id=607#760
    Ciao sagt der JoeamBerg

Berechtigungen

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