求一位用ardunio mcookie板,了解arduino语法的,帮看看为什么编译错误啊,主要想实现一个不同温湿度段亮灯的功能,并将温湿度和当前时间显示在屏幕上




include <ArduinoRobotMotorBoard.h>
#include <EasyTransfer2.h>
#include <LineFollow.h>
#include <Multiplexer.h>


#include <Microduino_RTC.h>//时间获取
#include <Microduino_Tem_Hum.h>//温湿度获取
#include <U8glib.h>
#define tempreture_boundary_1 27 //温度界限1
#define tempreture_boundary_2 29 //温度界限2
#define humidity_boundary_1 70  //湿度界限1
#define humidity_boundary_2 80  //湿度界限2

const int led_red = 6;
const int led_green=8;
const int led_yellow=2;
// 设置串口参数等,只执行一次


Tem_Hum_S2  termo; //调用Sensor-Tem&Hum-S2传感器
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);//调用显示屏

RTC rtc;
/* 设置RTC启动时间
 * 年, 月, 星期, 日, 时, 分, 秒 */
DateTime dateTime = {2021, 12, 15, 3, 20, 10, 40};

uint16_t tYear;
uint8_t tMonth, tWeekday, tDay, tHour, tMinute, tSecond; 


void draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
u8g.setFont(u8g_font_6x10);
 u8g.setFont(u8g_font_9x15);
u8g.drawStr( 0, 20,"the rightnow time is:");  
u8g.drawStr( 0, 30, "the tempreture is:");
u8g.drawStr( 0, 50, "the Humidity is:");
u8g.drawStr( 30, 20, ":");
u8g.drawStr( 70, 20, ":");
}

void setup()
{
   Serial.begin(9600);
  //清除所有寄存器
  rtc.begin();
 rtc.clearAll();
  //设置启动时间
  rtc.setDateTime(dateTime);
  Serial.begin(9600);
  Serial.print("Tem_Hum_S2:");
  Serial.print(termo.begin());  //初始化温湿度传感器,并串口打印传感器是否在线
  delay(1000);
   // flip screen, if required
  // u8g.setRot180();
  // assign default color value
  u8g.setColorIndex(1);         // pixel on
  // put your setup code here, to run once:
  Serial.begin(9600);
   pinMode(led_red, OUTPUT);
  // put your setup code here, to run once:
   pinMode(led_green, OUTPUT);
   // put your setup code here, to run once:
   pinMode(led_yellow, OUTPUT);
}

  void loop()
{
 
 // rtc.getD
  Serial.print("Tem_Hum_S2 Tem:");
  Serial.print(termo.getTemperature()); //串口打印获取的温度
  Serial.print("\t");
  Serial.print("Tem_Hum_S2 Hum:");
  Serial.println(termo.getHumidity()); //串口打印获取的湿度   
  u8g.firstPage();
  do {
  draw();
  u8g.setPrintPos(50,30);//坐标
  u8g.setFont(u8g_font_6x10);//定义字体
  u8g.print(termo.getTemperature());//显示温度
  u8g.setPrintPos(50,50);//坐标
  u8g.setFont(u8g_font_6x10);//定义字体
  u8g.print(termo.getHumidity());//显示温度
  } while( u8g.nextPage() );
  delay(200);
  if (termo.getTemperature()>tempreture_boundary_2 or termo.getHumidity()>humidity_boundary_2 80 ) // 高温或高湿
 {
  // put your setup code here, to run once:
  Serial.begin(9600);
   pinMode(led_red, OUTPUT);
     digitalWrite(led_red, HIGH);
      delay(500);
        digitalWrite(led_red, LOW);
      delay(10);
 }
  else if(termo.getTemperature()<tempreture_boundary_1 or termo.getHumidity()>humidity_boundary_2 80 ) // 低温或低湿    
  { Serial.begin(9600);
   pinMode(led_green, OUTPUT);
     digitalWrite(led_green, HIGH);
      delay(500);
        digitalWrite(led_green, LOW);
      delay(10);
  }
  else                      //其他情况
  { Serial.begin(9600);
   pinMode(led_yellow, OUTPUT);
     digitalWrite(led_yellow, HIGH);
      delay(500);
        digitalWrite(led_yellow, LOW);
      delay(10);
  }
  return 0;
  delay(100);  
}


错误图片如下,因为arduino报错是很模糊的,也没有语行提醒,所以出现错误就很麻烦

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/393565554266126.jpg "#left")

是啥错误,能截个图上来吗?

没有错误提示怎么分析。
最后一句应该有警告,那个delay是无用的。
Serial.begin(9600);写那么多干啥,一句初始化就够了啊