极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15030|回复: 0

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

[复制链接]
发表于 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);
  }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 13:44 , Processed in 0.041049 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表