galaxy 发表于 2017-12-14 14:25:45

使用 u8blib + 12864 + 6個 DHT22 的溫濕度

本帖最后由 galaxy 于 2017-12-15 07:37 编辑

//0022 可過
// 度 C 有完整顯示

#include "U8glib.h"
U8GLIB_ST7920_128X64 u8g(4,3,2, U8G_PIN_NONE);
//==============================================================
#include <DHT22.h>
#include <Wire.h>

#define DHT22_PIN_1 8   //定義 DHT22 使用的腳位
#define DHT22_PIN_2 9   //定義 DHT22 使用的腳位
#define DHT22_PIN_3 10    //定義 DHT22 使用的腳位
#define DHT22_PIN_4 11    //定義 DHT22 使用的腳位
#define DHT22_PIN_5 12    //定義 DHT22 使用的腳位
#define DHT22_PIN_6 13    //定義 DHT22 使用的腳位
DHT22 myDHT22_1(DHT22_PIN_1);
DHT22 myDHT22_2(DHT22_PIN_2);
DHT22 myDHT22_3(DHT22_PIN_3);
DHT22 myDHT22_4(DHT22_PIN_4);
DHT22 myDHT22_5(DHT22_PIN_5);
DHT22 myDHT22_6(DHT22_PIN_6);

char str;

void setup() { }
void loop(void) {

DHT22_ERROR_t errorCode;
errorCode = myDHT22_1.readData();
errorCode = myDHT22_2.readData();
errorCode = myDHT22_3.readData();
errorCode = myDHT22_4.readData();
errorCode = myDHT22_5.readData();
errorCode = myDHT22_6.readData();

float t1 = (myDHT22_1.getTemperatureC()); //讀取溫度
float h1 = (myDHT22_1.getHumidity()); //讀取濕度

float t2 = (myDHT22_2.getTemperatureC()); //讀取溫度
float h2 = (myDHT22_2.getHumidity()); //讀取濕度

float t3 = (myDHT22_3.getTemperatureC()); //讀取溫度
float h3 = (myDHT22_3.getHumidity()); //讀取濕度

float t4 = (myDHT22_4.getTemperatureC()); //讀取溫度
float h4 = (myDHT22_4.getHumidity()); //讀取濕度

float t5 = (myDHT22_5.getTemperatureC()); //讀取溫度
float h5 = (myDHT22_5.getHumidity()); //讀取濕度

float t6 = (myDHT22_6.getTemperatureC()); //讀取溫度
float h6 = (myDHT22_6.getHumidity()); //讀取濕度

u8g.firstPage();
do {
    u8g.setFont(u8g_font_6x13); //設定字型 9 Pixel Hifh
//=====================================================================   
    u8g.drawStr( 2, 9, "T1="); // (?點,橫點, "T=");
    u8g.drawStr( 15, 9, dtostrf(t1, 5, 1, str));
    u8g.drawStr( 46, 9, "\260C"); // (?點,橫點, "\260C");
   
    u8g.drawStr( 65, 9, "H1="); // (?點,橫點, "H=");
    u8g.drawStr( 78, 9, dtostrf(h1, 5, 1, str));
    u8g.drawStr(109, 9, "%"); // (?點,橫點, "%");
//=====================================================================   
    u8g.drawStr( 2, 20, "T2="); // (?點,橫點, "T=");
    u8g.drawStr( 15, 20, dtostrf(t2, 5, 1, str));
    u8g.drawStr( 46, 20, "\260C"); // (?點,橫點, "\260C");
   
    u8g.drawStr( 65, 20, "H2="); // (?點,橫點, "H=");
    u8g.drawStr( 78, 20, dtostrf(h2, 5, 1, str));
    u8g.drawStr(109, 20, "%"); // (?點,橫點, "%");
//=====================================================================   
    u8g.drawStr( 2, 31, "T3="); // (?點,橫點, "T=");
    u8g.drawStr( 15, 31, dtostrf(t3, 5, 1, str));
    u8g.drawStr( 46, 31, "\260C"); // (?點,橫點, "\260C");
   
    u8g.drawStr( 65, 31, "H3="); // (?點,橫點, "H=");
    u8g.drawStr( 78, 31, dtostrf(h3, 5, 1, str));
    u8g.drawStr(109, 31, "%"); // (?點,橫點, "%");   
//=======================================================================
    u8g.drawStr( 2, 42, "T4="); // (?點,橫點, "T=");
    u8g.drawStr( 15, 42, dtostrf(t4, 5, 1, str));
    u8g.drawStr( 46, 42, "\260C"); // (?點,橫點, "\260C");
   
    u8g.drawStr( 65, 42, "H4="); // (?點,橫點, "H=");
    u8g.drawStr( 78, 42, dtostrf(h4, 5, 1, str));
    u8g.drawStr(109, 42, "%"); // (?點,橫點, "%");
//=======================================================================
    u8g.drawStr( 2, 53, "T5="); // (?點,橫點, "T=");
    u8g.drawStr( 15, 53, dtostrf(t5, 5, 1, str));
    u8g.drawStr( 46, 53, "\260C"); // (?點,橫點, "\260C");
   
    u8g.drawStr( 65, 53, "H5="); // (?點,橫點, "H=");
    u8g.drawStr( 78, 53, dtostrf(h5, 5, 1, str));
    u8g.drawStr(109, 53, "%"); // (?點,橫點, "%");
//=======================================================================
    u8g.drawStr( 2, 63, "T6="); // (?點,橫點, "T=");
    u8g.drawStr( 15, 63, dtostrf(t6, 5, 1, str));
    u8g.drawStr( 46, 63, "\260C"); // (?點,橫點, "\260C");
   
    u8g.drawStr( 65, 63, "H6="); // (?點,橫點, "H=");
    u8g.drawStr( 78, 63, dtostrf(h6, 5, 1, str));
    u8g.drawStr(109, 63, "%"); // (?點,橫點, "%");
//=======================================================================
} while( u8g.nextPage() );
}

//=======================================================================
有空再畫電路上來....
其實會看程序的話...接腳都在程序裡面可以看出端倪

這個程序算是個框架,把繪圖屏幕當作是文字屏幕來使用,很方便

suoma 发表于 2017-12-16 14:36:15

你好,麻烦有时间确认下这个问题
http://www.geek-workshop.com/thread-31002-1-1.html

galaxy 发表于 2019-3-25 12:59:35

本帖最后由 galaxy 于 2019-3-25 13:01 编辑

回錯了~刪

yzw92 发表于 2019-8-10 08:51:14

中国的骄傲

3310mad2 发表于 2020-9-30 13:40:10

很棒,谢谢分享

cqhejian 发表于 2021-1-13 09:45:38

六个,这个传感器比DHT11贵很多了
页: [1]
查看完整版本: 使用 u8blib + 12864 + 6個 DHT22 的溫濕度