UNO+1602+IIC(SDA和SCL)实现滚动显示-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1448|回复: 2

UNO+1602+IIC(SDA和SCL)实现滚动显示

[复制链接]
发表于 2022-7-4 19:24 | 显示全部楼层 |阅读模式
好棒棒!不要考虑文本长短了!!!

是这样子的:
多次执行显示命令
就这么简单!
程序:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C mylcd(0x3F ,16,2);
void setup()
{
mylcd.init();
mylcd.backlight();
}
void loop()

{
mylcd.setCursor(0, 0);
mylcd.print("ni hao          ");
mylcd.setCursor(0, 1);
mylcd.print("wo shi                 ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("wo shi                     ");
mylcd.setCursor(0, 1);
mylcd.print("Ding Jiahui                ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("Ding Jiahui                   ");
mylcd.setCursor(0, 1);
mylcd.print("zhe shi wo de              ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("zhe shi wo de              ");
mylcd.setCursor(0, 1);
mylcd.print("da huai dan                 ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("da huai dan               ");
mylcd.setCursor(0, 1);
mylcd.print("di di                      ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("di di                  ");
mylcd.setCursor(0, 1);
mylcd.print("Ding Jiahao                ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("Ding Jiahao                ");
mylcd.setCursor(0, 1);
mylcd.print("ta te bie huai                 ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("ta te bie huai                  ");
mylcd.setCursor(0, 1);
mylcd.print("HIT HIM!                           ");
delay(2000);
mylcd.setCursor(0, 0);
mylcd.print("HIT HIM!                         ");
mylcd.setCursor(0, 1);
mylcd.print("Da Bian My Didi!                ");
delay(2000);
}

使用说明:
把mylcd.print后面的括号换成自己的话。
红色是一个单位
单位的末尾要与下一个单位的开头一样。
文本少了就删,多了就再复制几个单位

最后留言:
有改进的请评论

发表于 2022-7-4 22:54 | 显示全部楼层
为何不用String数组+for循环实现?

string dataStr = {"ni hao          ", "wo shi                 ", "wo shi                     ", "......"}
for(byte for_num=0; for_num < sizeof(dataStr )/sizeof(string); for_num+=2)
{
mylcd.setCursor(0, 0);
mylcd.print(dataStr[for_num]);
mylcd.setCursor(0, 1);
mylcd.print(dataStr[for_num+=1]);
delay(2000);
}
 楼主| 发表于 2022-7-15 20:03 | 显示全部楼层
萌小狸宝宝 发表于 2022-7-4 22:54
为何不用String数组+for循环实现?

string dataStr = {"ni hao          ", "wo shi                 ", ...

不会,本人小白
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:28 , Processed in 0.080599 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表