Cześć,
jestem w trakcie nauki programowania i napisałem taki prosty program:
Program jest jedynie do celów naukowych więc nie dziwcie się, że w praktyce nie ma żadnego sensownego zastosowania.
Zasada działania miała być prosta. Za każdym razem jak wcisnę przycisk i go przytrzymam, diody podłączone do pinów 9,10,11 miały wskazać temperaturę. Dioda 10 miała się zapalać jeśli temperatura jest w zakresie 23-24st. C, a diody 9 i 11 jeśli temperatura jest odpowiednio niższa i wyższa niż założony zakres. po zwolnieniu przycisku diody miały gasnąć.
Niby program działa dobrze, ale nie do końca tak jak to sobie wyobrażałem. Mianowicie, pomiędzy wciśnięciem przycisku, a zapaleniem diody jest opóźnienie, które nie mam pojęcia z czego wynika.
jestem w trakcie nauki programowania i napisałem taki prosty program:
Kod:
// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float temp;
void setup(void)
{
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(7, INPUT);
Serial.begin(9600);
Serial.println("TEST POPRAWNOŚCI DZIAŁANIA SENSORA TEMPERATURY");
sensors.begin();
}
void loop(void)
{
sensors.requestTemperatures();
temp = sensors.getTempCByIndex(0);
while (digitalRead(7) == LOW)
{
if (temp < 23)
{
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
else {
if (temp >= 23 && temp <= 24)
{
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
}
else {
if (temp > 24)
{
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
}
}
}
}
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
Program jest jedynie do celów naukowych więc nie dziwcie się, że w praktyce nie ma żadnego sensownego zastosowania.
Zasada działania miała być prosta. Za każdym razem jak wcisnę przycisk i go przytrzymam, diody podłączone do pinów 9,10,11 miały wskazać temperaturę. Dioda 10 miała się zapalać jeśli temperatura jest w zakresie 23-24st. C, a diody 9 i 11 jeśli temperatura jest odpowiednio niższa i wyższa niż założony zakres. po zwolnieniu przycisku diody miały gasnąć.
Niby program działa dobrze, ale nie do końca tak jak to sobie wyobrażałem. Mianowicie, pomiędzy wciśnięciem przycisku, a zapaleniem diody jest opóźnienie, które nie mam pojęcia z czego wynika.