Automatický skleník

Odpovědět
Firefly
Příspěvky: 2
Registrován: 04 úno 2018, 14:55
Reputation: 0

Automatický skleník

Příspěvek od Firefly » 04 úno 2018, 15:47

Ahojte,
som úplný začiatočník a potrebujem pomoc s mojim projektom... Písanie programu som si predstavoval ľahšie chcel som pridať jeden už napísaný program k druhému... bohužiaľ mi vpisovalo chybu v čitani knižnice:
Arduino: 1.8.5 (Windows 10), Vývojová doska:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\Damián Matysko\Desktop\V2\V2.ino: In function 'void setup()':

V2:40: error: 'prerus' was not declared in this scope

Boli nájdené násobné knižnice pre "dht.h"
Použité: C:\Users\Damián Matysko\Documents\Arduino\libraries\DHT
Nepoužité: D:\Programs\Arduino\libraries\DHT
exit status 1
'prerus' was not declared in this scope

Táto správa by mala mať viac informácií v
"Zobrazenie podrobného výstupu pri kompilácii"
podľa zapnutá voľba v Súbor -> Nastavenia.
Skušal som dopisať do regulacie vlchkosti:

Kód: Vybrat vše

#include <dht.h>
 #define dht_apin A0 // Analog Pin sensor is connected to
 dht DHT;
 void setup(){

  pinMode(52, OUTPUT);
    Serial.begin(9600);
   delay(500);//Delay to let system boot
   Serial.println("DHT11 Humidity & temperature Sensor\n\n");
   delay(1000);//Wait before accessing Sensor
}//end "setup()"
 
 void loop(){
 
  //Start of Program 
   DHT.read11(A3);
   
     Serial.print("Current humidity = ");
     Serial.print(DHT.humidity);
     Serial.print("%  ");
     Serial.print("temperature = ");
     Serial.print(DHT.temperature); 
     Serial.println("C  ");
 
  delay(200);//Wait 5 seconds before accessing sensor again.
// -------------------------------------------------------------------------------
      int text=DHT.humidity;
      if(text < 50){
          digitalWrite(52, 5);
          }else{
            digitalWrite(52, 0);
            }
//--------------------------------------------------------------------------------
  //Fastest should be once every two seconds.
 }// end loop() 
tento kód na kvalitu ovzdušia:

Kód: Vybrat vše

//------------------------------------------------------------------------------------ MQ-135 senzor plynů
// připojení potřebné knihovny MQ-135
#include "MQ135.h"
// nastavení propojovacích pinů MQ-135
#define pinA A14
#define pinD 50
// inicializace senzoru z knihovny MQ-135
MQ135 senzorMQ = MQ135(pinA);

void setup() {
  // inicializace komunikace po sériové lince MQ-135
  // rychlostí 9600 baud MQ-135
  Serial.begin(9600);
  // nastavení přerušení na pin 2 (int0) MQ-135
  // při nástupné hraně (log0->log1) se vykoná program prerus MQ-135
  attachInterrupt(digitalPinToInterrupt(pinD), prerus, RISING);
}
void loop() {
  // načtení koncentrace plynů v ppm do proměnné MQ-135
  float ppm = senzorMQ.getPPM();
  // načtení času od spuštění Arduina v sekundách MQ-135
  long cas = millis()/1000;
  // vytištění naměřené koncentrace MQ-135
  Serial.print("Koncentrace plynů: ");
  Serial.print(ppm);
  Serial.print(" ppm | cas od spusteni Arduina: ");
  Serial.print(cas/60); // výpočet minut - dělení 60 MQ-135
  Serial.print("m");
  Serial.print(cas%60); // výpočet vteřin - zbytek po dělení 60 MQ-135
  Serial.println("s.");
  
  // pauza před dalším měřením MQ-135
  delay(3000);
}
void prerus() {
  // vypiš varovnou hlášku, pokud je aktivován digitální vstup MQ-135
  Serial.println("Detekovano prekroceni hranice!");
}
vzniklo mi z toho niečo také :

Kód: Vybrat vše

#include "MQ135.h"
#include <dht.h> 
#define dht_apin A15 // Analog Pin sensor is connected to 
dht DHT;


//------------------------------------------------------------------------------------ MQ-135 senzor plynů
// připojení potřebné knihovny MQ-135

// nastavení propojovacích pinů MQ-135
#define pinA A14
#define pinD 50
// inicializace senzoru z knihovny MQ-135
MQ135 senzorMQ = MQ135(pinA);
//------------------------------------------------------------------------------------ MQ-135 senzor plynů


 
void setup(){
  {
  pinMode(52, OUTPUT);
  
  Serial.begin(9600);
 
  delay(500 );//Delay to let system boot
 
  Serial.println("DHT11 Humidity & temperature Sensor\n\n");
 
  delay(1000);//Wait before accessing Sensor
  }


//------------------------------------------------------------------------------------ MQ-135 senzor plynů
  {
  // inicializace komunikace po sériové lince MQ-135
  // rychlostí 9600 baud MQ-135
  Serial.begin(9600);
  // nastavení přerušení na pin 2 (int0) MQ-135
  // při nástupné hraně (log0->log1) se vykoná program prerus MQ-135
  attachInterrupt(digitalPinToInterrupt(pinD), prerus, RISING);
  }
}// end loop()
//------------------------------------------------------------------------------------ MQ-135 senzor plynů
 
 

 
void loop(){
 
  //Start of Program 
 
  DHT.read11(A15);
 

    Serial.print("Vlchkost = ");
 
    Serial.print(DHT.humidity);
 
    Serial.print("%  ");
 
    Serial.print("Teplota = ");
 
    Serial.print(DHT.temperature); 
 
    Serial.println("C  ");
 
  delay(2000);//Rzchlost citania senzora DHT
// ------------------------------------------------------------------------------- zopinanie ventilatorov
      int text=DHT.humidity;
      if(text < 50){
          digitalWrite(52, 5);
          }else{
            digitalWrite(52, 0);
            }
//-------------------------------------------------------------------------------- zopinanie ventilatorov
  //Fastest should be once every two seconds.


 
//------------------------------------------------------------------------------------ MQ-135 senzor plynů

  // načtení koncentrace plynů v ppm do proměnné MQ-135
  float ppm = senzorMQ.getPPM();
  // načtení času od spuštění Arduina v sekundách MQ-135
  long cas = millis()/1000;
  // vytištění naměřené koncentrace MQ-135
  Serial.print("Koncentrace plynů: ");
  Serial.print(ppm);
  Serial.print(" ppm | cas od spusteni Arduina: ");
  Serial.print(cas/60); // výpočet minut - dělení 60 MQ-135
  Serial.print("m");
  Serial.print(cas%60); // výpočet vteřin - zbytek po dělení 60 MQ-135
  Serial.println("s.");
  
  // pauza před dalším měřením MQ-135
  delay(3000);
}// end loop()
//------------------------------------------------------------------------------------ MQ-135 senzor plynů
prosím vás kde robím chyby... viem že sú pravdepodobne v základoch no neviem si už rady a čas ma tlači chcel by som sa vyvarovať týmto chybám

za vašu pomoc a čas vopred ďakujem

Uživatelský avatar
BlindP
Příspěvky: 39
Registrován: 23 črc 2017, 00:46
Reputation: 0

Re: Automatický skleník

Příspěvek od BlindP » 04 úno 2018, 16:20

Ahoj,
V2:40: error: 'prerus' was not declared in this scope
Chybí Ti tam funkce prerus.

Kód: Vybrat vše

void prerus() {
  // vypiš varovnou hlášku, pokud je aktivován digitální vstup MQ-135
  Serial.println("Detekovano prekroceni hranice!");
}
překladač Ti říká, kde k chybě došlo - na řádku 40...

Firefly
Příspěvky: 2
Registrován: 04 úno 2018, 14:55
Reputation: 0

Re: Automatický skleník

Příspěvek od Firefly » 05 úno 2018, 07:41

ďakujem veľmi pekne... už mi to ide :oops:

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 13 hostů