#include
#include
#include "DHT11.h"
int f1 = 5;//渐进控制变量
int b1 = 0;//电压控制变量
char val;
const int pin = A2;
int v = 0;
DHT11 mydht11(11);
unsigned long tx = 0;//计时变量
void setup(){
Serial.begin(9600);//初始化串口
pinMode(5,INPUT);
pinMode(7,INPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
tx = millis();//返回当前程序运行时的毫秒数,大概是50天后溢出
MsTimer2::set(15, LED1_CTRL);//15ms时间设置,当发生中断时,调用LED1_CTRL函数
}
void LED1_CTRL(){
analogWrite(3, b1);//约490Hz PWM的输出
b1 += f1;
if(b1 == 0 || b1 == 255){//设置可以实现15ms递增或者15ms递减,实现变亮和变暗
f1 = -f1;
}
}
void run(){
val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
if(val=='2'){
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
MsTimer2::start();//启动定时器
Serial.println(val);
}
if(val=='1'){
digitalWrite(2,LOW);
analogWrite(3, 50);
MsTimer2::start();//启动定时器
Serial.println(val);
}
if(val=='3'){
digitalWrite(2,LOW);
digitalWrite(3,LOW);
MsTimer2::stop();
Serial.println(val);
}
if(val=='5'){
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
Serial.println(val);
}
if(val=='4'){
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
Serial.println(val);
}
if(val=='6'){
digitalWrite(8,LOW);
digitalWrite(9,LOW);
Serial.println(val);
}
}
void get()
{
v = analogRead(pin);
mydht11.DHT11_Read();//读取温度湿度值
Serial.print("#");
Serial.print(v);
Serial.print("/");
Serial.print(mydht11.HUMI_Buffer_Int);
Serial.print("/");
Serial.print(mydht11.TEM_Buffer_Int);
Serial.println("@");
}
void loop(){
get();
run();
}
全部代码如上所示