Arduino 和LCD1602液晶屏 I2C接口实验

LCD1602液晶屏 带I2C接口
在这里插入图片描述
引脚说明:
GND ------ 地线
VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别)
SDA ------ I2C 数据线
SCL ------ I2C 时钟线
接线方法:
LCD1602 i2c模块 Ardunio Uno
GND <------> GND接地线
VCC <------> 5V 接电源
SDA <------> A4
SCL <------> A5

需要用到LCD1602 I2C的库,下载地址是 https://github.com/marcoschwartz/LiquidCrystal_I2C
把下载的库放到Arduino的库里
程序和库打包下载:https://u16460183.ctfile.com/fs/16460183-295783929
文件夹说明:
LiquidCrystal_I2C-master ——LCD1602 I2C库(库需要复制在arduino的库目录里)
LS_LCD1602 ——主程序
代码:

//LingShun lab
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //引用I2C库
 
//设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
LiquidCrystal_I2C lcd(0x3F,16,2);  
 
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight();             //设置LCD背景等亮
}
 
void loop()
{
  lcd.setCursor(0,0);                //设置显示指针
  lcd.print("LCD1602 iic Test");     //输出字符到LCD1602上
  lcd.setCursor(0,1);
  lcd.print("         by L.L.");
  delay(1000);

实例效果:
在这里插入图片描述
LCD1602液晶屏与LM35测量室内温度
代码:

//LingShun lab
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //引用I2C库
#define LM35 A0

LiquidCrystal_I2C lcd(0x27,16,2); //设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
int val=0;
float temp = 0;
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight(); //设置LCD背景等亮
  lcd.print("Welcome to use!");
  delay(1000);
  lcd.clear();
}

void loop()
{
  val=analogRead(LM35);
  temp=val*4.8876;
  lcd.setCursor(0,0);
  lcd.print("LM35 temperature: ");
  lcd.setCursor(0,1);
  lcd.print((int)temp/10);//显示整数部分
  lcd.print(".");
  lcd.print((int)temp%10);//显示小数部分
  
  lcd.print((char)223);
  lcd.print("C");
  delay(1000);
}

改进代码:

//LingShun lab
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //引用I2C库
#define LM35 A0

LiquidCrystal_I2C lcd(0x27,16,2); //设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
int val=0;
float temp = 0;
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight(); //设置LCD背景等亮
  lcd.print("Welcome to use!");
  delay(1000);
  lcd.clear();
}

void loop()
{
  val=analogRead(LM35);
  temp=(5.0*val*100.0)/1024;
  lcd.setCursor(0,0);
  lcd.print("LM35 temperature: ");
  lcd.setCursor(0,1);
  lcd.print(temp);
  
  lcd.print((char)223);
  lcd.print("C");
  delay(1000);
}

在这里插入图片描述
LCD1602液晶屏与dht11测量室内温度与湿度:
代码:

#include <Wire.h> 
#include<Adafruit_Sensor.h>
#include<DHT.h>
#include <LiquidCrystal_I2C.h> //引用I2C库
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);

LiquidCrystal_I2C lcd(0x27,16,2); //设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
int val=0;
float temp = 0;
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight(); //设置LCD背景等亮
  lcd.print("Welcome to use!");
  delay(1000);
  lcd.clear();
}

void loop()
{
  lcd.setCursor(0,0);
  float h=dht.readHumidity();
  float t=dht.readTemperature();
  float f=dht.readTemperature(true);
  if (isnan(h)||isnan(t)||isnan(f)){
    lcd.print("Failed to read!");
    return;
  }
  lcd.print("Hum:     Tem: ");
  lcd.setCursor(0,1);
  lcd.print(h);
  lcd.print("%   ");
  lcd.print(t);
  lcd.print((char)223);
  lcd.print("C");
  delay(1000); 
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值