Датчик АМ2320 и DS18B20

Тема в разделе "Arduino & Shields", создана пользователем Plats34, 11 окт 2019.

  1. Plats34

    Plats34 Нуб

    Всем доброго вечера.
    Гуру!!! Подскажите пожалуйста как одновременно подключить к Ардуинке датчики AM2320 и DS18B20???
    Отдельно каждый могу, а вместе никак не соображу.... Прошу любой помощи.
    Пока вот такое только получается...


    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <Wire.h>
    #include <iarduino_AM2320.h>
    #include <memorysaver.h>
    #include <UTFT.h>
    #define DS18B20 0

    const uint8_t RS = 6; //
    const uint8_t WR = 5; //
    const uint8_t CS = 4; //
    const uint8_t RST = 3; //
    const uint8_t SER = 2; //

    UTFT myGLCD(TFT01_24SP, RS, WR, CS, RST, SER); // Создаём объект для работы с дисплеем

    // НАСТРОЙКИ ДИСПЛЕЯ
    extern uint8_t SmallFont[];
    extern uint8_t BigFont[];
    extern uint8_t SevenSegNumFont[];
    int DS18b20 = 0;

    OneWire oneWire(DS18B20);
    DallasTemperature sensors(&oneWire);

    iarduino_AM2320 sensor;



    void setup() {
    sensors.begin();
    sensors.setResolution(DS18B20, 0);
    myGLCD.InitLCD();
    myGLCD.clrScr();
    myGLCD.fillScr(VGA_BLACK);
    myGLCD.setFont(BigFont);
    myGLCD.setColor(VGA_RED);
    myGLCD.print("Welcome to", CENTER, 50);
    myGLCD.print("CLIMACONTROL 1.0", CENTER, 75);
    delay(2000);
    myGLCD.setFont(SmallFont);
    myGLCD.setColor(VGA_GREEN);
    myGLCD.print("please wait...", CENTER, 100);
    delay(3500);
    myGLCD.clrScr();
    myGLCD.fillScr(VGA_BLACK);
    }
    void loop()
    {
    sensor.read();
    sensors.requestTemperatures();
    myGLCD.setFont(BigFont);
    myGLCD.setColor(VGA_RED);
    myGLCD.print("WEATHER", CENTER, 10);
    myGLCD.setColor(VGA_WHITE);
    myGLCD.drawLine(25, 30, 290, 30); // горизонтальная линия
    myGLCD.setFont(BigFont);
    myGLCD.setColor(VGA_WHITE);
    myGLCD.print("Temperature,oC", CENTER, 55);
    myGLCD.printNumF(sensor.tem, 1, CENTER, 85);
    myGLCD.setFont(BigFont);
    myGLCD.setColor(VGA_WHITE);
    myGLCD.print("Humidity,%", CENTER, 120);
    myGLCD.printNumF(sensor.hum, 1, CENTER, 150);
    delay(1000);
    }
     
  2. ИгорьК

    ИгорьК Оракул Модератор

  3. Plats34

    Plats34 Нуб

    Код (C++):
    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <Wire.h>
    #include <iarduino_AM2320.h>
    #include <memorysaver.h>
    #include <UTFT.h>
    #define DS18B20 0

    const uint8_t RS   = 6;                                //
    const uint8_t WR   = 5;                                //
    const uint8_t CS   = 4;                                //
    const uint8_t RST  = 3;                                //
    const uint8_t SER  = 2;                                //

    UTFT    myGLCD(TFT01_24SP, RS, WR, CS, RST, SER);      // Создаём объект для работы с дисплеем

    // НАСТРОЙКИ ДИСПЛЕЯ
    extern uint8_t SmallFont[];
    extern uint8_t BigFont[];
    extern uint8_t SevenSegNumFont[];
    int DS18b20 = 0;

    OneWire oneWire(DS18B20);
    DallasTemperature sensors(&oneWire);

    iarduino_AM2320 sensor;



    void setup() {
      sensors.begin();
      sensors.setResolution(DS18B20, 0);
      myGLCD.InitLCD();
      myGLCD.clrScr();
      myGLCD.fillScr(VGA_BLACK);
      myGLCD.setFont(BigFont);
      myGLCD.setColor(VGA_RED);
      myGLCD.print("Welcome to", CENTER, 50);
      myGLCD.print("CLIMACONTROL 1.0", CENTER, 75);
      delay(2000);
      myGLCD.setFont(SmallFont);
      myGLCD.setColor(VGA_GREEN);
      myGLCD.print("please wait...", CENTER, 100);
      delay(3500);
      myGLCD.clrScr();
      myGLCD.fillScr(VGA_BLACK);
    }
    void loop()
    {
      sensor.read();
      sensors.requestTemperatures();
      myGLCD.setFont(BigFont);
      myGLCD.setColor(VGA_RED);
      myGLCD.print("WEATHER", CENTER, 10);
      myGLCD.setColor(VGA_WHITE);
      myGLCD.drawLine(25, 30, 290, 30); // горизонтальная линия
      //myGLCD.drawLine(25, 30, 25, 200); вертикальная линия
      myGLCD.setFont(BigFont);
      myGLCD.setColor(VGA_WHITE);
      myGLCD.print("Temperature,oC", CENTER, 55); // здесь планировал вывести показания температуры
      myGLCD.printNumF(sensor.tem, 1, CENTER, 85);
      myGLCD.setFont(BigFont);
      myGLCD.setColor(VGA_WHITE);
      myGLCD.print("Humidity,%", CENTER, 120);  //здесь планировал вывести показания датчика влажности
      myGLCD.printNumF(sensor.hum, 1, CENTER, 150);
      delay(1000);
    }