19-01-2016, 23:15
Witam
No jak jest kod... to zaraz inaczej się patrzy na problem i człowieka :-)
Panie kolego.... piny PWM w procesorze służą do zadawania wartości w przedziale 0-255 (niektóre inne procki ze stajni atmela mają także 10 bitowe - czyli od 0-1024).
Jak na razie Twój fragment kodu zadaje tylko inne czasy przerwy dla funkcji delay(). Aby zmieniać wartości PWM musisz użyć analogWrite(pwm, t); To delay sobie wyrzuć. Nie mam pojęcia jak chcesz tym grać zmieniając temperaturę, bo ona nie będzie się aż tak bardzo przecież zmieniać :-) No chyba, że chcesz przypalać swoją zabawkę papierosem i obserwować jak cienko piszczy :-)
Może warto by poczytać o funkcji map(.....).
Odsyłam do źródeł : https://www.arduino.cc/en/Reference/HomePage
Kurcze wszystkiego nie możemy robić :-)
Pozdrawiam
Kod:
float t = dht.readTemperature();
delay(500/t);
digitalWrite(pwm, HIGH);
delay(500/t);
digitalWrite(pwm, LOW);
}
Panie kolego.... piny PWM w procesorze służą do zadawania wartości w przedziale 0-255 (niektóre inne procki ze stajni atmela mają także 10 bitowe - czyli od 0-1024).
Jak na razie Twój fragment kodu zadaje tylko inne czasy przerwy dla funkcji delay(). Aby zmieniać wartości PWM musisz użyć analogWrite(pwm, t); To delay sobie wyrzuć. Nie mam pojęcia jak chcesz tym grać zmieniając temperaturę, bo ona nie będzie się aż tak bardzo przecież zmieniać :-) No chyba, że chcesz przypalać swoją zabawkę papierosem i obserwować jak cienko piszczy :-)
Może warto by poczytać o funkcji map(.....).
Odsyłam do źródeł : https://www.arduino.cc/en/Reference/HomePage
Kurcze wszystkiego nie możemy robić :-)
Pozdrawiam