我在做温湿度上下限实验,在湿度调节上软件有点问题,这是程序
#include <dht11.h>
dht11 DHT11;
int IN1=4;
int IN2=5;
int buzzer=8;
int i,q;
float temperature = 0; //设置temperature为浮点变量
#define DHT11PIN 3 //DHT11 PIN 3 连接UNO 3
void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
pinMode(buzzer,OUTPUT);
Serial.begin(9600);
Serial.println("DHT11 TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
}
void loop()
{
Serial.println("\n");
int chk = DHT11.read(DHT11PIN);
Serial.print("Read sensor:OK ");
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature-2, 2);
if(DHT11.humidity<60.00)
{
for(i=0;i<80;i++)//辒出一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(15);//延时1ms
digitalWrite(buzzer,LOW);//不发声音
delay(1);//延时ms
}
}
else if(60.00<DHT11.humidity<80.00)
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
}
else
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
}
}
按这个程序下载后当湿度DHT11.humidity>80.00后电机没有转动,也没有声音。
但是我又发现了一个现象,当我把elseif这段程序去掉后,电机就正常转动了
#include <dht11.h>
dht11 DHT11;
int IN1=4;
int IN2=5;
int buzzer=8;
int i,q;
float temperature = 0; //设置temperature为浮点变量
#define DHT11PIN 3 //DHT11 PIN 3 连接UNO 3
void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
pinMode(buzzer,OUTPUT);
Serial.begin(9600);
Serial.println("DHT11 TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
}
void loop()
{
Serial.println("\n");
int chk = DHT11.read(DHT11PIN);
Serial.print("Read sensor:OK ");
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature-2, 2);
if(DHT11.humidity<60.00)
{
for(i=0;i<80;i++)//辒出一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(15);//延时1ms
digitalWrite(buzzer,LOW);//不发声音
delay(1);//延时ms
}
}
else
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
}
}
这是为什么? arduino不满足这样的条件句?但我其他实验用可以啊!
求解 |