重工电子论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4671|回复: 0
打印 上一主题 下一主题

【实验室培训_201810期】+周航、李向阳+第四周任务(软件)

[复制链接]

1

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
跳转到指定楼层
楼主
发表于 2018-12-9 18:13:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、实验任务:通过按下不同的按键,串口监视器输出显示不同温度类型(摄氏度、华氏温度、开氏温度、列氏温度)与湿度,同时不同的发光二极管发光。

二、通过Arduino软件编写程序与DHT11模块,利用串口监视器显示不同按键按下所显示的湿度与不同的温度类型。

三、实验步骤:
1.实验设计:通过按键1,2,3,4依次控制串口监视器显示摄氏温度、华氏温度、开氏温度、列氏温度,和湿度。
2.实验程序:按键1控制串口显示湿度与摄氏温度,并且发光二极管1,8发光;
                  按键2控制串口显示湿度与华氏温度,并且发光二极管2,7发光;
                         按键3控制串口显示湿度与开氏温度,并且发光二极管3,6发光;
                  按键4控制串口显示湿度与列氏温度,并且发光二极管4,5发光;
实验主要代码(部分):
if(val8==LOW)
{
   /* 查看 DHT11 是否在线或数据读取是否成功 */
int chk = DHT11.read(DHT11PIN);

/* 输出 DHT11 模块数据 */
Serial.print("Read sensor: ");
switch (chk)
{
/* 数据读取成功 */
case DHTLIB_OK:
Serial.println("OK");
break;
/* 数据读取成功,但检验错误 */
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Checksum error");
break;
/* 数据读取超时,即模块不在线 */
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Time out error");
break;
/* 其他错误 */
default:
Serial.println("Unknown error");
break;
}
/* 输出湿度信息 */
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, 2);
/* 输出温度信息 */
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature, 2);//摄氏温度
Serial.println("\n");
delay(2000);
for(i=0;i<2;i++)
{
digitalWrite(A0,HIGH);
delay(400);
digitalWrite(A0,LOW);
delay(400);
digitalWrite(7,HIGH);
delay(400);
digitalWrite(7,LOW);
delay(400);
  }
}
3、串口监视器显示:
DHT11 TEST PROGRAM
LIBRARY VERSION: 0.4.1

Read sensor: OK
Humidity (%): 63.00
Temperature (oC): 14.00

Read sensor: OK
Humidity (%): 63.00
Temperature (oF): 57.20

Read sensor: OK
Humidity (%): 63.00
Temperature (K): 287.15

Read sensor: OK
Humidity (%): 64.00
Temperature (oRe): 11.20

4、实验效果展示:


四、实验收获
1、编写程序时,由于串口通信的原因,管脚0与1不可以作为跑马灯或者按键的输入管脚。
2、编写程序的时候在初始化的时候应该把按键的四个输入管脚电平拉高,否则会先执行一次全过程才进入想要的程序中。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号

GMT+8, 2024-12-22 21:40 , Processed in 2.905992 second(s), 31 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表