一款基于Arduino平台的零代码就可驱动的串口彩屏分享-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5553|回复: 16

一款基于Arduino平台的零代码就可驱动的串口彩屏分享

[复制链接]
发表于 2021-12-9 11:45 | 显示全部楼层 |阅读模式
本帖最后由 京小亿 于 2021-12-9 13:43 编辑

多年前在论坛上看到一个帖子:
开发彩屏的由来2.jpg

引起了我的共鸣:能不能有一种彩屏,可以像Arduino IDE自带的串口监视器一样,能够实时显示串口发来的数据,而不需要库或者大量代码的支持?为了实现这个功能,购买了不少公司的彩屏模块回来测试,结果还别说,还真找到了一款,就是今天我要介绍的这款ATFC043的串口屏。

说到串口屏,讨论区也有朋友分享Arduino驱动串口屏的帖子。市场通用的串口屏,是通过16进制的指令进行彩屏的操作。如背光亮度调节,串口要发送:AA 30 80 CC 33 C3 3C 一系列16进制指令。而Arduino的串口是字符串的形式,要发送16进制,需要进行一些数据变换,对初学者还是不够友好。

下面分享ATFC043串口屏功能和使用方法:我们以Arduino IDE自带的串口例程:ASCIITable为例。我们使用最通用的UNO主板进行测试。将程序上传到UNO主板。
UNO主板和彩屏的接线图如下:

接线图.jpg

这是实物图:
11.jpg

这是程序代码:
程序截图.jpg
void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ; }
}
int thisByte = 33;

void loop() {
  Serial.write(thisByte);
  Serial.print(", dec: ");
  Serial.print(thisByte);
  Serial.print(", hex: ");
  Serial.print(thisByte, HEX);
  Serial.print(", oct: ");
  Serial.print(thisByte, OCT);
  Serial.print(", bin: ");
  Serial.println(thisByte, BIN);
  if (thisByte == 126) {
    while (true) {
      continue;
    }
  }
  thisByte++;
  delay(200);
}


这时候我们打开串口监视器(Serial Monitor):
串口监视器显示截图.jpg

再看一下彩屏端的显示效果:
12.jpg

彩屏上和串口监视器上的显示数据是一模一样的。我们在没有增加任何彩屏代码的情况下,只使用Serial.print()指令,就实现了彩屏的显示。




 楼主| 发表于 2021-12-10 10:50 | 显示全部楼层
22.jpg

21.jpg

前面我们介绍了,ATF串口智能屏,连接在Arduino控制器串口上,可以实现零代码显示。

那我们可以进一步拓展一下:如果在控制器和彩屏之间,加一个串口无线速传模块,是否可以实现远程数据显示呢?

我们使用YL100-T无线透明串口速传模组,一端接在UNO串口上,一端接在彩屏串口上。
测试结果,和预期完全一致。

360截图20211210105108985.jpg

360截图20211210105132472.jpg
 楼主| 发表于 2021-12-15 10:03 | 显示全部楼层
Arduino串口屏技术1群,QQ群:217142452,有兴趣的宝宝可以进群交流。
 楼主| 发表于 2021-12-17 10:51 | 显示全部楼层

360截图20211217104706689.jpg

ATFC串口智能屏,支持音视频的解码,方法如下:

@AVI Xs,Ys,Xw,Yh,path.avi

Xs是视频播放的窗口X轴起始位置坐标;
Ys是视频播放的窗口Y轴起始位置坐标;
Xw是播放窗口的宽度像素点;
Yh是播放窗口的高度像素点;
path.avi是完整的avi文件在模块U盘中的路径及文件名以及后缀(假设模块里有一个avi文件,g0.avi  在模块U盘根目录下)
比如你要在左上角坐标(10,10)处,以窗口宽度460,高度250进行播放我放在盘中的avi文件,那么请发

Serial.println("@AVI 10,10,460,250,g0.avi");

@AUDIO test_wf.mp3
这是播放音频的:Serial.println("@AUDIO test_wf.mp3");

@MSTOP\r
这是视频/音频结束播放:Serial.println("@MSTOP");

@SETVOL 30\r
这是设置音量的  范围0~63:Serial.println("@SETVOL 60");

演示视频:




 楼主| 发表于 2021-12-18 22:09 | 显示全部楼层
UNO主板也能来控制音视频播放,这无疑让UNO的应应用场景丰富了很多。

另外视频播放可以自由变换尺寸和位置,真的很方便。
 楼主| 发表于 2021-12-22 08:51 | 显示全部楼层
本帖最后由 京小亿 于 2021-12-27 08:50 编辑

有兴趣的小伙伴,可以下载更多教程了解一下:

链接:https://pan.baidu.com/s/1ibJxmcOVYDzBR3IpeGgwfQ

提取码:ykvd

资料持续更新中。
有兴趣的小伙伴,可以加群技术交流。217142452
ATF串口屏QQ.png

点评

谢谢分享。  发表于 2021-12-27 09:01
 楼主| 发表于 2022-1-6 09:46 | 显示全部楼层
ATF串口屏字库1.jpg

ATF串口屏字库2.jpg

常规液晶屏的西文字符和汉字,都是使用点阵字库,16*16,32*32等等。这种字库的好处是响应速度快,缺点是显示效果单一,不能自由放大缩小。
现在ATF屏正在开发一个新功能:支持Windows系统字库TTF字库。这样彩屏上的字体大小就可以像电脑上一样,自由设置,还可以设置粗体,斜体等各种显示效果。

昨天试用了一下,效果还真不错。很多点阵字库中没有得生僻字,也能显示。
 楼主| 发表于 2022-1-10 10:01 | 显示全部楼层
QQ图片20220110095258.jpg

分享一款小伙伴使用ATF043彩屏制作的飞行控制器。可以无线遥控。
 楼主| 发表于 2022-2-16 11:07 | 显示全部楼层
本帖最后由 京小亿 于 2022-2-16 11:09 编辑

矢量字库比点阵字库小很多。支持windows自带字库。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 06:54 , Processed in 0.151399 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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