frage zu analogReference()

jetzt habe ich noch eine kleine frage zur funkeion analogReference()

mit dieser funktion kann man dem arduino eine referenz spannung geben die er beim auflösen von analogRead() auf den wert 1023 setzt.

zb analogReference() = 3,3V analogRead() bei 3,3V = 1023

jetzt verwende ich bei einem projekt einen analogen sensor mit 5V output und einen mit 3,3V output

jetzt wollte ich fragen ob es irgendeine möglichkeit gibt analogReference() nur auf EINEN Pin zu setzen

das heißt ich hätte gerne bei einem bin bei 3,3V 1023 und bei den anderen 5V 1023

ich will keinen operationsverstärker verwenden wenn es sich irgendwie machen lässt...

ich hoffe ich konnte euch erklären auf was ich hinaus will =)

grüße aus österreich Hans

hallo Hoonse

Die Funktion analogReference() definiert die Quelle der Referenzspannung des Analog-DigitalWandlers des ATmega328. Intern hat er 2 Möglichkeiten: 5V Versorgungspannng und 1,1 V. Die dritte Möglichkeit ist eine Spannung die am Vref Pin angelegt wird. Dazu muß aber analogReference(EXTERNAL) definiert sein um nichts kaputtzumachen.

Genaueres unter: http://arduino.cc/en/Reference/AnalogReference

Nein, Analog Referenz wirkt sich auf alle Pins aus, da der ATmega nur einen AD-Wandler hat und einen Analogmultiplexer der die Eingänge nacheinader an den Wandler schaltet.

Wieso verwendest Du nicht 3,3 V als Referenzspannung und teilst das 5V-Signal mit einem Spannungsteiler auf 3,3V? Das ist das Einfachste.

Grüße aus Südtirol Uwe

Wenn du Probleme hast mit der Auflösung dann schaue mal nach dem MAXIM MAX127 der hast eine 12Bit auflösung (8 Kanäle) und lässt sich per I2C ansteuern damit habe ich meine Arduino auch auf ne bessere Auflösung gestimmt (4096 LSB) und du hast dann 3 Digitale I/Os mehr (4+5 gehen auf das I2C drauf).

Die Funktionen gibbet hier auf der Forumsseite