#define BLINKER_WIFI #include <Blinker.h> #include "DHT.h" #include "MQ135.h" #define DHTPIN 2 //DHT串口接D2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); const int ANALOGPIN=0; //MQ135串口接A0 MQ135 gasSensor=MQ135(ANALOGPIN); //定义GP2Y1014AU0F计算参数 int dustPin=1; //V0串口接A1 int ledPower=4; //LED串口接D4 float dustVal=0; int delayTime=280; int delayTime2=40; float offTime=9680; float calcVoltage = 0; float dustDensity = 0;
char auth[] = "f7ac0c7221b1"; char ssid[] = "likaiwen"; char pswd[] = "12345678";
BlinkerNumber WIND("wd"); //创建实例 根据自己app上的数据键名修改括号里的参数 BlinkerNumber SHID("sd"); BlinkerNumber MQ1("MQ135"); BlinkerNumber PM2("PM"); BlinkerButton Button1("btn-9sg"); //按键1 刷新温湿度数据 BlinkerButton Button2("btn-7u2"); //按键2 刷新mq2 mq4 PM2.5数据 BlinkerText Text1("tex-35v"); // 文本组件 发送DHT工作状态 float humi_read, temp_read , PM_read; int MQ1_read;
void PM() // pm函数 实现PM2.5参数发送到app { PM2.print(PM_read); }
float PM_data() //PM_data 计算pm2.5的值 { digitalWrite(ledPower,LOW); delayMicroseconds(delayTime); dustVal=analogRead(dustPin); delayMicroseconds(delayTime2); digitalWrite(ledPower,HIGH); delayMicroseconds(offTime); calcVoltage=dustVal*(5.0/1024.0); dustDensity = 0.17 * calcVoltage + 0.1; return dustDensity; } void anjian(const String & data) // 按键1回调函数 { DDD(); } void anjian1(const String & data) //按键2回调函数 { MQ(); PM(); } void MQ() // mq135数据上传 { if(MQ1_read > 300) { MQ1.print(MQ1_read); MQ1.color("#FF0000"); } else { MQ1.print(MQ1_read); MQ1.color("#1E90FF"); } } void DDD() // DHT状态 数据上传 { if(humi_read>60) { SHID.print(humi_read); SHID.color("#FF0000"); } else { SHID.print(humi_read); SHID.color("#1E90FF"); } if(temp_read>38) { WIND.print(temp_read); WIND.color("#FF0000"); } else { WIND.print(temp_read); WIND.color("#1E90FF"); } } void heartbeat() // 心跳包函数 { DDD(); MQ(); PM(); }
void setup() { Serial.begin(9600); BLINKER_DEBUG.stream(Serial); BLINKER_DEBUG.debugAll(); pinMode(LED_BUILTIN,OUTPUT); digitalWrite(LED_BUILTIN,LOW); Blinker.begin(auth, ssid, pswd); //blinker配置函数 选用 arduino硬串口传输数据 Blinker.attachHeartbeat(heartbeat); //注册心跳函数 Button1.attach(anjian); //注册按键1回调函数 Button2.attach(anjian1); // 注册按键2回调函数 pinMode(ledPower,OUTPUT); pinMode(dustPin,INPUT); pinMode(dustPin,INPUT); dht.begin(); } void loop() { humi_read = dht.readHumidity(); temp_read = dht.readTemperature(); MQ1_read = gasSensor.getPPM(); PM_read = PM_data(); Blinker.delay(2000); Blinker.run(); }
Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试4 / 10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试6 / 10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试10中的8:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试9 / 10:不同步:resp=0xbc Avrdude: stk500_recv():程序员没有响应 Avrdude: stk500_getsync()尝试10的10:不同步:resp=0xbc 上传到板的问题。请参阅https://support.arduino.cc/hc/en-us/sections/360003198300获取建议。 在文件→首选项开启 “编译过程中显示详细输出“选项 这份报告会包含更多信息。
|