Diskuze: Arduino
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Za prvé - aby ti to "fyzicky" fungovalo - musíš pro potenciometr použít analogový vstup označený jako A (A0,A1,A2.......) a pro ledky pwm výstupy - což třeba takový výstup 2 není
int led1 = 3;//2;
int led2 = 5;//3;
int analogPin = A0;//0;
Dále úplně nevím jak jsi to myslel, ale pokud má mít led1 největší
jas při potenciometru na jedné straně a přitom led2 nesvítit vůbec (a
obráceně) - tedy při potenciometru ve středu budou svítit obě
stejně(polovičním jasem)
pak by to bylo nějak takto
int pot_value= analogRead(analogPin)/4;
analogWrite(led1, pot_value);
analogWrite(led2, 255 - pot_value);
takže tvůj kód by měl vypadat takhle:
int led1 = 3;
int led2 = 5;
int analogPin = A0;
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
int pot_value = analogRead(analogPin)/4;
analogWrite(led1, pot_value);
analogWrite(led2, 255 - pot_value);
Serial.print(pot_value));
Serial.print(", ");
Serial.println(255 - pot_value);
}
Děkuji moc. Akorát nerozumím tomu, proč musí být PWM piny a analog zapsán A0 a nestačí jen 0. Protože teď jsem to vyzkoušel na pinech 2 a 6 a analog přepsal na 0. A fungovalo to stejně. Jaký je tedy rozdíl?
Piny PWM slouží pro výstup analogu. Na ostatních nemůžeš nastavit analogovou hodnotu, můžeš tam pouze nastavit 0 nebo 5V. Pokud by si diody připojit na čistě digitální piny, jakákoliv hodnota různá od 0 by byla zobrazena jako log. 1 neboli 5V na výstup.
Pokud máš arduino mega, tak tam jsou na pwm napojené výstupy 2-13 tam to
teda bude fungovat i na těch co popisuješ , to co jsem psal platí pro Uno
A s tím analogovým vstupem - kompilator asi vezme 0 stejně
jako A0 - důležité ale je, aby samotné připojení bylo na
A0 (A1, A2......) protože ty jsou připojenéna AD
ppřevodník
Zobrazeno 6 zpráv z 6.