用arduino 制作温湿度计,利用LCD显示屏将温湿度显示在LCD显示屏上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用arduino 制作温湿度计,利用LCD显示屏将温湿度显示在LCD显示屏上相关的知识,希望对你有一定的参考价值。

参考技术A 宝宝上有的, arduino 温湿度计追问

你可不可以直接帮我在宝宝上copy下来

追答

不可能的!人家是卖的,你不买,谁会给你呢?

参考技术B

材料:Arduino一块、dht11温湿度传感器一块、1602 i2c 显示屏


软件:下载库并安装:

http://pan.baidu.com/s/1o7KHVfk

http://pan.baidu.com/s/1jHYxqGu


接线:i2c LCD1602模块有4个引脚,连接非常简单,分别连接arduino(首先将库文件添加到library中,不然程序无法工作;虽然连线只有4根,但是还是要注意下连线,正负极不可反接):

       GND ———— GND

       VCC ———— 5V

       SDA ———— A4(AREF旁的SDA)

       SCL ———— A5 (AREF旁的SCL)

       dht11接数字接口8

//读取dht11温度并显示与i2c lcd 1602 上
//By.YoungRightNow zhidao.baidu

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#define DHT11PIN 8
dht11 DHT11;
//定义库文件



//i2c地址

void setup() 
  pinMode(DHT11PIN,OUTPUT);
  lcd.init(); // 初始化lcd
  lcd.backlight(); //打开背光灯


void loop() 
  int chk = DHT11.read(DHT11PIN);
  lcd.setCursor(0, 0);//定义显示行列
  lcd.print("Tep: ");//显示tep字样
  lcd.print((float)DHT11.temperature, 2);//读取温度
  lcd.print("C");
  lcd.print("Hum: ");
  lcd.print((float)DHT11.humidity, 2);//读取湿度
  lcd.print("%");
  delay(1000);//一秒更新一次

Arduino 将1602液晶显示屏改造为IIC接口

参考技术A 原来的1602是这样的:

连接到Arduino上需要接好多线,于是买了块IIC的板子改成IIC接口,就是这货:
由于Arduino的I/O口数量有限,如果直接用Arduino的I/O口直接驱动LCD1602/2004这样会占用较多的I/O口资源也不利于连接更多的其他设备。IIC LCD1602/2004转接板可以大大减少需要使用IO接口,原来的1602/2004屏需要7(RS、RW、E、D4~D7)个IO口才能驱动起来,而这个模块可以省去5个IO口。

模块采用PCF8574,它通过两条双向总线(I2C)可使大多数 MCU 实现远程 I/O口扩展。该器件包含一个 8 位准双向口和一个I2C总线接口。PCF8574 电流消耗很低,且口输出锁存具有大电流驱动能力,可直接驱动 LED。它还带有一条中断接线(INT开漏输出)可与 MCU 的中断逻辑相连。通过 INT 发送中断信号, 远端 I/O 口不必经过 I2C 总线通信就可通知 MCU 是否有数据从端口输入。

但是这块板子也是插针,要想连接1602的化,需要通过面包板才行,这个不能忍,于是开始拆拆拆。

将原1602的排针拆除,直接焊接IIC转接板。说起来简单,实际操作时发现拆除排针还是需要一定的技术的,最终拆的一团糟,一度以为板子拆坏了。

焊上转接板发现只有背光灯是亮的,查了半天发现是对比度的问题

使用小螺丝刀调节该电位器,从而调节对比度,1602显示屏显示。

大功告成,焊工依然很烂!

PS:
I2C github库
https://github.com/marcoschwartz/LiquidCrystal_I2C

以上是关于用arduino 制作温湿度计,利用LCD显示屏将温湿度显示在LCD显示屏上的主要内容,如果未能解决你的问题,请参考以下文章

使用TFT LCD制作Arduino触摸屏计算器

Arduino智能闹钟设计(8x8矩阵键盘+LCD显示)

Arduino智能闹钟设计(8x8矩阵键盘+LCD显示)

Arduino应用开发——LCD显示图片

用arduino 做一个万年历

Arduino 将1602液晶显示屏改造为IIC接口