Forum » Programiranje » Arduino in termostat LCD zaslon
Arduino in termostat LCD zaslon
borzon ::
Pozdravljeni,
Ker sem nov v svetu arduina oziroma bi se ga rad naučil sem se odločil izdelati domači termostat za ogrevanje ampak se mi je nekaj zalomilo pri programranju.
Zanima me kako bi napisal if stavek, ki bi kontroliral, če je tempetatura nove vrednosti senzorja kotla minus temperatura stare vrednosti kotla enaka neki temperaturi v območju med
npr. -0.5 in 0,5 stopinjo Celzija.
int diferencna_temp = 0.5;
if ((sensor_Kotel - sensor_Kotel_star )< (- diferencna_temp --->) {
}
else{}
hvala za pomoč
Ker sem nov v svetu arduina oziroma bi se ga rad naučil sem se odločil izdelati domači termostat za ogrevanje ampak se mi je nekaj zalomilo pri programranju.
Zanima me kako bi napisal if stavek, ki bi kontroliral, če je tempetatura nove vrednosti senzorja kotla minus temperatura stare vrednosti kotla enaka neki temperaturi v območju med
npr. -0.5 in 0,5 stopinjo Celzija.
int diferencna_temp = 0.5;
if ((sensor_Kotel - sensor_Kotel_star )< (- diferencna_temp --->) {
}
else{}
hvala za pomoč
borzon ::
Z drugimi bedebami, if stavek bi moral gledati če se razlika temperatur nahaja v območju med -diferencna_temp in + diferencna_temp
snak3 ::
Ne poznam dobro sintakse za arduino programiranje, ampak moralo bi biti nekaj podobno temu:
Najprej rabiš "float" in ne "int"
float diferencna_temp = 0.5
float delta_temp = sensor_Kotel - sensor_Kotel_star
potem pa lahko narediš z absolutno vrednostjo:
if(abs(delta_temp) < diferencna_temp) {
naredi nekaj, ko je delta znotraj območja
} else {
naredi nekaj, ko je delta zunaj območja
}
ali z AND operatorjem:
if(delta_temp > -1.0*diferencna_temp && delta_temp < diferencna_temp) {
naredi nekaj, ko je delta znotraj območja
} else {
naredi nekaj, ko je delta zunaj območja
}
Najprej rabiš "float" in ne "int"
float diferencna_temp = 0.5
float delta_temp = sensor_Kotel - sensor_Kotel_star
potem pa lahko narediš z absolutno vrednostjo:
if(abs(delta_temp) < diferencna_temp) {
naredi nekaj, ko je delta znotraj območja
} else {
naredi nekaj, ko je delta zunaj območja
}
ali z AND operatorjem:
if(delta_temp > -1.0*diferencna_temp && delta_temp < diferencna_temp) {
naredi nekaj, ko je delta znotraj območja
} else {
naredi nekaj, ko je delta zunaj območja
}
TheBlueOne ::
Ce se ne motim ti poskusas dodati histerezo.
Imas zelenjano temperaturu, recimo 25 stopinj.
Sintaksa primera ne bo prava, glej bolj funkcijo
int temperatura_senzor;
int zeljena_temperatura;
---- vklop ----
if temperatura_senzor < (zeljena_temperatura - 0,5)
{ pecica=ON }
---- izklop ----
if temperatura_senzor > (zeljena_temperatura + 0,5)
{ Pecica=OFF]
Ce imas senzor direktno na analogni vhod, kar verjetno ne bo posebej natancno ti predlagam poleg linearizacije se kaksen filter vrednosti (LAG), ki ti da recimo povprecno vrednost zadnje minute.
Ce ni direktno je filter verjetno v kontrolerju senzorja ali pa vgrajenem mikrocipu, ce temperaturo dobis digitalno (naprimer DS18B20).
Imas zelenjano temperaturu, recimo 25 stopinj.
Sintaksa primera ne bo prava, glej bolj funkcijo
int temperatura_senzor;
int zeljena_temperatura;
---- vklop ----
if temperatura_senzor < (zeljena_temperatura - 0,5)
{ pecica=ON }
---- izklop ----
if temperatura_senzor > (zeljena_temperatura + 0,5)
{ Pecica=OFF]
Ce imas senzor direktno na analogni vhod, kar verjetno ne bo posebej natancno ti predlagam poleg linearizacije se kaksen filter vrednosti (LAG), ki ti da recimo povprecno vrednost zadnje minute.
Ce ni direktno je filter verjetno v kontrolerju senzorja ali pa vgrajenem mikrocipu, ce temperaturo dobis digitalno (naprimer DS18B20).
Zgodovina sprememb…
- spremenil: TheBlueOne ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Senzorji plinovOddelek: Elektrotehnika in elektronika | 2564 (1924) | srus |
» | Domači projektOddelek: Elektrotehnika in elektronika | 6874 (3635) | poweroff |
» | Termometer na USB vodilu (načrt, vezja, izkušnje in slike) :P (strani: 1 2 3 4 5 )Oddelek: Elektrotehnika in elektronika | 35320 (23496) | SloMusty |
» | termočlenOddelek: Elektrotehnika in elektronika | 5823 (5375) | YZY |
» | Upgrade vodnega - zgleda da je presvoh :)Oddelek: Hlajenje in modifikacije | 2262 (1519) | frenk |