gzw1316 发表于 2017-4-28 20:06:42

初学者的两个问题,请大神请教

1、MEGA 2560 能不能接2个DTH11?
2、MEGA 2560 能不能接串口触摸屏?

稍微谢了一下 ,感觉还是不行。
//调用DHT11扩展库
#include <dht11.h>
//dht11 DHT11_1;
//dht11 DHT11_2;
#define DHT11PIN1 A1
#define DHT11PIN2 A2

int N1Sensor = A3;
int H_Led = 2;//定义数字口2为湿度指示灯
int H_Led2 = H_Led+1;//定义数字口4为湿度指示灯
int T_Led = 4;//定义数字口3为温度指示灯
int T_Led2 = T_Led+1;//定义数字口5为温度指示灯
double NH3; //定义氨气浓度变量

void setup()
{
pinMode(H_Led,OUTPUT);//定义数字口H_Led为输出模式
pinMode(T_Led,OUTPUT);//定义数字口T_Led为输出模式
//pinMode(H_Led2,OUTPUT);//定义数字口H_Led为输出模式
//pinMode(T_Led2,OUTPUT);//定义数字口T_Led为输出模式
Serial.begin(9600);
Serial.println("DHT11 Monitoring");
Serial.print("\n");
}

void loop()
{
int i = 0;
for (i=0; i<=1; i++)
{
    Serial.print("di");
    Serial.print(i);
    Serial.print("ci");
    dht11 DHT11;
    int val = DHTLIB_ERROR_TIMEOUT;
    if (i==0)
      val = DHT11.read(DHT11PIN1);
      val = DHT11.read(DHT11PIN2);
    Serial.print("Read sensor: ");
    switch (val)
    {
    case DHTLIB_OK:
      Serial.println("OK");
      break;
    case DHTLIB_ERROR_CHECKSUM:
      Serial.println("Checksum error");
      break;
    case DHTLIB_ERROR_TIMEOUT:
      Serial.println("Time out error");
      break;
    default:
      Serial.println("Unknown error");
      break;
    }


//输出温度值,并判断是否适合室内温度,如不适则亮灯提醒
   
   
      Serial.print("Temperature (oC): ");
      Serial.println((float)DHT11.temperature);
      Serial.print("Temperature (oC): ");
      Serial.println((float)DHT11.temperature);
      if (0 == i)
    {
      if((DHT11.temperature<=16)||(DHT11.temperature>=25))
      digitalWrite(T_Led+i,HIGH);
      else
      digitalWrite(T_Led+i,LOW);
    }
   
    //输出湿度值,并判断是否适合室内湿度,如不适则亮灯提醒
   if (0 == i)
    {
      Serial.print("Humidity (%): ");
      Serial.println((float)DHT11.humidity);
      Serial.print("Humidity (%): ");
      Serial.println((float)DHT11.humidity);
   
      if((DHT11.humidity<=40)||(DHT11.humidity>=75))
      digitalWrite(H_Led+i,HIGH);
      else
      digitalWrite(H_Led+i,LOW);
    }
   
   
       int valueN1 = 0;
       valueN1=analogRead(N1Sensor);
       NH3 =(0.1/valueN1);
       Serial.print("NH3= " );
       Serial.print(NH3);
       Serial.println("PPM");
    delay(6000);
}
}
页: [1]
查看完整版本: 初学者的两个问题,请大神请教