-         

Ergebnis 1 bis 6 von 6

Thema: IR Diode an analogen PIN

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847

    IR Diode an analogen PIN

    Anzeige

    Hallo,

    ich hätte eine Frage: Ich will eine Infrarot-DIODE vom Typ SFH415-U an den analogen PIN eines ATMEGA Prozessors anschliessen (ADC6 bzw. ADC7) und dann auf LOW bzw. HIGH schalten.

    Funktioniert das, oder muss es ein digitaler PIN sein?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    ja, das funktioniert. Ein Analoger Pin kann sowohl als AD-Wandler-Eingang als auch als normaler digitaler Pin verwendet werden. Jedoch solltest du darauf achten, dass es meistens nicht so viele ADC-Eingänge auf einem Chip gibt, also wäre es evtl. sinnvoller, einen anderen Pin zu verwenden, sofern du die ADCs benötigst.

    Gruß
    Chris

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Zitat Zitat von pinsel120866 Beitrag anzeigen
    ... SFH415-U an den analogen PIN eines ATMEGA ... muss es ein digitaler PIN sein?
    Nein, es muss natürlich kein "digitaler" Pin sein, fast alle Pins sind frei konfigurierbar - im Rahmen ihrer Definition. Die steht im Datenblatt üblicherweise im Kapitel 1 und Pin configurations.

    Im folgenden, funktionierenden, Code zu meinem MiniD0 ist ein PORTC sozusagen durcheinander konfiguriert. Du siehst dort PC0 bis ~2 als digitalen Eingang (für nen Photoempfänger), PC3 als analogen Eingang für den ADC um nen analogen Entfernungsmesser GP2D120 auszulesen mit ca. 0,5 bis 3V und schließlich PC4 und PC5 als digitale Ausgänge für meine Signal-LEDs. Die zugehörige Pindefinition steht auch dabei - so könntest Du das als Anschauungsbeispiel nehmen.
    Code:
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    // Pins/Ports als Ein- (0) oder Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
    //   A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp
      DDRB  = 0b00111111;   // siehe aktuell oben oder Fortschritt/R2D2
      PORTB = 0b00000000;   //    und Port/Pull Ups (1)  aktivieren
                            //
      DDRC  = 0b01110000;   // PC3 ist ADC3, PC0 .. 6 , kein PC7-Pin bei m168
      PORTC = 0b00001111;   // Beachte für ADC: PC3 ist ADC-Eingang ##>> OHNE Pullup !!
                            // 
      DDRD  = 0b11110000;   // -> siehe unter DDRB,  sowie PD2,3 extInt
      PORTD = 0b00001111;   //    Pull Ups aktivieren
                            //   Encoder_1 = ExtINT0 = PortD2, Encoder_2 = PortD3
    //  Dadurch Initialisierung der Anschlüsse für miniD0 auf mega328: - - - - - - - -
    //          /RESET,PC6   1 A   A 28   PC5,(SCL), gnLED
    //             RxD,PD0   2 EU  A 27   PC4,(SDA), rtLED
    //             TxD,PD1___3 EU  E 26___PC3, ADC=GP2D120
    // SigMot1/ExtINT0,PD2   4 EU EU 25   PC2, SFH 5110, IN irDME 4     Rechts
    // SigMot2/ExtINT1,PD3   5 EU EU 24   PC1, SFH 5110, IN irDME 3     Links
    //   __|-- 1A vor, PD4___6 A  EU 23___PC0, SFH 5110, IN irDME 1-2   Mitte
    //     - - - - - - Belegung Pinne - - - - - - - - -                     
    //          XTAL1  PB6___9 E     20___VCC                               
    //          XTAL2  PB7  10 E   A 19   PB5, SCK !!22Jun12 => Taster2 => gnLED
    //  PWM 1,2 uz+Guz,PD5  11 A   A 18   PB4, MISO, --|__ 2A zrü           
    //  PWM 3,4 uz+Guz,PD6__12 A   A 17___PB3, MOSI !!22Jun12 => Reserve 2 => rtLED
    //    _|-- 1,2  uz,PD7  13 A   A 16   PB2, Servo
    //   --|__ 1,2 Guz,PB0  14 A   A 15   PB1, OC1A = SFH 415, OUT (irDME)
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PS: Die SFH415 kann bis zu 100 mA ziehen. Du denkst bitte schon daran, dass ein einzelner Pin das nicht liefern kann!? Also bitte den Vorwiderstand entsprechend dimensionieren oder zum Schalten einen Transistor nehmen.


    PPS: Wieder beim alten Hobby? Du hattest doch mal "alles?" verkauft?
    Geändert von oberallgeier (14.11.2012 um 12:03 Uhr)
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    Danke für eure Antworten. In dem Fall kann ich mit dem Port ADC6


    PORTC |= (1 << PC6); // PC6 auf HIGH (LED ausschalten)
    PORTC &= ~(1 << PC6); // PC6 auf LOW (LED Ausschalten)

    arbeiten, oder?

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Zitat Zitat von pinsel120866 Beitrag anzeigen
    ... In dem Fall ... PORTC |= (1 << PC6); // PC6 auf HIGH (LED ausschalten) ...?
    Ja, WENN Du nen Pin C6 hast. Je nachdem wie die Diode geschaltet ist - vom Pin zum GND oder zu Vcc funktioniert der Befehl wie beschrieben oder "andersrum".
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Zitat Zitat von pinsel120866
    ...Infrarot-DIODE vom Typ SFH415-U...
    Aber gut Strom begrenzen. Das Ding kann ganz schön viel ziehen.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Analogen kompassensor met NXP KMZ10C
    Von RP6conrad im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 10.02.2011, 20:46
  2. Analogen Wert mit Parsic speichern ?
    Von Golo im Forum PIC Controller
    Antworten: 4
    Letzter Beitrag: 13.09.2006, 18:16
  3. Überspannungsschutz für analogen Eingang
    Von Dennis2006 im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 06.05.2006, 15:40
  4. analogen Eingang Programmieren
    Von Zeroeightfifteen im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 04.06.2005, 22:17
  5. AtMega8 Analogen Eingang auslesen
    Von gRaf-eny im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 20
    Letzter Beitrag: 27.04.2005, 15:26

Berechtigungen

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