arduino+i2c的1602屏显示串口输入数据 笔记

arduino uno 软串口读取Co2传感器并输出至串口HMI屏显示 阅读详情

1602的接线

首先,把转接板焊接到LCD显示屏上(方向如上图)

PCF8574T Arduino
GND->GND
VCC->5V
SDA->A4
SCL->A5

这个sda scl口是固定的,所以在写程序时候都不用写管脚声明,只需要声明管脚i2c地址即可。

添加arduino的1602液晶显示屏库

我购买的1602 i2c模块是pcf8574,由于这个不是专门的i2c转1602芯片,而是i2c接口的I/O扩展芯片,所以,在arduino库中搜索的时候,有些标注了使用了pcf8574,有些却没有。

实验时,发现红箭头的是最常用的。许多大神都是有这个库,而liquidcrystal_pcf8574也可以用,例程中还有自定义字符,但是使用上相对要复杂点。

扫描I2C地址及地址的缺点和修改方法

通过软件获得设备i2c地址

在参考文献中,我发现一个很好的i2c设备地址扫描程序。如下:

将以下代码拷贝到Arduino IDE,并执行。然后选择工具->串口监视器,把右下角的波特率改为115200,即可在串口监视器中读出I2C地址

// I2C Scanner
#include <Wire.h>
void setup() { 
    Serial.begin (115200); // Leonardo: wait for serial port to connect 
    while (!Serial) { } 
    Serial.println (); 
    Serial.println ("I2C scanner. Scanning ..."); 
    byte count = 0; 
    Wire.begin(); 
    for (byte i = 8; i < 120; i++) { 
        Wire.beginTransmission (i); 
        if (Wire.endTransmission () == 0) { 
          Serial.print ("Found address: "); 
          Serial.print (i, DEC); 
          Serial.print (" (0x"); 
          Serial.print (i, HEX); 
          Serial.println (")"); 
          count++; 
          delay (1); // maybe unneeded? 
        } // end of good response 
    } // end of for loop 
    Serial.println ("Done."); 
    Serial.print ("Found "); 
    Serial.print (count, DEC); 
    Serial.println (" device(s).");
} // end of setup
void loop() {}

通过硬件焊点改变i2c地址

如下图

串口数据显示程序

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); //这里改成自己的i2c设备地址
void setup(){
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);
}
void loop(){
  if (Serial.available()) {
    delay(100);
    lcd.clear();
    while (Serial.available() > 0) {
      lcd.write(Serial.read());
    }
  }
}

程序写好后,就可以用串口调试器调试,设置好波特率发送文本即可在1602上显示。

Troubleshooting

  1. 没有根据实际情况更改液晶屏的地址。
  2. LCD的尺寸与所需尺寸不同(16x2)。
  3. pcf8574模块蓝色选钮控制的字符灰度,不正确的灰度会导致液晶屏无显示,但是可以控制亮度(我遇到的1602不显示问题)。
  4. 在非I2c显示器上使用LCD_I2c库,反之亦然。
  5. LCD未正确连接。
  6. Arduino连接不正确。
  7. 系统没有安装驱动程序(CH340[用于中国的Arduino])。
  8. 你真倒霉。

参考资料:

https://create.arduino.cc/projecthub/thesahilsaluja/cpu-and-ram-usage-monitor-windows-linux-921282?ref=similar&ref_id=32069&offset=0

https://create.arduino.cc/projecthub/zakrzu/arduino-pc-monitor-66c07a

https://www.arduino.cn/thread-49987-1-1.html

https://www.jianshu.com/p/eee98fb5e68f
 

你好!基于Arduino控制的串口屏 Arduino如何控制TFT彩色屏幕的?当然是串口屏啦! 阅读详情

相关推荐

基于Arduino和AIDA64的lcd1602显示电脑状态

基于Arduino和AIDA64的lcd1602显示电脑状态前言硬件硬件连接软件数据分析代码成品注意 前言   大家都知道AIDA64可以用作副屏来显示电脑的一些参数如CPU温度、GPU温度什么的,但是身边没有副屏怎么办,这时我看到了B站UP主 会飞的阿卡林的一个视频(av77823747),用数码管来显示。这是个好办法但是为什么不用lcd来显示呢,自带背光看得更清楚,而且能显示的东西更多,需要四...

weixin_44817419的博客 6691

Arduino基础与常用函数

Arduino基础代码结构、常用串口函数

weixin_57246604的博客 7109

【Arduino基础教程】LCD 1602显示屏

LCD显示屏模块 LCD显示屏与Arduino连接可以有两种方式: 直接与Arduino相连 通过转接板利用I2C的方式与Arduino相连 1. 直接与Arduino相连 直接与Arduino相连的好处是不用现另外购买转接板,但这样造成的后果就是要大量占用Arduino的IO口。如果你的项目外接的传感器不多,那还好,但如果你需要外接很多个传感...

尾尾部落 9720

Arduino-入门-串口读取数据

【代码】Arduino-入门-串口读取数据。

李明的博客 2268

用Arduino+LCD1602(带I2C接口)制作时钟

引脚说明 GND ------ 地线 VCC ------ 电源(5V ) SDA ------ I2C 数据线 SCL ------ I2C 时钟线 接线方法 LCD1602 i2c模块 Ardunio Uno GND -------------------GND接地线 VCC---------------------5V 接电源 SDA----...

田园科技 1万+

ARDUINO学习5——通信篇

目录硬件串口通信——HardwareSerial 类库软件模拟串口通信——softwareserial 类库使用实验 硬件串口通信——HardwareSerial 类库 除了常见的函数外,另外比较常用的 peek() 功能:返回1字节的数据,但不会从接受缓冲区删除数据,与read()函数不同,read()函数读取该函数后,会从接受缓冲区删除该数据。 write() 功能:输出数据到串口。以字节形式输出到串口,它与print()的区别在于:当使用print()发送一个数据时,arduino发送的并不是数据本身

weixin_51396863的博客 1万+

Arduino Uno零基础入门学习笔记——在LCD1602屏上显示温度和湿度

Arduino Uno零基础入门学习笔记——在LCD1602屏上显示温度和湿度

Sol-itude的博客 6771

Arduino mega 2560 通过I2C驱动LCD1602

之前有幸拿到社区发来的Arduino Mega 2560 和扩展板,一直再酝酿写点儿什么,每次都很踟蹰,不知道写个什么应用好,又要让小白能够容易理解,又不会和其他的人冲突,还要有很好的创意,看着手中的板子,我有点儿迷茫,写个系列? 什么系列呢?arduino 从入门到放弃? 还是定制一款arduino mega 2560 的开源CNC? 这个太烧钱,前不久才去新西兰烧了一下钱袋子,所以现在还是决定低调,低调。 翻箱倒柜找到一块LCD1602, 很久没有看到有人用这么老的设备了,但是其特点是简单,亮度可调,还

电子芯吧客的博客 3846

[Arduino编程]使用LiquidCrystal_I2C库驱动LCD1602液晶显示屏

使用LiquidCrystal_I2C库很方便地驱动使用IIC总线的LCD1602液晶显示屏

StarsAC's Tech Cabin 2882

PCF8574 I2C转接模块驱动LCD1602:Arduino与STM32实战指南

I2C(Inter-Integrated Circuit)是一种常用的串行通信协议,广泛应用于微控制器与外围设备的数据交换。其工作原理基于主从架构,通过SDA(数据线)和SCL(时钟线)实现双向传输,支持多设备共享总线。I2C协议的技术价值在于极大简化了硬件连接,仅需两根线即可扩展多个外设,有效节省GPIO资源并提升系统可靠性。在嵌入式开发中,I2C常用于连接传感器、存储器和显示模块等。PCF8574作为I2C接口的I/O扩展芯片,能够将并行设备(如LCD1602液晶屏)转换为I2C通信,显著降低接线复杂度

weixin_30460489的博客 369

Arduino LCD1602 I2C驱动教程:从硬件连接到动态显示实战

在嵌入式开发与人机交互领域,液晶显示器(LCD)作为关键输出设备,承担着将微控制器内部数据转化为可视化信息的重要任务。其工作原理基于对液晶分子偏转的精确控制,通过允许或阻挡背光形成字符与图案。在Arduino等开源硬件平台上,掌握LCD驱动技术是实现项目可视化的基础技能,尤其对于智能家居、环境监测等应用场景具有重要价值。本教程聚焦于广泛应用的16x2字符型LCD模块,详细解析如何通过I2C接口简化硬件连接,并利用LiquidCrystal_I2C库进行高效驱动。内容涵盖从地址扫描、库安装到动态数据显示等核心

weixin_33725270的博客 431

python arduino i2c1602_Arduino DS18B20 I2C+1602和串口双显示

#include // I2C库#include // OneWire库#include // DS18B20库#include // I2C 1602 库// 定义DS18B20数据口连接arduino的2号IO上#define ONE_WIRE_BUS 10 // D...

weixin_39610807的博客 328

PCF8574驱动LCD1602 I2C模块:Arduino实战指南与问题排查

I2C(Inter-Integrated Circuit)是一种常用的串行通信协议,通过两根信号线(SDA和SCL)实现多设备间的数据交换。其工作原理基于主从架构和地址寻址,能够有效减少微控制器的I/O资源占用。在嵌入式开发中,I2C的价值在于简化硬件连接,支持多设备管理,尤其适用于资源受限的场景。PCF8574作为I/O扩展芯片,将LCD1602的并行接口转换为I2C通信,结合Arduino平台,可快速实现显示功能。本文以PCF8574和LCD1602为例,详细讲解从模块识别、地址扫描到动态显示的完整流程

weixin_33841722的博客 267

[Arduino] ESP32开发 - LCD1602显示实验

ESP32配合LCD1602,借助IIC显示文本,包括滚动显示以及小案例

delete_you的博客 5495

【雕爷学编程】Arduino动手做(85)---LCD1602液晶屏模块4

雕爷学编程,Arduino动手做,开源硬件,创客传感器,LCD1602液晶屏模块

雕爷学编程 985

【史上最全面arduino esp32教程】I2C接口LCD1602的使用

欢迎来到史上最全面的Arduino ESP32教程!本教程将重点介绍如何使用I2C接口连接LCD1602液晶显示屏,并通过Arduino ESP32控制显示内容。通过学习本教程,你将学会如何使用I2C通信协议和LCD1602库,以及如何利用ESP32开发板与LCD1602一起创建令人印象深刻的显示效果。作用:自定义字符生成,可以在显示屏上显示自定义的图标或特殊字符。参数:uint8_t:自定义字符的索引号(0-7),可以创建8个自定义字符。

m0_62599305的博客 5052

Arduino与LCD1602(I2C)搭配使用攻略

文章目录1.连线2.安装库3.查找串口地址4.正式烧录5.效果展示 1.连线 我使用的是Arduino(UNO)开发板和LCD1602带拓展板I2C。具体连线比较简单。 GND ------ 地线 VCC ------ 电源5V SDA ------ I2C 数据线 SCL ------ I2C 时钟线 2.安装库 arduinoIDE里面有专门为lcd1602编写的库,打开项目->加载库->搜索LiquidCrystal_I2C 3.查找串口地址 首先需要知道LCD的串口地址,之后会用到 复制

兴趣使然的创作者 4630

【AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Pytorch-DirectML篇)】

这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。 首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。 https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows 这里用我的方法操作: 首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就.

weixin_44029053的博客 2万+

用Arduino连接DHT11传感器通过1602(IIC方式连接)显示温湿度

用Arduino连接DHT11传感器通过1602(IIC方式连接)显示温湿度 [@(用Arduino连接DHT11传感器通过1602(IIC方式连接)显示温湿度)] 本文分四部分: 一:硬件连接: DHT11接数字口8. arduino 5v和GND分别接到面包板上的+,-两极,然后连接DHT11上的正负极。(为了简便,我自己没有用面包板,而是引出了排线,直接插线,具体看照片)。 Lcd 1602...

Haitianiqixing的博客 3589

LangChain入门(二)-通过 Google 搜索并返回答案

并复制他给我们生成 api key。(博主使用了GitHub账号登录)-邮箱验证-手机号验证-订阅-api-key。Serpapi 提供了 google 搜索的 api 接口。首先需要我们到 Serpapi 官网上注册一个用户,

Good Luck 1万+

DGX Spark上PyTorch GPU环境配置实战:CUDA 13.0与ARM架构全流程

在深度学习中,CUDA作为GPU加速计算的底层基础,其版本与深度学习框架(如PyTorch)的匹配直接影响模型训练的效率与稳定性。GPU环境配置不仅涉及驱动、CUDA工具链与框架运行时的协同,还依赖于硬件架构与预构建包的兼容性。在AI开发机Ubuntu系统上,正确对齐CUDA版本、计算能力架构及安装源,是避免环境故障、发挥硬件算力的关键。无论是面向个人AI超算还是通用GPU服务器,掌握版本对齐、路径隔离与验证方法,都能大幅提升开发效率。本文以DGX Spark为例,详解从环境摸底到PyTorch GPU版本

weixin_29483277的博客 220
上一篇: 使用rdp协议访问远程Linux桌面
下一篇: ezd激光雕刻机软件使用笔记。
太阳之影
博客等级 码龄19年 18粉丝 22原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值