零基础小白用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屏幕和串口监视器上都能显示数据了!
以下是部件被组装起来的样子
加一张手画的示意图:)
先来个数据显示^o^
1、Arduino UNO
2、插在面包板上的1602显示屏
3、DHT-11温湿度感应器
4、杜邦线连接
这里说一下,很多帖子上的电位器连线都是三根,可是我用三线连接永远是不能显示文字的,当我拔掉左边杜邦线时就正常了。小白求问:这是为啥啊???
5、放到冰桶里虐待
6、放到烧水壶里继续虐待
7、数据校验
8、收集数据并用Excel做表格
9、最后来张全家福
以下是自己组合了三个教程的代码:
#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
如果是楼主的儿子玩arduino
推荐你给他用 Linkboy这个软件
不需要底层编程
软件就可以搭建模块,然后简单逻辑设计,仿真
就可以做出漂亮的简单的项目了 字不错,哈哈 gkdesign 发表于 2017-1-14 21:08
这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好 ...
I2C LCD1602液晶模块(兼容Arduino Gadgeteer)
用这种你就省事了 字写的不错,算是亮点。 hnyzcj 发表于 2017-1-14 21:01
字写的不错,算是亮点。
{:5_152:} 这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好{:5_143:} gkdesign 发表于 2017-1-14 21:08
这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好 ...
主要你用的LCD太麻烦了
gkdesign 发表于 2017-1-14 21:08
这不是重点啊。。。 我一个小白。。。用了半天的时间才自己搞好 ...
谁叫你把字放在下面的,我们只注意吸引人的东西。:lol hnyzcj 发表于 2017-1-14 21:09
主要你用的LCD太麻烦了
{:5_153:} 好的好的,下个周末好好再琢磨琢磨。。。刚发现你是版主大人啊{:5_129:} gkdesign 发表于 2017-1-14 21:12
好的好的,下个周末好好再琢磨琢磨。。。刚发现你是版主大人啊 ...
我是谁无所谓,哈哈哈。李白诗人吗 hnyzcj 发表于 2017-1-14 21:12
我是谁无所谓,哈哈哈。李白诗人吗
临摹的赵佶-千字文 给无限的自学能力点个赞! 字不错哈哈 hnyzcj 发表于 2017-1-14 21:01
字写的不错,算是亮点。
图表是随时自动生成的吗?怎么做到的?
还是粘贴后处理的? 哈哈 最后用frizing画个原理图就完美了 有些东西还是不懂 能否加个好友聊 天,你必须和我加好友,画画的太好了!!amazing
学习学习{:5_125:} 这是我用LM35测的温度在显示屏上
PS:你的闹钟和我家的一样:lol{:5_139:}https://mc.dfrobot.com.cn/thread-28682-1-1.html
网页名字
支持一下!
温湿度采样用的什么?
想要用echarts库搞个网页版的图表
作为小白都是用现成的i2c lcd,这个占用接口太多啦
太好啦, 刚好有需求要做类似的, 感谢 good good 学习学习,谢谢楼主
页:
[1]
2