• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie centralą wentylacyjną
#11
}
(21-04-2016, 23:32)przycisk napisał(a): Witam .
To lepiej wyminie bo nazwać fachowo nie wiem.
Kod:
   if ( digitalRead(bp1) == 1 and digitalRead(bp2) == 1 ){
    mixbypas = HIGH;} else {mixbypas = LOW;}
Nie działa ten zapis. Domyślam się że dwie temp. "bp1" i "bp2" miały być wysterowane "mixbypas" jednym przekaźnikiem.

to nie teperatuty a stany przycisków

to działa tak jezeli bp1=1 i bp2=1 wtedy wykonaj {to};



pytanie do jasq suchaj jak masz DigitalRead bp1 ,pb2 to czemu ustawiasz na output
pinMode( bp1, OUTPUT); // PRZEKAZNIK bay-pas auto
pinMode( bp2, OUTPUT); // PRZEKAZNIK bay-pas auto
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
#12
Działa na pewno bo sprawdzałem tylko źle to ci zapisałem z pośpiechu ( wychodzi pisanie kodu przed snem Wink  ) , tak ma być

Kod:
if ( digitalRead(bp1) == 1 and digitalRead(bp2) == 1 ){
   digitalWrite(mixbypas , HIGH);} else {digitalWrite(mixbypas , LOW);}

bo bp1 i bp2 to są przekaźniki a ja potrzebuję na podstawie ich stanu wysterować 3 ci przekaźnik ,
to że są zdeklarowane jako wyjścia nie przeszkadza ich odczytywać poprzez inny kawałek kodu .

bubla pisze i nie krzyczysz nawiasów brakuje
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
#13
Kod:
#include <OneWire.h>                                      
#include <DallasTemperature.h>                           //4 ds18d20
#include <PCD8544.h>                                      //lcd nokia 5110
#define ONE_WIRE_BUS 2
int one_wire = 2;                                      //Transmisja 1-Wire na pinie 2
OneWire oneWire(one_wire);
DallasTemperature sensors(&oneWire);                    //4 ds18d20
int  b1=11 ;                                        // PRZEKAZNIK bay-pas auto
int  b2=10 ;                                             // PRZEKAZNIK bay-pas auto
int  mixbypas = 12;                                          // PRZEKAZNIK bay-pas auto
int  bp1;                                                
int  bp2;
static PCD8544 lcd;

void setup() {

lcd.clear();
pinMode( b1, OUTPUT);                                // PRZEKAZNIK bay-pas auto
pinMode( b2, OUTPUT);                                 // PRZEKAZNIK bay-pas auto
pinMode(mixbypas, OUTPUT);
sensors.begin();
lcd.begin(84,48);                                           //lcd
}

 void loop(){
 sensors.requestTemperatures();                           //4 ds18d20
 
   float DOM = sensors.getTempCByIndex(0);                 //czujnik ds18d20 dom (0)do sterowania auto bay-pas
  float ZEWNATRZ = sensors.getTempCByIndex(1);              // czujnik ds18d20 zewnątrz (3)do sterowania auto bay-pas
  digitalWrite( b1,bp1);                                     // PRZEKAZNIK bay-pas auto
   digitalWrite( b2,bp2);                                       // PRZEKAZNIK bay-pas auto
//------------------------------------------------------------------------------------------------------------------------------
  // w tym miejscu chciał bym aby dwa piny int b1 = 11 i pin b2 = 10 zmienić na jeden np int mixbypas = 12 tylko to
   
   
   
   if( DOM < 22.00 )bp1 = LOW;                                  
   if( DOM > 23.00 and DOM < 25.00 )bp1 = HIGH;                
   if( DOM > 26.00 )bp1 = LOW;                                  
 
   if(ZEWNATRZ < 22.00 )bp2 = LOW;                                            
   if(ZEWNATRZ > 23.00 and ZEWNATRZ < 25.00 )bp2 = HIGH;                          
   if(ZEWNATRZ > 26.00 )bp2 = LOW;  
  if ( digitalRead(bp1) == 1 and digitalRead(bp2) == 1 ){
  digitalWrite(mixbypas , HIGH;} else {digitalWrite(mixbypas , LOW;}                                      

//------------------------------------------------------------------------------------------------------------------------------
 

   lcd.setCursor(0,0);                       //ustaw kursor w pozycji 0,0
   lcd.print("CZER:");               //wyswietl "Temperatura: "
   lcd.print(sensors.getTempCByIndex(0));    //wyswietl wartosc z czujnika 3
   lcd.print((char)0);                       //wyswietl znak stopnia
   lcd.print("C  ");      
   lcd.setCursor(0,1);                       //ustaw kursor w pozycji 0,1
   lcd.print("WYRZ:");               //wyswietl "Temperatura: "
   lcd.print(sensors.getTempCByIndex(1));    //wyswietl wartosc z czujnika 1
   lcd.print((char)0);                       //wyswietl znak stopnia
   lcd.print("C  ");
 }
Tak ma być , to jest poprawne.

 
 
#14
Kod:
 
#include "DHT.h"                                          // DHT 22  (AM2302)
#include <OneWire.h>                                      
#include <DallasTemperature.h>                           //4 ds18d20
#include <PCD8544.h>                                      //lcd nokia 5110
#define ONE_WIRE_BUS 2                                   //1-Wire
#define DHTPIN 1                                         // pin wejście dla DHT 22  (AM2302)
#define DHTTYPE DHT22                                    // DHT 22  (AM2302)
#define wilgoc 9                                         // alarm wilgoci np. buzer //
int maxHum = 60;                                         // nastawa alarmu wilgoci  60% //
int one_wire = 2;                                      //Transmisja 1-Wire na pinie 2
OneWire oneWire(one_wire);
DallasTemperature sensors(&oneWire);                    //4 ds18d20
// int  b1 = 13;                                          // PRZEKAZNIK bay-pas auto
int  mixbypas = 12;                                          // PRZEKAZNIK bay-pas auto
int  bp1;                                                // PRZEKAZNIK bay-pas auto
int  bp2;                                                 // PRZEKAZNIK bay-pas auto
static PCD8544 lcd;                                     // lcd nokia 5110 pin 3,4,5,6,7
DHT dht(DHTPIN, DHTTYPE);                                 // DHT 22  (AM2302)
volatile int power=55;                                  // nastawa momentu załączenia zasilania.(obroty wentylatorów).
// wartość power=55;1;200 są dla transoptora, który steruje napięcie falownika wentylatorów.

long pauza1 = 0;
long pauza2 = 0;
byte status1 = 0;
byte status2 = 0;


void setup() {

lcd.clear();
pinMode(wilgoc, OUTPUT);                             // alarm wilgoci np. buzer //                                      
//pinMode( bp1, OUTPUT);                                // PRZEKAZNIK bay-pas auto
//pinMode( bp2, OUTPUT);                                // PRZEKAZNIK bay-pas auto
pinMode(A5, OUTPUT);                                   //Dioda jako wyjście   RĘCZNY Bay-Pas
pinMode(A3, INPUT_PULLUP);                             //Przycisk jako wejście
digitalWrite(A5, LOW);                                 //Wyłączenie diody
pinMode(8, OUTPUT);                                    //Dioda jako wyjście     RĘCZNY Bay-Pas
pinMode(A4, INPUT_PULLUP);                            //Przycisk jako wejście

pinMode(mixbypas, OUTPUT);                            // PRZEKAZNIK bay-pas auto

digitalWrite(8, LOW);                                //Wyłączenie diody

pinMode(A0,INPUT);digitalWrite(A0,HIGH);             // klawisz MIN OBROTY
pinMode(A1,INPUT);digitalWrite(A1,HIGH);              // klawisz ŚRED OBROTY
pinMode(A2,INPUT);digitalWrite(A2,HIGH);              // klawisz MAX OBROTY
dht.begin();                                           // DHT 22  (AM2302)
sensors.begin();
lcd.begin(84,48);                                     // LCD
}

void loop(){

long  sek = millis()/1000;

delay(50);
if (digitalRead(A2)==LOW)power=200;                    //OBROTY wentylatora//
if (digitalRead(A1)==LOW)power=55;                 //OBROTY  wentylatora//
if (digitalRead(A0)==LOW)power=1;                  //OBROTY  wentylatora //
     delay(50);
     analogWrite(11,power);                         // tu dioda   //OBROTY //

    float t = dht.readTemperature();                      // DHT 22  (AM2302)
    float h = dht.readHumidity();                         // DHT 22  (AM2302)
  
if (digitalRead(A3) == LOW) {

if ( status1 == 0 ){pauza1 = sek;}
    status1 = 1;    
    digitalWrite(A5, HIGH);}
  
if ( sek - pauza1 > 120 ){                                      
    status1 = 0;
    digitalWrite(A5, LOW);    
}

if (digitalRead(A4) == LOW) {

if ( status2 == 0 ){pauza2 = sek;}
    status2 = 1;    
    digitalWrite(8, HIGH);}
  
if ( sek - pauza2 > 120 ){                                      
    status2 = 0;
    digitalWrite(8, LOW);    
}

    sensors.requestTemperatures();                           //4 ds18d20
  //   digitalWrite( bp2,b1);                                     // PRZEKAZNIK bay-pas auto
  //   digitalWrite( bp2,b2);                                       // PRZEKAZNIK bay-pas auto
     float DOM = sensors.getTempCByIndex(0);                 //czujnik ds18d20 dom (0)do sterowania auto bay-pas
    float ZEWNATRZ = sensors.getTempCByIndex(3);              // czujnik ds18d20 zewnątrz (3)do sterowania auto bay-pas

// Tu dwa ds 18d20 mają sterować siłownikiem już w automacie czyli: w domu temp. jest powyżej zadanej a na zewnątrz
// mniejsza, to następuje otwarcie bay-pas by schłodzić i tak w koło. Tu też chciałbym otwierać i zamykać przez 120 s
// aby przekazniki nie pracowały ciągle. Siłownik i tak odcina zasilanie a praca długa przekaznika jest bez celowa.
  
    if( DOM < 22.00 )bp1 = 0;
    if( DOM > 23.00 and DOM < 25.00 )bp1 = 1;
    if( DOM > 26.00 )bp1 = 0;
  
    if(ZEWNATRZ < 22.00 )bp2 = 0;                                            
    if(ZEWNATRZ > 23.00 and ZEWNATRZ < 25.00 )bp2 = 1;                          
    if(ZEWNATRZ > 26.00 )bp2 = 0;  
  
   if ( bp1 == 1 and bp2 == 1 ){
    digitalWrite(mixbypas,HIGH);}
   else {digitalWrite(mixbypas,LOW);}
  
// Wyświetlane są temp. ds18d20.
     lcd.setCursor(0,0);                       //ustaw kursor w pozycji 0,0
     lcd.print("CZER:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(3));    //wyswietl wartosc z czujnika 3
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");      
     lcd.setCursor(0,1);                       //ustaw kursor w pozycji 0,1
     lcd.print("WYRZ:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(1));    //wyswietl wartosc z czujnika 1
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");                            
     lcd.setCursor(0,2);                       //ustaw kursor w pozycji 0,2
     lcd.print("NAWI:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(2));    //wyswietl wartosc z czujnika 2
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");  
     lcd.setCursor(0,3);                       //ustaw kursor w pozycji 0,3
     lcd.print("WYWI:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(0));    //wyswietl wartosc z czujnika 0
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");
//Wyświetlana  jest wilgoć i temp. czujnika o raz awaria   DHT 22  (AM2302).
  
           if(h > maxHum ) {                       // DHT 22  (AM2302)
        digitalWrite(wilgoc, HIGH);                  
    } else {                                          // przekroczenie wilgoci
       digitalWrite(wilgoc, LOW);
    }
        lcd.setCursor(0,4);      
     lcd.print("");                          //wyswietl WILG z czujnika
     lcd.print(h);                           //wyswietl wartosc z czujnika
     lcd.print("% ");      
     lcd.setCursor(45,4);
     lcd.print("");                           //wyswietl Temp z czujnika
     lcd.print(t);                            //wyswietl wartosc z czujnika
     lcd.print("c ");
       if (isnan(h) || isnan(t)) {                // DHT 22  (AM2302)
      lcd.setCursor(0,4);
      lcd.print("NAJEBAL SENSOR");            //powiadomienie o awarii dth22
      delay(5000);
        return;
       }
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
#15
(21-04-2016, 23:21)adix napisał(a): Kolego opisz dokładnie ja to ma działać i napisze ci gotowca

To miłe i dziękuje . Ale na skróty to biegałem podymać jak miałem naście lat. Ogólnie to prawie mam wszystko. Jest to rekuperator własnej roboty zamontowany z bypass-em i kanałami rozprowadzonymi w mieszkaniu.
Zamontowałem 4 ds18b20 w rekuperator do kontroli i sterowania  temp. Zastosowałem
dwa wentylatory asynchroniczne z kondensatorami i falownik, którym 3-stopniową  regulacje mam przez arduino. Do bypass-u zastosowałem przepustnicę szczelną dwu-drożną pod siłownik(Belimo na 230v) w obejściu. Która ma za zadanie regulować temp. w lato (schładzać wieczorem i w nocy mieszkanie chłodniejszym powietrzem.Nie to co klima, ale zawsze coś.) To taki krótki zarys .
Chcę prawie, prawie "własnymi ręcyma cosik zrobić". Pora na arduino bo to wstyd układami elektronicznymi zastępować kości do programowania w prostych układach.
Jak jest ktoś zainteresowany, to zapraszam.
Pozdrowienia.
 
#16
if( DOM < 22.90 )bp1 = 0;
    if( DOM > 23.00 and DOM < 25.00 )bp1 = 1;
    if( DOM > 26.00 )bp1 = 0;
 
    if(ZEWNATRZ < 22.90 )bp2 = 0;                                            
    if(ZEWNATRZ > 23.00 and ZEWNATRZ < 25.00 )bp2 = 1;                          
    if(ZEWNATRZ > 26.00 )bp2 = 0;  
 
   if ( bp1 == 1 and bp2 == 1 ){
    digitalWrite(mixbypas,HIGH);}
   else {digitalWrite(mixbypas,LOW);}


Dziękuje. Rewelacja, działa jak natura chciała.

Testowałem i zauważyłem, że można wykonać dwie rzeczy naraz.
 
if (digitalRead(A3) == LOW) {                

if ( status1 == 0 ){pauza1 = sek;}
    status1 = 1;    
    digitalWrite(A5, HIGH);}
 
if ( sek - pauza1 > 120 ){                                      
    status1 = 0;
    digitalWrite(A5, LOW);    
}

if (digitalRead(A4) == LOW) {

if ( status2 == 0 ){pauza2 = sek;}
    status2 = 1;    
    digitalWrite(8, HIGH);}
 
if ( sek - pauza2 > 120 ){                                      
    status2 = 0;
    digitalWrite(8, LOW);    
}
Włącznik A3 ma funkcję -ON ręczny bypass, wyłącznik A4 ma funkcje -OFF ręczny bypass i obie te funkcje można na raz włączyć. Wcześniej delay blokowało wszystko i nie było takiej opcji.
Po prostu będę zwracał uwagę co i kiedy naciskać.
Pozdrowienia.
 
#17
Można dać wykluczenie if (digitalRead(A4) == LOW and digitalRead(A3) != LOW ){ I odwrotnie dla A3
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
#18
Cześć .
W sumie to takie cuś zrobiłem.

if (digitalRead(A4) == LOW) {
    
if ( status2 == 0 ){pauza2 = sek;}
    status2 = 1;   
    digitalWrite(A5, LOW);    //-------------------------------------?
    digitalWrite(8, HIGH);
    }
     
if ( sek - pauza2 > 120 ){                                      
    status2 = 0;
    digitalWrite(8, LOW);     
}
i odwrotnie dla drugiego członu.
Ale męczę się z migotaniem przekaźnika  int  mixbypas = 12;
Pierwsze co zrobiłem to zmniejszyłem częstotliwość czujników , ale potrzebuje ok 60 s.
Chyba jet to możliwe . Pokombinuje jeszcze .
Dziękuje i pozdrawiam.
 
#19
dodałem pauzę na przekaźnik 120 sekund , nie będzie klikał jak temp będzie na granicy .


Kod:
#include "DHT.h"                                          // DHT 22  (AM2302)
#include <OneWire.h>                                      
#include <DallasTemperature.h>                           //4 ds18d20
#include <PCD8544.h>                                      //lcd nokia 5110
#define ONE_WIRE_BUS 2                                   //1-Wire
#define DHTPIN 1                                         // pin wejście dla DHT 22  (AM2302)
#define DHTTYPE DHT22                                    // DHT 22  (AM2302)
#define wilgoc 9                                         // alarm wilgoci np. buzer //
int maxHum = 60;                                         // nastawa alarmu wilgoci  60% //
int one_wire = 2;                                      //Transmisja 1-Wire na pinie 2
OneWire oneWire(one_wire);
DallasTemperature sensors(&oneWire);                    //4 ds18d20
// int  b1 = 13;                                          // PRZEKAZNIK bay-pas auto
int  mixbypas = 12;                                          // PRZEKAZNIK bay-pas auto
int  bp1;                                                // PRZEKAZNIK bay-pas auto
int  bp2;                                                 // PRZEKAZNIK bay-pas auto
static PCD8544 lcd;                                     // lcd nokia 5110 pin 3,4,5,6,7
DHT dht(DHTPIN, DHTTYPE);                                 // DHT 22  (AM2302)
volatile int power=55;                                  // nastawa momentu załączenia zasilania.(obroty wentylatorów).
// wartość power=55;1;200 są dla transoptora, który steruje napięcie falownika wentylatorów.

long pauza1 = 0;
long pauza2 = 0;
long pauza3 = 0;
byte status1 = 0;
byte status2 = 0;
byte status3 = 0;

void setup() {

lcd.clear();
pinMode(wilgoc, OUTPUT);                             // alarm wilgoci np. buzer //                                      
//pinMode( bp1, OUTPUT);                                // PRZEKAZNIK bay-pas auto
//pinMode( bp2, OUTPUT);                                // PRZEKAZNIK bay-pas auto
pinMode(A5, OUTPUT);                                   //Dioda jako wyjście   RĘCZNY Bay-Pas
pinMode(A3, INPUT_PULLUP);                             //Przycisk jako wejście
digitalWrite(A5, LOW);                                 //Wyłączenie diody
pinMode(8, OUTPUT);                                    //Dioda jako wyjście     RĘCZNY Bay-Pas
pinMode(A4, INPUT_PULLUP);                            //Przycisk jako wejście

pinMode(mixbypas, OUTPUT);                            // PRZEKAZNIK bay-pas auto

digitalWrite(8, LOW);                                //Wyłączenie diody

pinMode(A0,INPUT);digitalWrite(A0,HIGH);             // klawisz MIN OBROTY
pinMode(A1,INPUT);digitalWrite(A1,HIGH);              // klawisz ŚRED OBROTY
pinMode(A2,INPUT);digitalWrite(A2,HIGH);              // klawisz MAX OBROTY
dht.begin();                                           // DHT 22  (AM2302)
sensors.begin();
lcd.begin(84,48);                                     // LCD
}

void loop(){

long  sek = millis()/1000;

delay(50);
if (digitalRead(A2)==LOW)power=200;                    //OBROTY wentylatora//
if (digitalRead(A1)==LOW)power=55;                 //OBROTY  wentylatora//
if (digitalRead(A0)==LOW)power=1;                  //OBROTY  wentylatora //
     delay(50);
     analogWrite(11,power);                         // tu dioda   //OBROTY //

    float t = dht.readTemperature();                      // DHT 22  (AM2302)
    float h = dht.readHumidity();                         // DHT 22  (AM2302)
  
if (digitalRead(A3) == LOW) {

if ( status1 == 0 ){pauza1 = sek;}
    status1 = 1;    
    digitalWrite(8, LOW);
    digitalWrite(A5, HIGH);}
  
if ( sek - pauza1 > 120 ){                                      
    status1 = 0;
    digitalWrite(A5, LOW);    
}

if (digitalRead(A4) == LOW) {

if ( status2 == 0 ){pauza2 = sek;}
    status2 = 1;
    digitalWrite(A5, LOW);    
    digitalWrite(8, HIGH);}
  
if ( sek - pauza2 > 120 ){                                      
    status2 = 0;
    digitalWrite(8, LOW);    
}

    sensors.requestTemperatures();                           //4 ds18d20
  //   digitalWrite( bp2,b1);                                     // PRZEKAZNIK bay-pas auto
  //   digitalWrite( bp2,b2);                                       // PRZEKAZNIK bay-pas auto
    float DOM = sensors.getTempCByIndex(0);                 //czujnik ds18d20 dom (0)do sterowania auto bay-pas
    float ZEWNATRZ = sensors.getTempCByIndex(3);              // czujnik ds18d20 zewnątrz (3)do sterowania auto bay-pas

// Tu dwa ds 18d20 mają sterować siłownikiem już w automacie czyli: w domu temp. jest powyżej zadanej a na zewnątrz
// mniejsza, to następuje otwarcie bay-pas by schłodzić i tak w koło. Tu też chciałbym otwierać i zamykać przez 120 s
// aby przekazniki nie pracowały ciągle. Siłownik i tak odcina zasilanie a praca długa przekaznika jest bez celowa.
  
    if( DOM < 22.00 )bp1 = 0;
    if( DOM > 23.00 and DOM < 25.00 )bp1 = 1;
    if( DOM > 26.00 )bp1 = 0;
  
    if(ZEWNATRZ < 22.00 )bp2 = 0;                                            
    if(ZEWNATRZ > 23.00 and ZEWNATRZ < 25.00 )bp2 = 1;                          
    if(ZEWNATRZ > 26.00 )bp2 = 0;  
  

if ( bp1 == 1 and bp2 == 1 ){
  
if ( status3 == 0 ){pauza3 = sek;}
     status3 = 1;    
     digitalWrite(mixbypas,HIGH);}

else{
  
if ( sek - pauza3 > 120 ){                                      
    status1 = 0;
    digitalWrite(mixbypas,LOW);}}
  
// Wyświetlane są temp. ds18d20.
     lcd.setCursor(0,0);                       //ustaw kursor w pozycji 0,0
     lcd.print("CZER:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(3));    //wyswietl wartosc z czujnika 3
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");      
     lcd.setCursor(0,1);                       //ustaw kursor w pozycji 0,1
     lcd.print("WYRZ:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(1));    //wyswietl wartosc z czujnika 1
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");                            
     lcd.setCursor(0,2);                       //ustaw kursor w pozycji 0,2
     lcd.print("NAWI:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(2));    //wyswietl wartosc z czujnika 2
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");  
     lcd.setCursor(0,3);                       //ustaw kursor w pozycji 0,3
     lcd.print("WYWI:");               //wyswietl "Temperatura: "
     lcd.print(sensors.getTempCByIndex(0));    //wyswietl wartosc z czujnika 0
     lcd.print((char)0);                       //wyswietl znak stopnia
     lcd.print("C  ");
//Wyświetlana  jest wilgoć i temp. czujnika o raz awaria   DHT 22  (AM2302).
  
           if(h > maxHum ) {                       // DHT 22  (AM2302)
        digitalWrite(wilgoc, HIGH);                  
    } else {                                          // przekroczenie wilgoci
       digitalWrite(wilgoc, LOW);
    }
        lcd.setCursor(0,4);      
     lcd.print("");                          //wyswietl WILG z czujnika
     lcd.print(h);                           //wyswietl wartosc z czujnika
     lcd.print("% ");      
     lcd.setCursor(45,4);
     lcd.print("");                           //wyswietl Temp z czujnika
     lcd.print(t);                            //wyswietl wartosc z czujnika
     lcd.print("c ");
       if (isnan(h) || isnan(t)) {                // DHT 22  (AM2302)
      lcd.setCursor(0,4);
      lcd.print("NAJEBAL SENSOR");            //powiadomienie o awarii dth22
      delay(5000);
        return;
       }
}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
#20
Nooo.
Pomoc nie oceniona. Z mojej strony to koniec wymyślania.
Dziękuje i pozdrawiam.
 
  


Skocz do:


Przeglądający: 1 gości