32812浏览
查看: 32812|回复: 24

[项目] 零基础小白用Arduino和1602屏做的的电子温湿度计

[复制链接]
本帖最后由 gkdesign 于 2017-1-15 22:49 编辑

:)
本人为一中年电子小白,所学专业与电子完全不沾边。小时候唯一鼓捣电子元器件的就是大一(96年)开始给人攒PC机赚钱,到大三发现通过所学专业炒更更赚钱时果断扔了螺丝刀。这次接触Arduino是因为上小学三年级的儿子学校教机器人,为了辅导儿子而买了点板子和零件。拆开包装的一瞬间找到了21年前攒机的感觉,遂。。。自己试着玩儿起来。
平常工作忙,在论坛上一直潜水。这周末正好没应酬没加班,就开始了自己的探索之旅。

所用部件:
1、Arduino UNO 一个
2、DHT-11温湿度感应器一个
3、1602显示屏一个
4、面包版一个
5.杜邦线一大把
5、202 2K电位器一个

工作流程:
1、先上网翻帖子,找到别人详细的教程。最终选中了DFRobot上的一篇。根据上面的连线图把自己的零件照猫画虎的连接了起来。
2、把论坛帖子上的代码copy过来,直接校验、上传。
3、发现失败了!!!串口监视器能显示湿度、温度,但是在1602屏幕上啥都没有!
3、再次翻帖子,多找了几个教程,最后根据自己无限的自学能力总结了一下各帖子代码,自行组合了一套新代码(在这里手动佩服自己)。最终搞定!1602屏幕和串口监视器上都能显示数据了!

以下是部件被组装起来的样子

加一张手画的示意图:)
零基础小白用Arduino和1602屏做的的电子温湿度计图13

先来个数据显示^o^
零基础小白用Arduino和1602屏做的的电子温湿度计图2

1、Arduino UNO
零基础小白用Arduino和1602屏做的的电子温湿度计图1

2、插在面包板上的1602显示屏


3、DHT-11温湿度感应器
零基础小白用Arduino和1602屏做的的电子温湿度计图3

4、杜邦线连接
零基础小白用Arduino和1602屏做的的电子温湿度计图4

零基础小白用Arduino和1602屏做的的电子温湿度计图5

零基础小白用Arduino和1602屏做的的电子温湿度计图6
这里说一下,很多帖子上的电位器连线都是三根,可是我用三线连接永远是不能显示文字的,当我拔掉左边杜邦线时就正常了。小白求问:这是为啥啊???

5、放到冰桶里虐待
零基础小白用Arduino和1602屏做的的电子温湿度计图7

6、放到烧水壶里继续虐待
零基础小白用Arduino和1602屏做的的电子温湿度计图8

7、数据校验
零基础小白用Arduino和1602屏做的的电子温湿度计图9

8、收集数据并用Excel做表格
零基础小白用Arduino和1602屏做的的电子温湿度计图10

零基础小白用Arduino和1602屏做的的电子温湿度计图11

9、最后来张全家福
零基础小白用Arduino和1602屏做的的电子温湿度计图12


以下是自己组合了三个教程的代码:

#include <LiquidCrystal.h>
//LiquidCrystal lcd(12,11,5,4,3,2);  //定义脚位
LiquidCrystal lcd(10,9,7,6,5,8);  //定义显示屏接脚位
#include <dht11.h>
#include <Wire.h>
dht11 DHT;
#define DHT11_PIN 4
void setup()                                                                                    
{
  lcd.begin(16,2); //设置LCD显示的数目。16 X 2:16格2行。
Serial.begin(9600);// 设置串口波特率9600
//串口输出”Type, status, Humidity(%), Temperature(C)”
Serial.println("Type,\tHumidity(%),\tTemperature(C)");
}
void loop()
{
int chk;//chk用于存储DHT11传感器的数据
Serial.print("DHT11 \t");
//读取DHT11传感器的数据
chk = DHT.read(DHT11_PIN);
switch(chk)
{
caseDHTLIB_OK:
Serial.print("OK,\t");
break;
caseDHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
caseDHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
Serial.print("Unknown error,\t");
break;
}
//串口显示温湿度值
Serial.print(DHT.humidity,1);
Serial.print("\t");
Serial.println(DHT.temperature,1);
//  lcd.setCursor(0,1);  //将闪烁的光标设置到column 0, line 1 (注释:从0开始数起,line 0是显示第一行,line 1是第二行。)
//  lcd.print(millis()/1000); //开机后屏幕现实以秒几时的时间
lcd.setCursor(0,0);
lcd.print("Humidity(%)");//在lcd第一行显示"Humidity(%)"
lcd.print(DHT.humidity,1);
lcd.setCursor(0,1);
lcd.print("Temperature(C)");//在lcd第二行显示"Temperature(C)"
lcd.print(DHT.temperature,1);
delay(1000);
}

好了!帖子写完!
查熊孩子期末考试成绩去了!


2017.01.14


townyee  学徒

发表于 2018-6-19 23:22:06

如果是楼主的儿子玩arduino
推荐你给他用 Linkboy这个软件
不需要底层编程
软件就可以搭建模块,然后简单逻辑设计,仿真
就可以做出漂亮的简单的项目了
回复

使用道具 举报

Ace  中级技师

发表于 2017-1-16 16:51:49

字不错,哈哈                              
回复

使用道具 举报

hnyzcj  版主

发表于 2017-1-14 21:10:24

gkdesign 发表于 2017-1-14 21:08
这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好 ...

I2C LCD1602液晶模块(兼容Arduino Gadgeteer)
用这种你就省事了
回复

使用道具 举报

hnyzcj  版主

发表于 2017-1-14 21:01:17

字写的不错,算是亮点。
回复

使用道具 举报

gkdesign  见习技师
 楼主|

发表于 2017-1-14 21:08:34

hnyzcj 发表于 2017-1-14 21:01
字写的不错,算是亮点。

这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好
回复

使用道具 举报

hnyzcj  版主

发表于 2017-1-14 21:09:46

gkdesign 发表于 2017-1-14 21:08
这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好 ...

主要你用的LCD太麻烦了
回复

使用道具 举报

hnyzcj  版主

发表于 2017-1-14 21:11:12

gkdesign 发表于 2017-1-14 21:08
这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好 ...

谁叫你把字放在下面的,我们只注意吸引人的东西。:lol
回复

使用道具 举报

gkdesign  见习技师
 楼主|

发表于 2017-1-14 21:12:16

hnyzcj 发表于 2017-1-14 21:09
主要你用的LCD太麻烦了

好的好的,下个周末好好再琢磨琢磨。。。刚发现你是版主大人啊
回复

使用道具 举报

hnyzcj  版主

发表于 2017-1-14 21:12:49

gkdesign 发表于 2017-1-14 21:12
好的好的,下个周末好好再琢磨琢磨。。。刚发现你是版主大人啊 ...

我是谁无所谓,哈哈哈。李白诗人吗
回复

使用道具 举报

gkdesign  见习技师
 楼主|

发表于 2017-1-14 21:20:00

hnyzcj 发表于 2017-1-14 21:12
我是谁无所谓,哈哈哈。李白诗人吗

临摹的赵佶-千字文
回复

使用道具 举报

Ash  管理员

发表于 2017-1-17 10:48:49

给无限的自学能力点个赞! 字不错哈哈
回复

使用道具 举报

乱云飞渡  见习技师

发表于 2017-10-17 19:30:08

hnyzcj 发表于 2017-1-14 21:01
字写的不错,算是亮点。

图表是随时自动生成的吗?怎么做到的?
还是粘贴后处理的?
回复

使用道具 举报

willwii3373  见习技师

发表于 2017-11-9 19:47:37

哈哈 最后用frizing画个原理图就完美了
回复

使用道具 举报

DFSysmAH3nf  学徒

发表于 2018-4-30 14:42:37

有些东西还是不懂 能否加个好友聊
回复

使用道具 举报

1973742214  高级技师

发表于 2018-4-30 19:02:40

天,你必须和我加好友,画画的太好了!!amazing
学习学习
回复

使用道具 举报

1973742214  高级技师

发表于 2018-4-30 19:10:13

回复

使用道具 举报

pATAq  版主

发表于 2018-5-1 16:32:41

支持一下!
温湿度采样用的什么?
想要用echarts库搞个网页版的图表
作为小白都是用现成的i2c lcd,这个占用接口太多啦

回复

使用道具 举报

kimi423520  学徒

发表于 2018-5-29 19:12:58

太好啦, 刚好有需求要做类似的, 感谢
回复

使用道具 举报

zhouyu77642017  学徒

发表于 2018-8-9 10:45:52

good good
回复

使用道具 举报

390880244  见习技师

发表于 2018-9-30 16:46:58

学习学习,谢谢楼主
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail