Skocz do zawartości

Sterowanie wentylatorem rekuperatora


pawelo220v

Pomocna odpowiedź

Witam,

to mój pierwszy post na forum, i mam skromne pytanie związane z wyrażeniem IF

a mianowicie, chcę by po wykryciu temperatury niższej jak 3 stopnie na nawiewie rekuperatora, regulator wyłączył wentylator nawiewu i poczekał do momentu ogrzania wymiennika się do temperatury 7 st.C po czym włączył wentylator nawiewu.

czy taki zapis ma prawo działać prawidłowo.

Zastanawiają mnie dwa wyrażenia if czy jedno po drugim zadziałają prawidłowo.

tj czy po przekroczeniu temp 3 st.C regulator poczeka gdy temp wzrosnie do 7 st.C

i załączy wentylator ?

Czy zapis kody jest prawidłowy.

Czy mogę prosic kolegów o sprawdzenie fachowym okiem.

if (sensors.getTempC(nawiew)=<3);   // jesli nawiew nizszy jak 3 st.C funkcja antyzamrozeniowa
{
digitalWrite(wentN, HIGH);                 // postoj wentylatora nawiewu
 if(zadanaFrosta == (sensors.getTempC(nawiew)));  //jesli nawiew =7
  {
   digitalWrite(wentN,LOW);                //wlacz went nawiewu
  } 
 }

Oczywiscie cały kod do wglądu


         ///////////////////////////REKUPERACJA//////////////////////////////

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
//#include <LCD.h>
#include <LiquidCrystal_I2C.h>  

int wentW=9;                      //wentylator Wyciagowy
int wentN=8;                // wentylator nawiewny
bool frosta = false;                     // FLAGA FROSTA
float zadanaFrosta=7;         
//unsigned long aktualnyCzas = 0;
//unsigned long zapamietanyCzas = 0;
//unsigned long roznicaCzasu = 0;  
////////////////////////////////////////////////////// 

#define ONE_WIRE_BUS 3     
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C  lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
/*-----( Declare Variables )-----*/
// http://arduino-info.wikispaces.com/Brick-Temperature-DS18B20#Read%20individual
DeviceAddress wyrzut = { 0x28, 0xFF, 0x56, 0x0F, 0x02, 0x15, 0x04, 0xE6 }; 
DeviceAddress nawiew = {  0x28, 0xFF, 0x1F, 0x87, 0x65, 0x15, 0x02, 0x3B };
DeviceAddress wyciag = {0x28, 0xFF, 0x1E, 0xE4, 0x71, 0x15, 0x03, 0x64 };
DeviceAddress czerpnia = { 0x28, 0xFF, 0xF6, 0xC8, 0x71, 0x15, 0x03, 0xE2 };
void setup()   /****** SETUP: RUNS ONCE ******/
{
// pinMode(ledpin, OUTPUT);
 pinMode(wentW, OUTPUT);               //wentylator Wyciagowy
 pinMode(wentN, OUTPUT);               // nawiewny
 digitalWrite(wentW, LOW);  //   // normalnie w spoczynku stan HIGH wyłączony
 digitalWrite(wentN, LOW);       // normalnie w spoczynku stan HIGH wyłączony


//-----///////////////////-- Powitanie------/////////////////////--------
 lcd.begin(20,4); lcd.home (); 
// sensors.begin();
 lcd.setCursor ( 3, 0 ); 
lcd.print("rekuperacja");  delay(2000);lcd.setCursor ( 3, 1 );  lcd.print (" startowanie   ");
 delay(3000);
 sensors.setResolution(wyrzut, 11);
 sensors.setResolution(nawiew, 11);
 sensors.setResolution(wyciag, 11);
 sensors.setResolution(czerpnia, 11);
}
void loop()   /****** LOOP: RUNS CONSTANTLY ******/
{
// aktualnyCzas = millis();
 sensors.requestTemperatures(); // Send the command to get temperatures
//lcd.backlight();  //Backlight ON if under program control  
 lcd.setCursor(0,0);lcd.print("czerp.:");displayTemperature(czerpnia);  
 lcd.setCursor(0,1);lcd.print("nawiew:");displayTemperature(nawiew); float temp = sensors.getTempC(nawiew);
 lcd.setCursor(0,2);lcd.print("wyciag:");displayTemperature(wyciag);  
 lcd.setCursor(0,3);lcd.print("wyrzut:");displayTemperature(wyrzut);  
  delay(1000);

if (sensors.getTempC(nawiew)=<3);   // jesli nawiew nizszy jak 3 st.C funkcja antyzamrozeniowa
{
digitalWrite(wentN, HIGH);                 // postoj wentylatora nawiewu
 if(zadanaFrosta == (sensors.getTempC(nawiew)));  //jesli nawiew =7
  {
   digitalWrite(wentN,LOW);                //wlacz went nawiewu
  } 
 }


}
/*-----( Declare User-written Functions )-----*/
void displayTemperature(DeviceAddress deviceAddress)
{

float tempC = sensors.getTempC(deviceAddress);

  if (tempC == -127.00) // Measurement failed or no device found
  {lcd.print("Error"); } 
   else
  {
  lcd.print("t=");
  lcd.print(tempC);
 } 
}
// End printTemperature

//*********( THE END )***********
Link do komentarza
Share on other sites

he he ,
szuka Pan Filary gdzie są moje okulary ")

Najprostsze rozwiązanie w tym przypadku najskuteczniejsze , grunt nie namieszać sobie w głowie za mocno.

Dzieki wielkie.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.