网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月18日漏签0天
arduino吧 关注:75,349贴子:230,186
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 7回复贴,共1页
<<返回arduino吧
>0< 加载中...

【求教】这是一篇很长的求教贴,求大神指导各种不足

  • 只看楼主
  • 收藏

  • 回复
  • 浑水摸闲鱼
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
代码及详情放二楼


  • 浑水摸闲鱼
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <dht11.h>
dht11 DHT11;
#define DHT11PIN 6//DHT11 PIN 6 连接UNO 6
#include "LCD12864RSPI.h"
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
#include <Wire.h>
#include <DS1307.h>
//调用库文件
int measurePin = 0; // 连接模拟口 0
int ledPower = 2; // 连接数字口 2
int samplingTime = 280;
int deltaTime = 40;
int sleepTime = 9680;
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0; //定义端口
unsigned char m1[]={
0xCA, 0xB1
}; //时
unsigned char m2[]={
0xB7, 0xD6
}; //分
unsigned char m3[]={
0xC3, 0xEB
}; //秒
unsigned char code[] = // pm2.5字符
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF9,0xCC,0x7C,0x1F,0xC0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xC5,0xFC,0xC6,0x18,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,
0x00,0xC5,0xB4,0x06,0x18,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x00,
0x00,0xC5,0x84,0x06,0x18,0x06,0x00,0x00,
0x00,0x00,0x00,0x00,0xA8,0xC1,0x01,0x00,
0x00,0xF9,0x84,0x0C,0x1F,0x86,0x00,0x00,
0x00,0x00,0x00,0x00,0x55,0x22,0x06,0x00,
0x00,0xC1,0x84,0x18,0x00,0xC0,0x00,0x00,
0x00,0x00,0x00,0x00,0x55,0x22,0x01,0x00,
0x00,0xC1,0x84,0x30,0x00,0xC6,0x00,0x00,
0x00,0x00,0x00,0x00,0x54,0xE4,0x06,0x00,
0x00,0xC1,0x84,0x66,0xD8,0xC6,0x00,0x00,
0x00,0x00,0x00,0x00,0x54,0x25,0x50,0x00,
0x00,0xC1,0x84,0xFE,0xCF,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x28,0xA8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC8,0xA8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0xA8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
unsigned char kongqi[]={
0xBF, 0xD5,
0xC6, 0xF8,
0xD6, 0xCA,
0xC1, 0xBF
}; //空气质量
unsigned char g1[]={
0xD3, 0xC5
}; //优0-35
unsigned char g2[]={
0xC1, 0xBC
}; //良35-75
unsigned char g3[]={
0xC7, 0xE1,
0xB6, 0xC8,
0xCE, 0xDB,
0xC8, 0xBE
}; //轻度污染75-115
unsigned char g4[]={
0xD6, 0xD0,
0xB6, 0xC8,
0xCE, 0xDB,
0xC8, 0xBE
}; //中度污染115-150
unsigned char g5[]={
0xD6, 0xD8,
0xB6, 0xC8,
0xCE, 0xDB,
0xC8, 0xBE
}; //重度污染150-250
unsigned char g6[]={
0xD1, 0xCF,
0xD6, 0xD8,
0xCE, 0xDB,
0xC8, 0xBE
}; //严重污染250-500
unsigned char one[]={
0xA3, 0xA5
}; //%
unsigned char two[]={
0xA1, 0xE6
}; //℃
unsigned char msg1[]={
0xCA, 0xAA,
0xB6, 0xC8
}; //湿度
unsigned char msg2[]={
0xCE, 0xC2,
0xB6, 0xC8
}; //温度


2025-07-18 05:47:51
广告
  • 浑水摸闲鱼
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
拆楼不开心
String comdata = "";
int mark=0;
//store the current time data
int rtc[7];
//store the set time data
byte rr[7];
//light pin
int ledPin = 13;
//initial light
void my_test()//显示温度、湿度值
{
int temp=0;//定义中间变量
char tws[2]; //定义温度值存储数组,4位,其中3位为数字,1位为小数点
DHT11.read(DHT11PIN);
temp=DHT11.temperature-2;
dtostrf(temp,3,2,tws);//将获取的数值转化为字符型数组
LCDA.DisplayString(1,2,(unsigned char *)tws,sizeof(tws)); //在第四行第三位显示温度值
temp=0;
temp=DHT11.humidity;//将湿度值 赋给中间变量temp
dtostrf(temp,3,2,tws);//将获取的数值转化为字符型数组
LCDA.DisplayString(1,6,(unsigned char *)tws,sizeof(tws)); //在第四行第7位显示湿度值
}
void setup(){
Serial.begin(9600);
pinMode(ledPower,OUTPUT);
LCDA.initDriverPin(11,12,13);
LCDA.Initialise(); // 屏幕初始化
delay(100);
DDRC |= _BV(2) | _BV(3); // POWER:Vcc Gnd
PORTC |= _BV(3); // VCC PINC3
pinMode(ledPin, OUTPUT);
//initial baudrate
//get current time
RTC.get(rtc, true);
//if time is wrong reset to default time
if (rtc[6] < 12) {
//stop rtc time
RTC.stop();
RTC.set(DS1307_SEC, 1);
RTC.set(DS1307_MIN, 27);
RTC.set(DS1307_HR, 01);
RTC.set(DS1307_DOW, 7);
RTC.set(DS1307_DATE, 12);
RTC.set(DS1307_MTH, 2);
RTC.set(DS1307_YR, 12);
//start rtc time
RTC.start();
}
//RTC.SetOutput(LOW);
//RTC.SetOutput(HIGH);
//RTC.SetOutput(DS1307_SQW1HZ);
//RTC.SetOutput(DS1307_SQW4KHZ);
//RTC.SetOutput(DS1307_SQW8KHZ);
RTC.SetOutput(DS1307_SQW32KHZ);
}
void loop(){
int i;
//get current time
RTC.get(rtc, true);
//print current time format : year month day week hour min sec
for (i = 0; i < 7; i++)
{
Serial.print(rtc[i]);
Serial.print(" ");
}
//blink the light
Serial.println();
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
//
int j = 0;
//read all the data
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
mark = 1;
}
//if data is all collected,then parse it
if (mark == 1)
{
Serial.println(comdata);
Serial.println(comdata.length());
//parse data
for (int i = 0; i < comdata.length() ; i++)
{
//if the byte is ',' jump it,and parse next value
if (comdata[i] == ',')
{
j++;
}
else
{
rr[j] = rr[j] * 10 + (comdata[i] - '0');
}
}
comdata = String("");
RTC.stop();
RTC.set(DS1307_SEC, rr[6]);
RTC.set(DS1307_MIN, rr[5]);
RTC.set(DS1307_HR, rr[4]);
RTC.set(DS1307_DOW, rr[3]);
RTC.set(DS1307_DATE, rr[2]);
RTC.set(DS1307_MTH, rr[1]);
RTC.set(DS1307_YR, rr[0]);
RTC.start();
mark = 0;
}
digitalWrite(ledPower,LOW); //开启内部 LED
delayMicroseconds(samplingTime); // 开启 LED 后的 280us 的等待时间
voMeasured = analogRead(measurePin); // 读取模拟值
delayMicroseconds(deltaTime); // 40us 等待时间
digitalWrite(ledPower,HIGH); // 关闭 LED
delayMicroseconds(sleepTime);
// 0 - 5V mapped to 0 - 1023 integer values
// recover voltage
calcVoltage = voMeasured * (5.0 / 1024.0); //将模拟值转换为电压值
// linear eqaution taken from http://www.howmuchsnow.com/arduino/airquality/
// Chris Nafis (c) 2012
dustDensity = 0.17 * calcVoltage - 0.1; //将电压值转换为粉尘密度输出单位
LCDA.CLEAR();//清屏
delay(100);
char sti[4];
double temp1 =0;
temp1=rtc[2];
dtostrf(temp1,4,0,sti);
LCDA.DisplayString(0,0,(unsigned char *)sti,sizeof(sti));//显示小时
char sti1[4];
double temp2 =0;
temp2=rtc[1];
dtostrf(temp2,4,0,sti1);
LCDA.DisplayString(0,2,(unsigned char *)sti1,sizeof(sti1));//显示分
char sti2[4];
double temp3 =0;
temp3=rtc[0];
dtostrf(temp3,4,0,sti2);
LCDA.DisplayString(0,4,(unsigned char *)sti2,sizeof(sti2));//显示秒
char str[5]; //定义温度值存储数组,4位,其中3位为数字,1位为小数点
double temp =0; //定义中间变量
temp=dustDensity; //使用索引序号获得数值
dtostrf(temp,5,3,str); //将获取的数值转换为字符型数组
LCDA.DisplayString(2,3,(unsigned char *)str,sizeof(str));//显示pm2.5
LCDA.DisplayString(0,2,m1,sizeof(m1));
LCDA.DisplayString(0,4,m2,sizeof(m2));
LCDA.DisplayString(0,6,m3,sizeof(m3));
LCDA.DisplayString(1,0,msg2,sizeof(msg2));//在第一行0,0 显示汉字温度
LCDA.DisplayString(1,4,msg1,sizeof(msg1));//在第一行0,3 显示汉字湿度
LCDA.DisplayString(1,3,two,sizeof(two));
LCDA.DisplayString(1,7,one,sizeof(one));
LCDA.DisplayString(3,0,kongqi,sizeof(kongqi));
my_test();//调用
if (dustDensity>0 && dustDensity<=0.35);
LCDA.DisplayString(3,4,g1,sizeof(g1));
if (dustDensity>0.35 && dustDensity<=0.75);
LCDA.DisplayString(3,4,g2,sizeof(g2));
if (dustDensity>0.75 && dustDensity<=1.15);
LCDA.DisplayString(3,4,g3,sizeof(g3));
if (dustDensity>1.15 && dustDensity<=1.50);
LCDA.DisplayString(3,4,g4,sizeof(g4));
if (dustDensity>1.50 && dustDensity<=2.50);
LCDA.DisplayString(3,4,g5,sizeof(g5));
if (dustDensity>2.50 && dustDensity<=5.00);
LCDA.DisplayString(3,4,g6,sizeof(g6));
LCDA.DrawFullScreen(code);//显示pm2.5字符
delay(1000);
}


  • 浑水摸闲鱼
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有没有大神帮忙看看呗


  • 827215030
  • 声名远扬
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
点进来。。一半流量么了


  • 浑水摸闲鱼
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不要沉啊o( ̄▽ ̄)


  • sundaniao
  • 小有名气
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
貌似我来的太晚了,又挖坟了。。。哈哈,给后人一个提示吧。。
7920绘图本身就慢,再加上你用LCD12864RSPI.h库,如果自己没改过的话应该是用的模拟spi,更慢,绘满屏一秒多差不多的速度,而你的pm2.5字样是绘满屏,试试局部绘图,会快很多。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 7回复贴,共1页
<<返回arduino吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示