ขอสอบถามหน่อยคะใช้ Dht22 ทั้งหมด 3 ตัว

ต้องแสดงผลค่าเฉลี่ย ลงใน sd card เพื่อเก็บค่า ต้องเสริมตรงไหนบ้างคะ บอร์ดwemos D1 คะ

#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include "DHTesp.h"

#ifdef ESP32
#pragma message(THIS EXAMPLE IS FOR ESP8266 ONLY!)
#error Select ESP8266 board.
#endif
#include <RTClib.h>
 
DHTesp dht;
// SD Card & กำหนด CS = ขา D10
File myFile;
// ใช้ RTC 1307 
RTC_DS1307 myRTC;
int Hr;           // ตัวแปรเก็บค่าชั่วโมง
int Mn;           //  ตัวแปรเก็บค่านาที
int CS = D10;
int FAN = D5;
int PUME = D6;
float humidity;
float temperature;
void setup()
{
 
  Wire.begin(D10);
  Serial.begin(115200);
  Serial.println();
  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)\tHeatIndex (C)\t(F)");
  String thisBoard= ARDUINO_BOARD;
  Serial.println(thisBoard);

 pinMode(FAN, OUTPUT);
 pinMode(PUME, OUTPUT);
  dht.setup(D0, DHTesp::DHT22); 
// เช็ค SD Card
  if(!SD.begin(D10)){
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

// ลองเปิดไฟล์ ถ้าไม่มีอยู่ให้สร้างขึ้นใหม่ 
  createNew:
  myFile = SD.open("data.txt", FILE_WRITE);
  myFile.close();

// เช็คการมีอยู่ของไฟล์ ถ้าไม่มีให้กลับไปสร้างไฟล์
  if(SD.exists("data.txt")){
    Serial.println("File exists.");
  } else {
    Serial.println("File doesn't exists.");
    goto createNew;
  }
}


void loop()
{// รับค่าเวลาเก็บในตัวแปร
  DateTime nowTime = myRTC.now();
  Hr = nowTime.hour();
  Mn = nowTime.minute();

// ถ้าค่านาทีหาร 15 แล้วมีเศษ = 0 จะทำงาน
  if(Mn % 15 == 0){
  delay(dht.getMinimumSamplingPeriod());

   float H = dht.getHumidity();
   float T = dht.getTemperature();
 // เปิดไฟล์ data.txt
    myFile = SD.open("data.txt", FILE_WRITE);
    if(myFile){
      // บันทึกค่าชั่วโมง หากมีหลักเดียว ให้เติม 0 ไว้ด้านหน้า
      if(Hr < 9){
        myFile.print("0");
        myFile.print(Hr);
        myFile.print(":");
      } else {
        myFile.print(Hr);
        myFile.print(":");      // : คั่นชั่วโมงและนาที
      }
      
      // บันทึกค่านาที หากมีหลักเดียว ให้เติม 0 ไว้ด้านหน้า
       if(Mn < 9){
        myFile.print("0");
        myFile.print(Mn);
        myFile.print("\t");
      } else {
        myFile.print(Mn);
        myFile.print("\t");     // \t = เว้น 1 tab
      }
 myFile.print(dht.getStatusString());
  myFile.print("  Humidity(%)\t  ");
 myFile.print(H, 1);
  myFile.print("  Temperature(C*)\t  ");
  myFile.print(T, 1);
 myFile.print("  Temperature(F*)\t  ");
 myFile.println(dht.toFahrenheit(T), 1);

 delay(2000);
    }
}
}

แล้วต้องแสดงผลค่าเฉลี่ย ลงในsd card เพื่อเก็บค่า

ห่ะอีกทีสิครับงง

ใช่คะ ต้องแสดงผลค่าเฉลี่ยอุณหภูมิ ลงใน sd card คะ

เห็นมีโค้ตที่ใช้บันทึกอยู่ แล้วแสดงว่าต้องการเอาค่านี้มาแสดงเป็นกราฟใช่รึป่าวครับ

image

ต้องแสดงผลค่าเฉลี่ย ลงใน sd card แก้เป็น ต้องการเก็บผลค่าเฉลี่ย ลงใน sd card หมายถึงอย่างนี้รึป่าวครับ

ตัวอย่างการเก็บ Temp 1 ตัวครับ 3 ตัวก็เอามา เฉลี่ยกันก่อน แล้วค่อยเก็บใน SD Card
ถ้าผมเข้าใจ โจทย์ ถูกนะครับ