极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: arduino-tinker

arduino控制LCD1602的一点儿经验分享

[复制链接]
发表于 2014-5-1 00:04:18 | 显示全部楼层
如何实现LCD 换行呢?比如我要输入18个字母 但是一行只能输入16个 如何让后2个字母显示在第二行
回复 支持 反对

使用道具 举报

发表于 2014-5-1 09:44:11 | 显示全部楼层
纠结啥啊~比如你显示的电压最高是99.999,共5位,那你在显示9.09的时候,直接把字串对齐一下呗。先写一个5位空格,在写一个9.09,就好了吗?
回复 支持 反对

使用道具 举报

发表于 2015-7-1 20:33:53 | 显示全部楼层
学习了。。。
回复 支持 反对

使用道具 举报

发表于 2015-8-1 21:22:10 | 显示全部楼层
你好,我想问一下如果我想利用LCD1602显示一个变化的量怎么办啊,比如说测量电机转速并用LCD1602显示,谢谢{:3_52:}
回复 支持 反对

使用道具 举报

发表于 2016-1-6 12:24:56 | 显示全部楼层
我也正为清屏闪烁问题头疼呢
回复 支持 反对

使用道具 举报

发表于 2016-1-6 23:39:47 | 显示全部楼层

  1. void loop()
  2. {
  3.   char buff[17] = {0};
  4.   int val = digitalRead(1);
  5.   const char* to_print = val == HIGH ? "HIGH" : "LOW";
  6.   sprintf(buff, "%-16s", to_print);
  7.   lcd.print(buff);

  8. }
复制代码


随便写了下,只是编译通过了,没测试,注意别用sprintf格式化浮点,貌似avr-lib不支持。。
回复 支持 反对

使用道具 举报

发表于 2016-2-29 13:03:45 | 显示全部楼层
好贴,mark一下
回复 支持 反对

使用道具 举报

发表于 2016-2-29 14:08:10 | 显示全部楼层
我在程序中用过“ ”填充,也用过数据等长。
回复 支持 反对

使用道具 举报

发表于 2016-3-2 15:22:07 | 显示全部楼层
vp110 发表于 2012-6-25 13:46
何必这么纠结呢。
楼主你把HIGH和LOW弄的一样的长度不就解决了(LOW后面加1空格)。哪还用的着多个变量,多 ...

八仙过海各显神通哈
回复 支持 反对

使用道具 举报

发表于 2016-3-2 15:58:32 | 显示全部楼层
16*2,就是16个字符*2行,那么你16个字符,属于固定显示的有多少,属于动态显示的有多少,自己规划好就行了啊~
例如:
Vol:100 Play 003
这里的100和003是动态的,但整个字串刚好有16个,那么你输出Vol:1的时候,print("  1") or print("1  ")不就行了吗?固定位数,赋值的时候直接把位数全部占满
回复 支持 反对

使用道具 举报

发表于 2016-8-27 17:50:29 | 显示全部楼层
沧海笑1122 发表于 2012-6-24 00:49
我对不同长度的变量,使用1602显示的解决办法是,使用lcd.print(" ")来覆盖那个多余的旧字符。
例:变量dr ...

谢谢分享!
这个清屏非常麻烦,用了很多方法都不理想。试试你这个。
回复 支持 反对

使用道具 举报

发表于 2016-8-27 17:54:05 | 显示全部楼层
沧海笑1122 发表于 2012-6-24 01:10
不客气,也向你学习。

刚刚补充了,从两位数降为单位数时,道理依然。lcd.print(" ")会覆盖那多余出来的 ...

刚试过,很好的方法。

谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 07:05 , Processed in 0.058857 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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