Go Down

Topic: Attiny85 nur ein analogRead Eingang ?? (Read 1 time) previous topic - next topic

dertester

May 02, 2013, 03:10 pm Last Edit: May 02, 2013, 03:17 pm by dertester Reason: 1
Hi,

ich habe mir jetzt meine ersten Attiny85 besorgt und wollte gern meine Tischlampe und Lüfter getrennt über PWM regeln.

Hier mein Code:
Code: [Select]
int sens1,sens2,val1,val2;

void setup() {
 pinMode(3, INPUT);
 pinMode(4, INPUT);
 pinMode(0, OUTPUT);
 pinMode(1, OUTPUT);
}

void loop() {
 sens1 = analogRead(3);
 sens2 = analogRead(4);
 val1 = map(sens1, 0, 1023, 0, 255);
 val2 = map(sens2, 0, 1023, 0, 255);
 analogWrite (0, val1);
 analogWrite (1, val2);
 delay(10);
}


Leider funktioniert nur  über Pin3. Das Problem liegt am Analogread denke ich.

Tests bisher:
--Zwei PWM signale gleichzeitig (einfacher Fade ohne Analog Read) geht, also sind die Ausgänge noch ganz.
--Auch Pin 7 anstatt Pin 4 geht nicht. An meinen Pots liegt es nicht, die kann ich tauschen und es geht trotzdem nur Pin 3 O.o
--Nur ein analogread an Pin7 auslesen geht auch nicht(dass es vll an zwei analogread liegt)

Ein zweiter Attiny85 verhält sich genauso :(

Woran liegt das?

ps. bei den Pin-nummern halte ich mich an die interne nummerierung, nicht die Beinchen gezählt.

Vereinfacht:
GEHT:
Code: [Select]
int sens1,sens2,val1,val2;

void setup() {
 pinMode(3, INPUT);
 pinMode(0, OUTPUT);
 pinMode(1, OUTPUT);
}

void loop() {
 sens1 = analogRead(3);


 val1 = map(sens1, 0, 1023, 0, 255);
 analogWrite (0, val1);
 analogWrite (1, val1);
 delay(2);
}


GEHT NICHT:
Code: [Select]
int sens1,sens2,val1,val2;

void setup() {
 pinMode(4, INPUT);
 pinMode(0, OUTPUT);
 pinMode(1, OUTPUT);
}

void loop() {
 sens1 = analogRead(4);


 val1 = map(sens1, 0, 1023, 0, 255);
 analogWrite (0, val1);
 analogWrite (1, val1);
 delay(2);
}

volvodani

welche core dateien nutzt du ?
die von http://hlt.media.mit.edu/?p=1695
damit hatte ich eigentlich bis jetzt keine Probleme.
Gruß
Der Dani
"Komm wir essen Opa!" - Satzzeichen retten Leben!

sth77

Nur eine Vermutung, kann es gerade nicht näher spezifizieren: Der von volvodani genannte Link benennt die analogen Eingänge anders als die Digitalpins.

Pin 2 = Analog Input 1
Pin 4 = Analog Input 2
Pin 3 = Analog Input 3

Vielleicht ist das schon der richtige Lösungsansatz...
Mein verwaister Arduino-Blog: http://www.sth77.de/ - letzter Eintrag: Diamex-ISP in der irgendwann mal aktuellen Arduino-IDE 1.6.4

dertester

Danke, das hat schon geholfen diese Dateien neu zu installieren. Keine Ahnung wo meine herkamen O.o

Jetzt funzt es ;)

Go Up