19-01-2016, 20:05
(Ten post był ostatnio modyfikowany: 19-01-2016, 21:49 przez CEO.
Powód edycji: Używamy znaczników kodu
)
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"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int pwm = 9;
void setup()
{
dht.begin();
pinMode(pwm, OUTPUT);
}
void loop()
{
float t = dht.readTemperature();
delay(500/t);
digitalWrite(pwm, HIGH);
delay(500/t);
digitalWrite(pwm, LOW);
}