
Zitat von
pinsel120866
... 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?
Lesezeichen