拍拍熊采蘑菇
拍拍熊采蘑菇
关注数: 13
粉丝数: 8
发帖数: 638
关注贴吧数: 49
2016年买的,车都换了1部了,还在坚守 今天换了64g 的内存卡继续艹它几年
多个传感器问题 代码: #include <DS3231.h> #include <Wire.h> #include <dht11.h> DS3231 Clock; dht11 DHT11; #define DHT11PIN 2 String result[3]={"","",""}; bool Century=false; bool h12; bool PM; byte year, month, date, hour, minute, second; void setup() { // 启动I2C(IIC)接口 Wire.begin(); Serial.begin(115200); //pinMode(13,OUTPUT); pinMode(3,INPUT); pinMode(A3,INPUT); } void loop() { result[1]= ReadDS3231(); result[2]=ReadDHT11(); result[3]=ReadTrsd(); Serial.println(result[1]+"|"+result[2]+"|"+result[3]); delay(3000); //间隔1000ms(1000ms=1秒)循环一次 } //土壤湿度传感器 String ReadTrsd() { return (String)analogRead(A3)+"|"+(String)digitalRead(3); } //温湿度传感器 String ReadDHT11() { int chk = DHT11.read(DHT11PIN); return (String)((int)DHT11.temperature)+"|"+ (String)((int)DHT11.humidity); } //时间模块 String ReadDS3231() { int minute,hour,date,month,year,week; minute=Clock.getMinute(); hour=Clock.getHour(h12, PM); date=Clock.getDate(); month=Clock.getMonth(Century); year=Clock.getYear(); week=Clock.getDoW(); String m=""; if(minute<10 && minute>=0) { m="0"+(String)minute; } else m=(String)minute; String h=""; if(hour<10 && hour>=0) { h="0"+(String)hour; } else h=(String)hour; String d=""; if(date<10 && date>=0) { d="0"+(String)date; } else d=(String)date; String mon=""; if(month<10 && month>=0) { mon="0"+(String)month; } else mon=(String)month; return "20"+(String)year+"|"+mon+"|"+d+"|"+h+"|"+m+"|"+(String)week; } 结果: 2019|02|24|00|54|7|17|65|1016|1 2019|02|24|00|54|7|17|65|1016|1 2019|02|24|00|54|7|17|65|1016|1 |17|65|1016|1 2019|02|24|00|54|7|17|65|1016|1 |17|65|1017|1 |17|65|1017|1 |17|65|1016|1 |17|65|1016|1 |54|7|17|65|1016|1 |17|65|1017|1 |17|65|1017|1 |17|65|1017|1 |17|65|1016|1 在串口监视器内,刚开始都能正常,到后面就错乱了,最后直接就报空值了,问题出在哪里?求帮助
1
下一页