Помогите SOS! Нужно соединить воедино 2 скетча!

Тема в разделе "Arduino & Shields", создана пользователем QQmor, 22 мар 2018.

Метки:
  1. QQmor

    QQmor Нуб

    Код (C++):
    #include "DHT.h"
    #define DHTPIN 4     // у меня подключен ко 2 пину, поэтому 2
    #define DHTTYPE DHT11   // указываем какой датчик
    DHT dht(DHTPIN, DHTTYPE);
    void setup() {
      Serial.begin(9600); //указываем скорость передачи в бодах
      dht.begin();
    }
    void loop() {
      int h = dht.readHumidity();//переменная для влажности
      int t = dht.readTemperature();//переменная для температуры
      if (isnan(t) || isnan(h)) {//проверка (что мы получаем на запрос из датчика - цифры?)
        Serial.println("Failed to read from DHT");//сообщение об ошибке
      }
      else {
        //Serial.print("Humidity: ");
        Serial.print(h);//вывожу построчно - влажность
        Serial.print("\t\n");//сдвиг каретки и начало строки
        // Serial.print("Temperature: ");
        Serial.print(t);//температура
        Serial.print("\n");
        //Serial.println(" *C");
      }
      delay(60000);//задержка времени в милсек. = 1 мин.
      //delay(3600000);//на каждый час
    }
    Код (C++):
    int data_pin = 9;
    int vcc_pin=8;
    int gnd_pin=10;
    boolean result[41]; //holds the result
    int interval=2000; //Sample every 2 seconds
    unsigned int temp; //in celcius
    unsigned int humidity; //in %RH

    void setup() {

      //Supply power to DHT11 (Uses upto 2.5mA)
        pinMode(gnd_pin, OUTPUT);
        pinMode(vcc_pin, OUTPUT);
        digitalWrite(gnd_pin,LOW);
        digitalWrite(vcc_pin,HIGH);
       
      //Initiate Serial for Bluetooth Communication
        Serial.begin(9600);
    }

    void loop() {
      //Pause before taking next measurement
        delay(interval);
      //Trigger reading by holding data pin low for 18ms
        pinMode(data_pin, OUTPUT);
        digitalWrite(data_pin,LOW);
        delay(18);
        digitalWrite(data_pin,HIGH);
        pinMode(data_pin, INPUT_PULLUP);
     
      //read 41 bits of signal
        for(int i=0;i<=40;i++){
          result[i]=(pulseIn(data_pin, HIGH)>40);
        }

      //Extract Humidity (from byte 1)
        humidity=0;
        for (int i=1;i<=8;i++){
          humidity=humidity<<1;
          if (result[i]) humidity|=1;
        }
         
      //Extract Temperature (from Byte 3)
        temp=0;
        for (int i=17;i<=24;i++){
          temp=temp<<1;
          if (result[i]) temp|=1;
        }
       
       //Send data over Bluetooth
        Serial.print("*T"+String(temp)+"*");
        Serial.print("*H"+String(humidity)+"*");

    }
     
     
  2. Arduino_man

    Arduino_man Гик

    Ну хоть код нормально поставил. Для новичка одно это - огромное достижение :)
     
    Tomasina нравится это.
  3. Asper Daffy

    Asper Daffy Иксперд

    Соединить, так соединить - держи!

    Код (C++):
    #include "DHT.h"
    #define DHTPIN 4     // у меня подключен ко 2 пину, поэтому 2
    #define DHTTYPE DHT11   // указываем какой датчик
    DHT dht(DHTPIN, DHTTYPE);
    void setup() {
      Serial.begin(9600); //указываем скорость передачи в бодах
      dht.begin();
    }
    void loop() {
      int h = dht.readHumidity();//переменная для влажности
      int t = dht.readTemperature();//переменная для температуры
      if (isnan(t) || isnan(h)) {//проверка (что мы получаем на запрос из датчика - цифры?)
        Serial.println("Failed to read from DHT");//сообщение об ошибке
      }
      else {
        //Serial.print("Humidity: ");
        Serial.print(h);//вывожу построчно - влажность
        Serial.print("\t\n");//сдвиг каретки и начало строки
        // Serial.print("Temperature: ");
        Serial.print(t);//температура
        Serial.print("\n");
        //Serial.println(" *C");
      }
      delay(60000);//задержка времени в милсек. = 1 мин.
      //delay(3600000);//на каждый час
    }
    int data_pin = 9;
    int vcc_pin=8;
    int gnd_pin=10;
    boolean result[41]; //holds the result
    int interval=2000; //Sample every 2 seconds
    unsigned int temp; //in celcius
    unsigned int humidity; //in %RH

    void setup() {

      //Supply power to DHT11 (Uses upto 2.5mA)
        pinMode(gnd_pin, OUTPUT);
        pinMode(vcc_pin, OUTPUT);
        digitalWrite(gnd_pin,LOW);
        digitalWrite(vcc_pin,HIGH);
     
      //Initiate Serial for Bluetooth Communication
        Serial.begin(9600);
    }

    void loop() {
      //Pause before taking next measurement
        delay(interval);
      //Trigger reading by holding data pin low for 18ms
        pinMode(data_pin, OUTPUT);
        digitalWrite(data_pin,LOW);
        delay(18);
        digitalWrite(data_pin,HIGH);
        pinMode(data_pin, INPUT_PULLUP);
      //read 41 bits of signal
        for(int i=0;i<=40;i++){
          result[i]=(pulseIn(data_pin, HIGH)>40);
        }

      //Extract Humidity (from byte 1)
        humidity=0;
        for (int i=1;i<=8;i++){
          humidity=humidity<<1;
          if (result[i]) humidity|=1;
        }
       
      //Extract Temperature (from Byte 3)
        temp=0;
        for (int i=17;i<=24;i++){
          temp=temp<<1;
          if (result[i]) temp|=1;
        }
     
       //Send data over Bluetooth
        Serial.print("*T"+String(temp)+"*");
        Serial.print("*H"+String(humidity)+"*");

    }
     
     
    parovoZZ и DetSimen нравится это.
  4. QQmor

    QQmor Нуб

    Спасибо за Ваше "теплое" гостеприимство на форуме.
     
  5. Asper Daffy

    Asper Daffy Иксперд

    Не за что! Заходи ещё!
     
    parovoZZ, DetSimen, citRUS_oleg и ещё 1-му нравится это.
  6. b707

    b707 Гуру

    мне кажется. что ТС остался чем-то недоволен.... :)
     
    citRUS_oleg и Airbus нравится это.
  7. Asper Daffy

    Asper Daffy Иксперд

    А чем он может быть недоволен? Скетчи я ему соединил, как он и просил. Что делает объединённый скетч ... так вроде ТС не уточнял, что он должен делать. Думаю, ему не с чего быть недовольным.
     
    citRUS_oleg и Airbus нравится это.
  8. Airbus

    Airbus Радиохулиган Модератор

    Та нет два скопипащеных скетча (второй то точно если судить по коментам!) склеили а самое главное БЕСПЛАТНО!Чел должен быть счастлив
     
    citRUS_oleg нравится это.
  9. parovoZZ

    parovoZZ Гуру

    осадочек остался
     
  10. DetSimen

    DetSimen Guest

    Кикимор, а ты сам виноват, надо было больше восклицательных знаков после "ПАМАГИТИ" ставить.
     
    Asper Daffy нравится это.