Siema - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Siema (/watek-siema--377) |
Siema - Aki - 19-01-2016 Programuję PLC w językach graficznych LAD, FBD, i te inne... W ostatnim czasie zakupiłem sobie Uno, coś poczytałem, nawet puściłem program do kości. I prawie działa... Podpiąłem DHT11 i w zależności od temperatur regulował mi wypełnienie PWM i było ok. Ale żeby zabawka działała jak potrzebuję, to potrzebuję przełożyć z DHT temperaturę na częstotliwość. Napisałem taki prosty programik, tylko na pół sekundy jakby przerywał obwiednię; działa około 1,5 sekundy a potem staje, na 0,5 sek. Ma ktoś pomysł dlaczego? Kod: #include "DHT.h" RE: Siema - wojtekizk - 19-01-2016 Witam Kod: float t = dht.readTemperature(); 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 |