Go Down

Topic: analog Eingänge als Digital beim MEGA (Read 1 time) previous topic - next topic

Kalli

Hallo,
hab da schon gesucht und nichts gefunden.
Kann man die analog Eingänge 0...7 beim MEGA 2560 auch als digitale Eingänge bzw. Ausgänge benutzen ?
Beim UNO geht es ja. Gleich zur Frage warum, sind doch 54 digitale Ports vorhanden...
Ich möchte auch protoShields vom UNO benutzen.
Ist es möglich, per Programm abzufragen, um welchen Arduino es sich handelt, ob UNO oder MEGA ?

Gruss Kalli

Voralpenkreuz

Beim Mega1280 kann ich Analog 0 mit 54 ansprechen. Analog1 mit 55 usw. Auch Pullups funktionieren.

Code: [Select]

pinMode(55, INPUT);
digitalWrite(55, HIGH);


Kalli

Hallo,

Danke für die schnelle Antwort. Muss ich wohl bein Ausprobieren was falsch gemacht haben. Jetzt funktioniert es.

Nun bin ich gespannt auf die Antwort zur zweiten Frage.

Gruss Kalli

uwefed

#3
Jan 30, 2012, 12:32 pm Last Edit: Jan 30, 2012, 12:47 pm by uwefed Reason: 1

Ist es möglich, per Programm abzufragen, um welchen Arduino es sich handelt, ob UNO oder MEGA ?
Gruss Kalli

Du kompilierst die Programme speziell für den Uno oder den Mega. Wieso brauchst Du dann eine Abfrage welcher Arduino Du hast?

Ich weiß nicht ob Du per #if den Sketch so schreiben kannst, daß Du nur den Arduino als Board im IDE aussuchen mußt und der Kompiler für den richtigen Controller kompiliert.

Grüße Uwe

mkl0815

Folgendes sollte im Sketch funktionieren:
Code: [Select]

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define MY_AVR_TYPE 1
#else
#define MY_AVR_TYPE 0
#endif

...

if(MY_AVR_TYPE) {
    Serial.println("I'm a MEGA Board");
} else {
    Serial.println("I'm a UNO Board");

}

Zumindest verwenden auch die Base-Libs ein ähnliches Konstrukt z.B. um die Zahl der externen Interrupt-Pins zu definieren.

Go Up