粉丝389获赞2551

哈喽,大家好,我是创客旺旺,刚才视频中展示的为 lv gl 库,它的 demo, 嗯,我这里面采用的主控模块为 esp 三二, 然后屏幕为带触摸功能的 t f t 屏幕。下面我们将会带大家一步一步将 l v g l 库移植到我们的 e s p 三二中,以及 t f t 屏幕的接线。现在我们开始 l v g l 库的配置所 首先打开 github, 下载 lv gl 库的包, 就直接搜索 lv gl, 然后点击这个,我所用到的版本是八点二,然后点点击这个,然后找到 tax, 这时候找到八点二,我用的是八点二,你们用其他的也都行, 点击这个八点二,然后点 cod, 再点击 local, 然后这时候下载它的安装包就可以了,直接点击下载就行了,等下载完了之后是这样子的, 等下载完之后,它应该是 lv g l 杠 master, 因为被我已经被我修改过了,所以说大家一定要把它重命名为 l v g l, 都是小写的,然后它的下级目录就是这些的文件, 千万不要是 lv gl, 然后它的下一集目录还是 lv gl, 一定要把它更改成 lv gl 的下一集目录就是这些文件,然后按照官网上的要求进行配置, 打开 dogs 啊,我们是八点二版本, 然后找到 i arduino, 它为什么用 arduino 呢?虽然说我们我们用到的主控模块是 e s b 三二,但是我们在 arduino i d e 平台进行开发的, 然后点击,这时候主要是看这些配置文件,就是说它一定要用 t f t 杠 e s p i。 库 就是 lv gl 库,它是依赖于 t f t 杠 e s p i 库进行驱动的,所以说一定要一定要下载这个 t f t 杠 e s p i 库,就是这里的库, 就这个库本键一定要有,然后进行 lv gl 库的配置就行了。 首先就是说把 lv 刚 conf, 刚 time template, 然后这个给改成 lv 刚 conf 点,点开 lv gl, 然后找到这个文件,然后把它复制过来,复制到跟 lv g l 同一个目录下, 就是这样,然后要重命名为 lv 杠 c o n f, 因为我刚才已经操作,因为一开始已经操作过了,所以说就重新改一下, 先把原来的删了,然后从命名 点开它, 然后要把这个 if 零改成 if 一, 就是开头的这个第十五行,这个把 if 零改成 if 一, 紧接着是 lv color, 这个呃 color 的话就是看我们的 tft 屏幕的深度, 就在这里, 它分为一位的八位的、十六位的三十二位的 rgb, 你看 tft 屏幕是多少位的,然后就推对它进行相应的设置就可以了。 紧接着就是帮这个设置为一, 就是帮这里设置为一,我这里已经设置完为一了, 然后点击保存 下面的话就可以开始跑我们的 demo, 但是跑 demo 的话也要进行相应的配置, 点开这个 demo 文件夹, 这里有它的配置教程, 就是说要把刚才配置的 comfort 文件里面要进行修改, 就是说我们要跑这个历程,所以说我们要把这里的零都修改为一, 打开刚才的文件, 然后就下拉一直在下面的,就将这里的零都改成 a 一,这两个都是零,然后现在修改为一,其他的保持不变。 然后紧接着就是把 demo 和 examples 放在 src 文件夹内, 就 lv gl, 比如说要往 demos 和 examples 放在这个 s r c 文件夹里,就这里这个文件,把这个文件把它复制过来,复制到 src 这个文件夹里就可以了。 然后就是打开我们的 demo 文件再进行配置,比如说打开我们的 lv 角文件视力, 嗯,找到 lv gl, 这就是他的视力, 他要求的配置是帮 把我们的这个图文件给替换掉,替换上这个, 然后剩下的就是我们跑的是第一个,所以说这是取消注释,如果你要跑其他的 demo 的话,就帮他取消注释,然后在相应的 config 投文件里面进行修改, 然后就开始编译就行了。

各位同学大家好,之前呢我们讲过如何在 e s p 三二中使用 t f t e s p 这个库, 然后我在使用过程中呢发现如果用那个取膜方法进行显示中文的话,他比较麻烦, 如果我们想显示一些从网上 get 的毒鸡汤啊,或者天气预报什么的,这样一个取膜的话就会很费劲,所以呢我添加了一个中文字母,所以呢我们就可以直接用不用取膜了,我们先来看一下,效果 也是一样的,我会为大家准备一个这样子的一个文件夹,大家根据自己的屏幕的尺寸呢, 一点三,就这个一点八,就这个一点十四,这个二点零,就这个根据自己的尺寸呢进行一个选择就可以了。银角接线呢还是和之前一样没有变,就是 m i s o 接的是十九 m o s i 二三 s c l k 十八 c s 二七 d c 二三 d c 二五 rest 二六就是这里有一个金说明,就大家按这个来就可以了, 然后这里也有个接线图,接线图呢也是比较清楚的。好, 我们接下来来看一下。首先呢我这里已经导入了一个库了,这个库呢是一点八的,大家一定要注意,如果你自己修改过这个 文件里面的 library 里面的这个 t i p e s p 库,那你一定要导入了之后就是你修改之后,你要进行暂时导入这个库呢才会生效,这一点要注意一下, 我们来看一下。首先呢是一点八寸的舒适化,接着呢我们设置一个中文字体,就用全景 再显示一个你好世界,我们再找到 maker 的功能下面的 显细,下面 t l t。 我们将这里的背景呢改成黑色,这样子的话效果会好一点。好,再把它放到 触发中间,然后我们选择一下端口进行上传,这上传呢要的比较久一点。 好的,我们来看一下效果,可以看到呢屏幕上显示了你好你好世界,并且呢他是没有去磨的,效果还不错。 这里呢也可以选择这个字号,字号呢是十二、十三、十四、十五、十六这几种。

最后这情爱下就下了警察,大家都在问这个小电视到底怎么做了,今天给大家详细介绍一下。首先回答一下这个是什么原理,其实我们就是在电脑端开启一个录屏功能, 然后把实时画面发送到这个小屏幕上。硬件材料呢主要就是一个 esp 三二的开发板,加上一个 ips 的液晶显示屏,其他就是接几根线就可以了。之前视频我们介绍过屏幕的选型,下面我们讲一下代码的配置和过程。 第一步就是程序烧录,我们在程序中修改 wifi 的基本信息,这里我们电脑和小电视呢要连接一个路由器,也可以使用电脑进行分享热点, esp 三二的屏幕线我们也放在接线说明中了。上路成功的第二步,我们打开投屏助手,如果上路一点零的代码,使用一点零的投屏助手,如果是一点三的代码,需要使用一点三的投屏助手。这两个版本不兼容,一点零是 电脑主机开发版式重机,一点三是开发版式主机,电脑是重机,所以就不能兼容。还有一点三版本支持屏幕,可以进行区域录制。配置完成咱们点击投屏看到效果,其实基本上没有什么延迟,大家可以自己动手试一试,如果有啥问题可以评论区留言。

大家好,这里是爆款车间,前两天主任呢也成功蹭了一下热度,用这块 tfg 屏呢做了一个转售了版的太空人表盘,这个做起来并不复杂,只需要根据我们在上上个视频里面介绍的连接方式, 把屏幕啊跟 a s p 八二六六的卡拉版连接起来,用 d m c u 或者我们自制的卡拉版都可以使用驱动屏幕库的绘图函数啊,把这个网格线,把这几个网格线先画出来,把网络后一段时间啊从这里显示出来。这些我们在之前做的视频里面呢,都接触过,温度是 是用这个知心天气的免费的借口获取的,然后但是这个这个图标呢,因为图标太多了,我偷了个懒,这个图标是假的。然后呢比较麻烦的呢,就是这个太空人的这个动画,这时候找到一个表情包的一个键来说,然后把它呢用键来分解,软 文件分解,分解成每一个图,然后把这些图呢分别取模,做一做一个系列真的循环图像的替换,就成了一个系列真动画。 然后我们这里显示代码呢,大家可以私信跟我要啊。当然呢,这个屏幕呢要玩这么玩起来一定要拖着这么一个板子,非常难看,但是呢,我突然想到,虽然我们自制的这个 esp 二六六开发板这些接口呢是足够供这个 平来使用的话,那我们岂不是我们这个板子的原理图不用动,然后把这个板子的零件重新布局一下,然后就可以做一个小屏幕专用的板子,哎,当当当当,就是这个,这是我前两天随手画了一下,但是好像有一点问题啊,这焊的时候把这里焊的有点糊了, 哎,怎么一插这个 usb 呢,换成了这个小的 sb 接口, 哎,然后看这样是不是加就成了,就没有那么多线了,这个板呢跟他的大小也差不多,这个虽然 e s b r 都用拿来做这 做个穿戴设备啊,可能是不太现实,因为电池扛不住,但是如果我们让轻松的做一张一个小摆件的话,好像也不错。好了,我们这期道理,我们下期再见,大家再见。

大家好,从这个视频开始,我们进入一个新的阶段,这个阶段从点亮 l c d 显示屏开始,这个屏幕是买 e s p 三二 c 三十一起买的商品详情里介绍的非常不清楚, 通过多方查询才知道型号为七七三五 v。 我们还是以上一个多先生请求的视频为基础进行改造,如果你喜欢这个系列的视频,记得点赞关注,后面还有更多内容等待发布。 首先我们从极限开始,我把 esp 三二 c 灯的图像进行了一下旋转,可以看到两块板子的左侧是一一对应的 gnd 三点三伏, 然后六个信号端口,这里是六个 gpl 端口。要想点亮屏幕,我们首先把两块板子最下面的 gnd 和三点三伏相互连接, 然后把 esp 三二 c 三的这六个 gpl 端口和 lcd 显示屏的这六个信号端口进行连接。页面连接好以后,我们回来看代码, 我们首先要先引入 t f t e s p i 库, 还是跟上次操作一样, 我们搜一下,搜索一下这个库,嗯,这一个二点五点二三添加的项目,我们选这个, 引入完成后,它会出现在这个 level d p s 下面。二点五点二三,引入完成以后需要修改一下它的默认配置,我们点开 p l o t f t, 然后找到最下面的这个 user set up 点,一起用电往下边拉一点, 把这条注掉,然后我们要使用的是 s t 七七三五,再往下拉, 把这一条的主饰去掉,因为我们的是零点九六,年存的分辨率是幺六零到八十这样。这个,呃,这个配置是解决屏险内容偏移的问题,如果没有把这个主饰去掉的话, 显示的内容会向上偏移,然后还要针对我们的 e、 s、 v 三二、 c 三把这些端口儿改掉。 保存完以后,我们这代码里面需要先引入我们的 t、 f t 库, 然后我们在 cdr 里边测试一下 这一行是让他使用我们后面设置的这个正常的颜色,如果不加的话,他默认是会显示反色,然后这个是显示图像的方向, 默认的话他是会显示在呃一个窄边上,选择一的话他会是个横向的, 然后文字大小,文字的颜色,这个就是相当于先给屏幕先填充一个纯色的画布,然后在上面去打印内容。我们来看一下结果怎么样。 可以看到我们的开关板运行成功,我们的 l、 c、 d 显示屏也正确打印出了,现在就可以说我们的 e、 s、 v 三、二、 c 三点亮 l、 c、 b 屏的操作已经成功了,但是现在这个 lcd 屏不能显示中文,如果需要显示中文,还需要添加中文字库,那我们下个视频请来让屏幕正确的显示中文,感谢观看,再见!

大家好,这里是爆改车间上集呢,给大家分享的这个触摸屏电脑快捷键小外设啊,虽然没啥用,但是有不少小伙伴还挺喜欢, 然后要求开园,所以主人就把这个代码做了一下小小的完善。主要原因呢,就是之前的这个版本啊,因为是我临时想到,然后就做的。所以呢,上传图片和定义快捷键啊,都是写死在程序里面的 马。虽然简单啊,但是对于这个初学的小伙伴可能来说就是不太友好。所以呢,就做了这样一个非常简陋的管理页面。虽然说简陋啊,但是有了这个页面呢,我们就只需要这个,这个页面上还可以上传这个图标文件。 然后呢,这个定义啊,这个图标所对应的这个快捷键是哪个字母,然后删除,然后还有格式化这个全部 这个话,还有这个屏幕较准的入口啊,就都在这个页面上了。所以就是嗯,基本上有手就行了。只需要在这个代码里面修改一下这个 wifi 的连接信息,就是 wifi 名和 wifi 密码。记忆的话呢,你们只需要这个输入这个 设备的 ip 地址啊,就可以进入到这个管理页面啊,然后就可以上传这个图标了。嗯,后面主要可能有的困难呢,就是这个关于 atoida 上面 esp 三二开发版环境的配置。这个呢,大家就去这个 atteaste 中文社区里面,然后找这个 esp 三二的这个板块, 然后在这个置顶上面,这里就有 id 一安装 aspn 三二 sdk 的这个离线包哎,我们下载好这个离线包,然后安装减压安装就可以了。然后再有呢,就是我们用到了两, 一个是这个 tftespi 的这个显示屏驱动裤,还有一个呢就是蓝牙键盘的这个驱动裤。所以我们这两个裤呢是需要自行安装一下的,主人就直接把这两个裤代码一起打包,然后大家自行解压缩到这个裤的这个文件夹里,就是赢了。 然后呢就是合照 est 三二 c 三开发版和屏幕连接线的这个顺序,就是涂上这个顺序,按照这个图上这个连接,这个连接线的顺序的定义啊,是在这个 tft 杠 espi 这个库的配置文件里,这个 ulores 赛塔这个点一致这个这个文件里。 这个文件呢就是配置了我们现在用的这个屏幕的驱动,然后这个屏幕的尺寸,然后这个屏幕的哎管角定义在这里。然后最重要的一点呢,就是这个图标文件在上传的时候啊, 图片必须是分辨率是六十乘六十像素,然后二十四位的 bmp 文件。其实呢就是用这个 windows 画板,然后定义一个六十乘六十尺寸大小的一个图像,另层 bmp 操作像时候的这个默认选项就是二十四位图的 bmp 文件, 一定要从这个格式啊,才能正常显示。因为我这个上传的时候没有做任何的教验,不管什么样的东西啊,不管什么文件都可以上传上来。 但是如果上传的格式不是我说的这个六十乘六十像素的二十四位的 vip 文件的话,他肯定是不能正常显示的。 然后这个文件名啊,不可以重名,重名的话就会覆盖掉前面一个文件。然后就是这个蓝牙键盘的这个驱动库和 c 三可能有那么一点点不兼容,有的时候啊,重启之后不能自动连接上,一般多等一会就能连接上了啊。如果不想 冷的话,就直接从这个蓝牙设备里面把它删除,然后重新连接就可以了。然后定义这个快捷方式的快捷键,右键属性里面这个快捷键就从这个里面定义就可以了。 然后呢,就是这个管理页面啊,没有任何美学可言啊,因为我不会肯定呢会有 bug, 大家发现了自己改一改吧。好了,那我们这节就到这里,我们下集再见。

通过这个波动这个开关呢,就可以无限来遥控这个显示停额的画面的切换了。大家好,这里是 boss 车间,今天给大家推荐一下这个九块九的 esp 三二开发版,估计很多小伙伴现在手已经有了,就是这个合奏的 esp 三二 c 三的这个开发版。 cc 三呢,作为 esp 八二六六替代的产品啊,已经出来很长一段时间了, 刚开始的时候啊,各种环境不完善, bug 无数啊,现在呢,经过各方面的完善,像这个官方 sdk 已经更新好几次了,然后我们用的各种的库呢,也开始逐渐的这个适配 c 三了。 这个 c 三呢,你看 cpu 的主屏呢,比 esp 八二六六的快,除了 wifi 以外呢,还支持蓝牙,而爱国口呢,也比 espp 二六六高,未来呢,这个 espp 二六六终将是要退出历史的舞台。 c 三的价格呢,跟椰子油二六六差不多,然后是它一个非常好的替代品,而且 c 三有一个很大的特点就是 c 三是有这个 usb 接口的,然后理论上呢,我们可以把那个 窗口转移, sb 的芯片啊,都是可以去掉的。然后呢,为什么要推荐合照的这个啊,因为这个真的是太便宜了,其实现在这种各种芯片都在涨价的环境下啊,合照的这个 esb 三二四三开发版只要九块九包邮啊,感谢你们,感谢你们,九块九包邮。这个主人真的没收广告费啊,因为实在是太良心了,不得不推荐给大家 九块九包邮啊,就是不去这个邮费以外,他成本占多少呢?要是让我卖的话,九块九包邮肯定是赔钱来的, 这个真的很厉害了,然后今天呢,我这个手里有一个他这个屏幕的扩展板,然后这个屏幕的扩展板上呢有一个五键的开关,正好呢我们可以用这个来给前两天这个动图的显示屏啊,做一个 espnow 无线遥控的遥控器,对不对? 我们把这个 espc 二的 sdk 升级到最新版了以后呢,这个开发版也就可以选择这个 espc 二十四点三的这个选项了。选了这个开发版之后呢,我们 针对合作的这个开发板,那么需要把这个弗莱什莫的这个里面选择成 dio 模式,然后这样的话呢我们就可以直接给他刷录程序了。这个呢就是这个开发板跟显示型的一个组合形态,然后这一个显示屏,然后一个五项的开关,我们给他插一个小电池。 嗯,这个显示屏呢,我测试了一下,是没有什么问题啊,然后呢我们就可以通过这个按键呢来遥控那个屏幕了,来试一下来现在这个小鸭子跳舞,现在呢我们通过这个波动这个开关呢,就可以无限来遥控这个显示屏幕的画面的切换了,哎 哎,是不是非常有意思?这个 espnow 这个无限的通讯方式呢,还是挺好玩的,就是有的时候呢会跟其他的这个接口啊有点冲突,不过我相信啊,这些东西慢慢的都可以完善的,我们现在完全都 可以先用起来,后面官方一点点都完善了,我们用的东西呢,我们做的东西呢也就跟着一点点就完善了,哎,其实非常好用,速度非常快,灵敏度非常高啊,我这个是带创口芯片的,所以是十二块九的一个开发板,他这个屏幕在加这个开发板的套餐,好像就是二十多块钱, 那我们就可以做一个带显示屏的遥控器了,哎,速度是非常的酷炫。后面呢,我们我会跟大家来分享一些这个用 esp 三二 c 三来做的一些东西, 我们也可以把之前我们用一二 p 八六六做的一些东西呢,用一二 p cs 三来重现一下,然后让之前那些诚信的更高效的让我们跑起来。好了,那我们这期先到这里,我们下期再见。

我做的这个太空人表盘好看呢?还是说华为的这个好看呢?大家来评价一下。大家好,前段时间华为的太空人表盘非常火,然后今天我们是 做了一个台湾人表盘,这上面可以显示时间,还有一些天气信息,大家看这边是温度,北京的温度还有湿度,今天的日期还有周五啊,他这个空气污染环境。 这个呢是通过诺达 mcu 做的,诺达 mcu 作为主控,然后呢控制 tft 的一个屏幕,这屏幕分泌率是二四零乘二四零的一个分泌率啊,然后是 spi 接口,然后上期视频我已经对他一个做了 简单介绍,这次咱们就把它驱动起来,然后做一个华为的太空人表盘,大家可以对比一下,和这个华为的对比一下,看哪个更漂亮呢? 是不是这个感觉更具有 diy 的乐趣呢?这个太空人表盘呢是通过使用这个阿堆 no 啊,被开发环境编写的,还有用的是椰子皮包。六六六,再看这是现在展示时间原码。

这是一个 esp 三二的一个模块,我们今天连好 usb 线,打开下载固件,打开主程序, 然后这个时候这个地方会出 e s p 呃,八二六六选 e s p 三二点, ok, 然后会出现一个 这个主界面,然后这后边的地址记住了,有很多是没有的,零乘一三个零,零乘一千,零乘一万,零乘八千。然后我们要选择一下这个文件,这个文件是四个文件 一次一次选择, 然后这里有个开始,正常这有个 pro 啊,正常的是摁 pro 还是一摁的,我们点开始,然后啊创口,创口没选对,我们把创口选一下,选正确的创口, 然后等待同步商店有的需要按一下这个键子啊,按一下这个键子,现在正在下载 好,下载完毕,窗口自动关闭,就不用管它了。然后我们打开 j 叉 w 这个呃 r f e 程序在这里啊,点击这个 要连接电信服务器,连接电信服务器,然后像我这个点这个下载,他会自动下载 到那个呃,这个 g 叉 w 那个文件夹下边, ok, 然后我们选刚才他是 com 六,然后我们点个连接,他这边会初始化一下, 然后我们这边打开 j 叉 w 它啊,它已经打开了,然后把这个关掉,然后我们现在随便选一个, 随便选组总线,然后我们这边一点,他会 打开这个机型的图纸,然后我们点一下子数据线接到这,再点一下失踪线接到这,由于这个没有接机型,那我们就 ok, 点一下扫描器件,看一下这个物件烧没烧录好, ok, 他现在这边现在出的这几个器件全都是报错的,没有通讯的啊,然后如果模拟一下子,如果有坏的或者没通讯的,点一下,很可能是这个元器件有问题。 ok, 收录完成。


大家好,我是王明杜,王老师,本节视频我们将要学习的内容是通过 e f p 三二控制二四零乘二四零屏幕的显示,最终我们将要实现这样的效果,显示海漏 想要来实现这个效果,首先呢我们的手里面有一个这样的板子,这个板子是啊,一点五四寸,就他的这个大小是一点五四寸有二四零啊,就是一行有二四零个点啊,一列有二四零个点,最终他的分辨率就是二四零乘二四零。 当前的这个图示啊是他的背面,背面上面呢有八个引脚,这八个引脚他的这个具体说明在这个地方写着啊,将来呢,我们通过飞线将这八个引脚和我们的 e、 f p 三二连接,最终我们的 e f p 三二就可以 控制他了。想要控制他,我们就要研究研究应该给他传送什么样的数据。如果你直接传送 a、 b、 c, 他肯定不会显示,那么想要让他显示 a、 b、 c, 那我们就要来看一下怎么操作。他 这个屏幕上有一个芯片,这个芯片呢叫 st 啊,七七八九也说这个芯片啊,在这个板子上面焊的,当你买了这个板子来之后,你得到的啊就是一个整体,这个整体里边就包含这个芯片,我们只需要用飞线通过 esp 的音角和他的这个音角连接在一起就可以了。 那么想要通过他让显示一个啊,内容显示到这个屏幕上,我们把数据传过去,传过去的时候呢,又因为他这个芯片是 st 七七八九,他支持的协议呢 是 ip 啊,他支持协议呢是 spi 协议啊, spi 协议,所以呢,我们这个地方 esp 三二就要传送, spi 协议,就是根据 spi 协议传送数据给他,给这个芯片,这个芯片把要显示的内容呢,最终显示到屏幕上, 那这样一来呢,我们就要需要研究 spi 协议,那 spi 协议它是一种全双工的通讯协议,有点类似于昨天我们在啊看这个幺六零二屏幕的时候呢,用的是埃芳菲协议啊, 这个屏幕我们用的是 iphone c 协议, iphone c 协议呢,呃,我们是用了两根线,最终呢就能够实现将多个数据传过去。同样的道理, spi 协议啊,它也是一种传送数据的一种通信协议啊,先传什么再传什么啊,将来 对方啊就怎么样啊这是啊,理论上讲就是这个样子啊,那么他呢是有四根线的啊, iphone c 呢两根,而这个 spi 呢,需要四根线,把数据呢就可以传送到对方啊上面去啊。简言之, 在这个地方给他传四根线啊,将来这个芯片呢,就能够收到 sp 啊,三二啊, esp 三二给他发送过去的数据。 那么这个地方我们买的屏幕不是八根线吗?那你刚刚说 spr 协议四根线就行,那那四根就不接了吗?同学们是需要接的啊,还有一些其他的功能,例如你这个 这个屏幕啊,就是你这个屏幕背光给他通电还是不通电啊,让他亮不亮啊?等等啊,所以说你买的这个屏幕不一样,最终他这个驱动方式啊,有所差距啊。但是呢,核心是只要你是通过 spr 协议来传送,那核心的这个传 数据呢,只需要四根线就可以了啊,那 spr 协议啊,分为主从,主呢就是你的 mcu, 就是我们当前的这个 efp。 三二从呢就是指的我们当前要接收数据的一方,就指的当前的这个屏幕啊, 他还支持啊,多台设备一起连啊,什么意思呢?就好比是啊,这个是 esp, 三二,这是一个屏幕,这是一个屏幕,这是一个屏幕。那将来呢,就可以将数据啊,就通过四根线可以传到他上面去,传到他上面去,传到他上面去啊, 大铁章呢,就是这个逻辑,记这个一台主可以配到多个丛啊,在这个地方呢啊,他的这个四根线啊,就是他的这个四根线。大条是什么意思?在这个位置呢,都有写啊,都有写,简言之呢,我们就要来啊, 操作这四根线就可以了。那么这四根线它大体上啊,它是怎样将数据从一个 mcu 传到我们要用的这个屏幕上的呢?同学们可以看到这个地方啊,看到这个地方 有一个 s c k, s c k 呢,就是指的时钟信号时钟。什么叫时钟呢?你就可以理解为滴答,滴答,滴答滴答,再就是时钟啊,就是我们时间的这个秒针,你也可以理解为时钟,是吧? 那么默认情况下呢,我们给他上高点压啊,这个时候呢就表示是空的,你看啊,他不会出现什么一会高一会低,一会高一会低,此时呢就认为是空钱,这啥也没干, 然后呢突然来个低电压啊,延迟一小会,然后呢再给他来个高电压,在从低电压变到高电压的这个时刻,我们称之为叫做上升演, 在上升年这个期间呢,我们控制这个 m c o 这个 m o s i 这个口啊,让它呢输出一个你想要传送的数据,例如我们用高电压表示一,用低电压表示零,那最终呢, 对方这个从机接收到的时候,他就认为,哎,这个地方呢,他读到了一个一,然后呢这个高电压啊,这个这个时钟信号的高电压延迟一小会下来,然后呢再来个低电压,当再来个高电压的时候,这根线啊,就是这根线上, 对方呀这个地方他给他来的是高电压,这个地方就收到高电压,这个地方给他来的低电压,这个地方就收到低电压,是吧?就在这个时刻收到的是一,因此第二位他也收到的是一,那以此类推,接下来在每一个时钟信号的上升点的时候, 他都会读取这个主机这个口发出去的这个电压的这个高低,他读到的是高的,那就是一读到的是低的,那就是零。因此 通过这个 s c k 控制适中啊, m o s i 传送数据,最终这个从机呢,就是你这个屏幕呢,就收到了传送的一一零零啊这样的一个数据。 那这个我们刚刚说过 spi 呢,他是全双攻啊,也就意味着呢啊,他在给他发数据的时候,这个也可以将数据发给他 啊,就说我给你打电话,不仅我可以给你说,而且呢你还可以给我说,我们双方呢可以同时进行啊,这个时候就是如果你的这个 mcu, 例如 esp 三二想要接收某一个从设备上的数据,这个时候呢, 你的 mcu 就可以读取 m i s o 这个口上的数据就可以了啊,那这个 m o s i 和 m i s o 它表示什么意思呢啊?其实很简单, m 呢,表示 master, 就是主人的意思,是吧?那 s 呢,就表示 sleep, 就是, 嗯,就是从的意思啊,翻译成大白话呢,就是一个主人,一个奴隶的意思,是吧?就是主从啊,主输入啊,这个从输出, 那主输出从输入啊,所以说呢,我们想要通过一三二控制屏幕,那你猜一猜,同学们,我们这个 mcu 是控制 m o s i 还是 m i s o 呢? 肯定是他往外发,他接收,对不对?所以说呢,我们应该是主发从收的这个啊,控制 是这个音角,那么我们最终啊,这个连接的这个物理上的这个连接线呢,它的这个效果是这个样子的啊,给大家提示一点哈, 就说买的这个版的呀,买的这个版的啊,从网上买来之后,他这个资料里边呢,很多很多,我看了好多资料,都是 c 语言的代码, 而且呢,几乎啊,我也翻遍了很多这个网站的视频,翻了好多,甚至到了这个其他的网站上的视频也去翻了一下,几乎就没有人说告诉你这个线的道理是怎么接的,就是很少啊,很少 因为这个板子啊,我当前买的是有八个银角的啊,网上呢,有六个银角的,七个银角的,有八个银角的啊,几乎呢,嗯,就没有完完全全我想要的,但我现在呢,想要告诉你通过 esp 三二和这个二四零二四零的这个 屏幕连接是怎么连接的?首先我找了啊,八根这样的一个排线,全部给他顺序依次插上,从这边数啊,从这边数是一二三四五六七八 啊,你怎么区分哪一个是一,哪一个是八呢?你可以看一下他的这个背面,他背面呢,这个银角旁边写着 gnd vcc 这样的一个名字,对应一下哈, 一的这个地方,它的是真音地,然后八的这个地方是 b l 啊, b l 呢,就是白 clight, 就是背光的意思啊,就说你这个屏幕将来是否给它显示背光啊,就是能不能看得见啊,啊,就是指的是这个啊,那么 根据啊,你差的这个顺序不同,以我当前差的这个顺序为例,那接下来呢,分别接到了这个 e f p 三二的哪个阴角呢?可以看这个地方啊,可以看这个地方,那你会 别说了,哎,王老师啊,我们为什么呃这些引脚要接这些引脚呢?在这个地方给大家说一下 esp 三二呢,它有四组 spi 设备啊,就是你可以控制 spi 零, spi 一、 spi 二以及 spi 三。 那当前呢,我们啊,有一些呢是不能用的啊,有一些是不能用的,就说这个引脚你不能随便查,我通过查看了 e f p 三二它的这个引脚的说明,最终呢确定好了我将来要用的是哪一组? e f p 三二,最终我发现我想要控制这个屏幕呢,我就应该这么查, 那在这个地方对应的屏幕上呢,我是用的 spr 二啊,一共有四组,其中有一组呢,你是不能用的啊,啊,至于为什么呢,你也可以查看一下他的这个官方成分啊,有一组呢,你是不能用的,所以说呢,在三组当中呢,我就 选择了第二组,第二组他的引脚的连接方式啊,他的引脚的连接方式就是这种连接啊,连接好之后,将来你给他通上电,默认情况,这个屏幕啥也不显示,因为你并没有把数据传送过去,所以说呢,他就什么也没有啊, 想要让这个屏幕亮,那我们接下来呢,就要开始啊,看代码了是吧?想要让这个屏幕亮,我们需要给他传送啊,数据 传送数据的时候呢,我们说了,我们这个屏幕的芯片是 st 七七八九,所以说接下来我就到网上查了好多的 st 啊,这个七七八九的这个拍粉,特别是以拍粉肺源的, 嗯,这个满大街都是啊,我就以说这个拍层为例。那找这个库呢?最终啊,在 github 上找到了这个库,大家可以点一下,点一下之后呢,你打开的这个页面,打开了这个页面其实就是这个了, 在这个里面呢有个 l i b 文件夹,在 l i b 文件夹就是 lip 啊,这个文件夹当中有两个文件,你可以把这个文件的代码给他下载下来就可以了啊,下载下来什么意思呢?我们要 控制这个屏幕的显示,我们并不能直接发数据给他,因为你得去研究 stc 啊,这个 st 七七八九的这个芯片,他的这个芯片手册, 那我们去研究完呢,估计也就猴年马月了。所以说呢,我们就直接用网上的一些啊,开发者分享的这个驱动库就可以了。所以说当前在 github 上这个啊,你可以点 code, 点 download, vip, 把它呢全部下载 啊,把它全部下载,你下载完之后呢,把它解压啊,你会得到一些这个私立代码,还有一些库。最终呢,在他的这个文件夹当中 啊,在他的这个 lrb 文件夹当中就有这个 st 七七八九 py 的 py, 把这个代码复制一下,把这个代码里边的内容复制一下,然后呢找到我们的 following id, 打开它之后 把这个代码粘进来就可以了啊,把这个代码粘进来,粘进来之后呢,大家要稍稍注意一下,可能我买的这个板子的原因,可能就是可能我买的这个啊屏幕的原因,当我把这个 st 七七八九 pyt py 这个代码放进来之后啊,按照他的这个文档啊, 他的这个地方有一个文档,你点一下,他就会打开这个 st 七七八九 py, 他的一个使用视力,按照这个视力呢,我就操作了很多遍,最终这个屏幕就是不亮 啊,我当时我有有一点,哈哈,是吧,想要把他干碎的这个心情啊,就此货他就是不料。那最终呢,还是在网上查资料,又查到了另外一个原因啊,另外一个原因说什么呢?需要去对他进行解决一下, 所以说对于我当前这个屏幕哈,我是这么解决的,可能你买的屏不一样,那最终呢,你可能就适当的要修改一下。呃, st 七七八九 pr 的 py 找到 大约二百零四行,二百零五行有一个 self 点 hard reset soft 啊, reset, 把这两句话给他注视掉,他默认是没有注视的,给他注视掉啊, 注射掉,这是第一步,第二步呢,再从网上去下载另外一个开发者写的 st 七七八九的驱动啊,他的这个链接地址呢?我已经 放到了这个位置啊,通过我的网站下载即可。下载下来之后新建一个文件啊,就叫 st 七七八九,把这个代码放到里面去,那减研制到现在我们做了准备工作, 两个文件,一个是 st 七七八九 py 的 py, 一个是 st 七七八九点 py, 这两个文件都有了,连线也连好了,那接下来该怎么办呢?看到我这个地方 啊,看到我这个位置写了个代码啊,这个代码呢叫零八杠二四零乘二四零啊,你该导入模块的呢,该导入的就要导入哈,那么第一步的时候应该怎么做呢?注意了哈,他的这个就是我们先说 最开始的时候啊,我们不是要下载 s t 七七八九 p y 的 p y 吗?它的这个视力当 中啊,这个地方你只需要导入 s t 啊,七七八九 p y 啊,就 s t 七七八九 p y 这个模块就可以。但是呢,这个模块当我直接导进来之后,就是你第一次让这个屏幕亮的时候,它不亮,所以说解决方案呢, 刚刚说过了,把这两行注射,然后把这个 st 七七八九也给他导入,导进来之后加上一句这样的话, 那这句话的主要作用呢?就是对这个屏幕进行初始化啊,它里边也有控制方式,只是我们没有用它,因为它的这个控制方式呢简单一些,它呢复杂一些啊,也就说这个呢,它能够让屏幕亮了啊,就是第一次的时候亮 啊,这个呢,第一次是说他不亮,所以说这个我们让他亮之后呢,你就可以不用再导入了,如果你断电你再来, 那这就意味着第一次你还需要再导入,还需要再执行啊,那么这个库啊,它里边呢,能够显示啊,这个文字,画线、画矩形啊、旋转啊,以及显示图片,他都可以,因此呢,我用的是他啊,第一次的时候我用的是这个, 他能够显示一些基本的东西啊,而这个呢,对他进行了升级啊,所以说我们用这个啊, ok, 那接下来就关系到这个地方的这个说明了啊,就关系到这个地方的说明。来,我们解释一下第一个, 第一个创建了个对象, spr 对象,你用的是第几组啊?我们说过了,一共四组,我用的是第二组,所以说这个地方呢,我就写了个二啊,你不能写其他的字啊,零一二,这是可以写的是吧?你写个十五肯定不行,那这个呢,表示的是这个传送的速率啊,传送的速率写了这个当前是写了多少 呢?这是 k, 这是兆,这是八十兆,也就说意味着当前啊,当前我的这个设备啊, 当前我这个设备从这个地方啊,往这传送数据的时候,它这个频率呢,是八十兆啊,八十兆就是指的这个速度, 那么我们接着往下看这个位置呢,有一个 dc, 有一个 cf, 还有一个 ist, 这个的说明和这个课件上是一一对应的啊,大家只要这个地方是这么接的,那接下来你去写这个代码的时候,他就是这么一种对应关系啊, d c 啊,我们可以找到 d c 接的是哪一个呢? g p l 二,这个位置就写二啊,再看 c f 啊, c f 是接的哪一个呢?接的是五,好,我们就这个地方就写五,那 reset 呢,就相当于复位啊,是十五,因此就写它, 就这么个意思,那这个 c l 啊,这个 s c l 和 s d a, 这个接的是十八和二十三,这个和你用的是第二口有关系哈,就说你用的不是第二口,这两个就要改,懂我意思吧。啊? 这个呢,是个背光啊,就给他通电还是不通电?这个这个还有这个就是零五零六零七啊,这是需要啊,也在程序当中给他说明的, 同样的在这个地方呢也需要进行说明一下,只不过呢这个地方这个名字啊,不要写错了啊,那具体为什么要写这个名字?那你就要看这个 st 七七八九 py 的 py, 它里边这个地方是吧?它的命名参数它是怎么写的啊?它这个星探的名字,假言子, 这这个代码就这行代码是你第一次给他通电的时候,向上亮的时候,你需要 要用这个,如果你这次给他通上电了,在未来的一小时你都不会给他断电,这句话呢,就可以不写,可以把它删除掉,懂我意思吧?那么 接下来这个真正的创建了一个对象,这个 tft 你也可以给他起别的名字啊,你也可以给他起一个叫 display, 这个都可以,他呢就意味着就我们当前的这个屏幕了,那这个屏幕我们将来想让他显示什么呢?我们看几个视力,这一个 tft 点 fail, fail 呢就表示填充,此时给他填了个零,那零是什么色呢?零就是黑色啊,我们运行一下程序,零呢就是黑色啊,当前啥也不显示,那我们再换一个值,比方说换一个一百,看看一百是个什么色呢?

这一节课我们来学习如何使用 esp 三二开发板通过 spi 控制 oled 液晶屏。 那 spi 是和 iphone c 类似的一种同步全双工通讯协议,来自主机或从机的这个数据,在时钟上升年或下降年同步 主机和从机可以同时传输数据。 spi 接口呢,可以是三线式或者四线式,还有单线式,还有双线式。咱们这个屏幕呢,他就是三线式,但是使用方法和四线式的并没有什么区别。 产生时钟信号的器件呢,被称为主机,主机和从机之间传输的数据和主机产生的时钟同步。与 iphone c 接口相比, s p i 支持更高的时钟频率。之前我们说 iphone c 的时候啊,说 iphone c 只用到了芯片两根线,对不对?而 s p i 它需要用到四根线。先是 m o s i, 这 m o s i 是什么意思呢?我们可以这么理解啊,这 m 是 master, 也就是主主机。 o 是 output, 也就是主机输出。 s 是 slave, 也就是从机的意思。 i 呢是 input, 就是输入。 m o s i 呢就是主输出从输入。 m i s o 呢,就是主输入从输出。还有就是 i c k i c k 是时钟信号由主设备控制发出。 再就是这个 cs 或者是 nss, 但是从设备选择信号由主设备控制,当这个 cs 为低电屏时,表示选中了这个从机。 三线的 spi 呢,它是没有 m i s o 或者是 m i s o 与 m o s i 是贡献的。对于咱们这个液晶屏来说,三线已经足够了,对不对? 因为液晶显示屏并没有什么数据需要回调。为主机 spi 接口呢,只能有一个主机,但可以有多个从机。这张图就显示了主机和从机之间的 spi 连接。 mosi 是数据线,每个机器都有。接着是片选信号线,也就是这三个 来自主机的偏选信号,用于选择从机。这通常呢是一个低电瓶,有效信号拉高时,从机与 spi 总线断开连接。当使用多个从机时呢,主机需要为每个从机提供单独的偏选信号, 你可以把他们想象成我们做的四位数码管实验,是不是很像片选线是不是相当于我们数码管实验的未选线?接着我们说说啊,这个 iphone c 和 spi 的区别。首先 就是这个接线数量, iphone c 只需要两根信号线,而标准的 s, p i 呢,至少需要四根信号线。如果有多个从机设备信号线呢?需要更多一些 s p i 变种。虽然只用到了三根线, i, c, k, c, s 和双向的这个数据线, 但是 cs 线呢,还是要和从设备一样,一根对一根。如果应用中必须使用高速数据传输,那么 spi 是你必然的选择,因为 spi 它是全双攻偶,而 iphone c 呢,它是半双攻。 spi 没有定义速度限制,一般的时限通常能够达到超过十兆。 iphonec 最高的速度也就是一个快速模式,是一兆和高速模式,就是三点四兆。但是 spi 它有一个非常大的缺陷,就是没有标准的一个协议。 spi 就比较混乱,单线、双线、 三线、四线式都有,就是因为没有标准的协议,所以衍生出了多个版本,但是使用起来呢,并没有什么差异。 接着就是 oled, oled 就是有机发光二极管,由于同时具备自发光,不需要背光源,对比度高、外观轻薄、视角广、反应速度快、可用于曲面屏使用、温度范围广等特性,被称为是第三代显示技术。 l、 c、 d 都需要背光,而 o l e、 d 它是不需要的,因为它是自发光。同样的内容呢, o l e、 d 的显示效果要比 l c、 d 好很多。以目前的技术啊, o l e、 d 的尺寸还难以大型化,但是分辨率却可以做到很高。 我们今天要用到的这个屏幕是零点九六寸的 ssd 幺三零六芯片驱动的 oled 显示屏, 它的分辨率是一百二十八乘六十四,意思就是横向有一百二十八个像素点,纵向有六十四个 安娜有七个银角,注于三线 spi 接口,但是你可以根据原理图改变电阻的位置,把它改装成四线 spi 或者 iphonec 接口,咱们动手能力强的小伙伴可以去试试。 接着我们说说他这七个引脚的含义哈。首先从左到右,第一个接地,接地,接地吗?对不对?第二个 vccvcc 就是接电源正,接着是地灵,地灵也就是 spi 中的 ick 时钟引脚。 接着是第一,第一就是 mosi 数据音角。再接着呢是这个 r e s r e s 也是复位音角,它是低电平复位倒数第二个是 d c, 它是数据和命令控制音角。 最后一个 cs, 也就是片选信号的引脚。了解完 oled 和 spi 的原理之后,我们就可以搭建电路了。我们最终想要实现的是用两个按键控制这个屏幕上显示一个菜单的一个上下移动。 所以我们需要用到的材料有一个。这个零点九六寸的 oled 屏幕,两个按键,还有就是面包板和这个跳线, 然后这个屏幕的 d 零是时钟线接第十八阴角,第一呢是 mosi 线接第十三阴角,然后 dc 接第二, cs 接第四, res 接第十五,按键呢一端接 gnd, 另一端接 gpl 引角就第十二和第十四。 接着我们就可以看看我们的程序设计了哈。如果想要使用 ordinal 控制 ssd 幺三零六驱动的 oled 屏幕的话,咱们可以使用以下两种第三方库,第一种呢就是这个 ida flutssd 幺三零六,它是专门针对 ssd 幺三零六驱动的 oled 屏幕的显示图形库。 第二种就是 u 八 g 二库,安娜是目前 r 这个平台上使用最广泛的 oled 库。 咱们先来讲讲怎么使用这个 ida fruit s s d 幺三零六。想要使用它呢,我们还需要安装一个,它的基础就是这个 ida fruit g f x 啊,定义了一系列的这个绘画方法,就比如线了,矩形了,圆等等。 而这个 ida pro s s d 幺三零六呢,它则是定义了一系列跟 s s d 幺三零六相关的方法,并且重 写了这个 ida f 的 g f x 中的做 pixel 方法,也就是画点的这个方法。这个做 pixel 这个方法非常的重要啊,因为咱们这个屏幕说白了其实就是由无数个像素点来组成的, 画线就是由无数个在同一条直线上的点组成的,而画矩形呢,是不是就由四个线组成,而圆呢也是由这无数个点来组成的。所以我们在屏幕上显示的内容呢,本质上呢就是填充一个一个的点, 接下来我们就可以来学习 s s d 幺三零六的构造方法和使用方法了,这个 s s d 幺三零六呢,它包括 iphone c 和 s p i 纵线两个版本,所以针对不同的版本呢,又有对应的这构造器方法。因为我们的 o l e d 屏幕, 我是这个 spi 版本的,所以呢我们就直角 spi 总线的构造方法。 spi 总线呢,也分为两种,一种是软件模拟 iphonec, 它的好处就是咱们可以使用任意的引角。 第二种呢是硬件 spi, 这个硬件 spi 呢,是咱们这个硬件设备自带的 spi, 我们看他们两个构造方法区别是什么啊?第一个都是 w, w 呢都是宽度,也就是屏幕的宽度,接着呢是 h h 就是高度对应的 hat。 第三个就出现不一样了,软件 spi 用的是 msi 和 slk 这两个,也就是我们可以随意设置这两个引脚。而应届 spi 呢,他指定了地址,我们需要使用这个对应的引脚。接下来三个呢,都是 dc reset 和 cs, 这三个参数 数就没什么区别了。使用软件 s p i 构造对象的话,我们看怎么写啊?首先就是导入 s p i 图文件, idafoot g f x 图文件和 s s d 幺三零六图文件。然后我们定义这个屏幕的宽度和高度, 再定义软件 spi 总线需要用到的这几个引角, msi 啦, clk 啦, dc cs reset。 最后就可以构造对象啦, 我们先前面声明这个类,然后声明咱们这个对象的一个名字,我们就给他叫 oled。 括号里面呢就填写对应的参数,比如对应的宽度,高度, m o s i 引角, c l k 引角和这个 d c reset c s。 你还需要明白一点,就无论是什么 led 屏幕啊,它最终都可以抽 出现为这个像素点点阵,想选什么内容呢?就把具体位置的像素点亮起来。比如咱们这个屏幕,他就是由一个一百二十八乘六十四的像素点点阵组成的。这个点阵呢,也有一个自己的坐标系, 在坐标系中呢,左上角就是坐标原点,向右是 x 轴,向下呢是 y 轴。 那我们接着来看这个硬件 iphone c, 它的定义方法呢,相对简单了一点点,这个 s p i 在参数这里呢,它就传了一个 s p i 对应的一个壁纸, 无论你是通过 iphone c 还是 spa 构造对象,然后无论你是通过这个软件模拟的方式,还是通过硬件方式来构造对象呢,接下来这些方法都是一致的。首先就是这个 clear display, 它是 清除显示,但需要注意的是啊,这个方法呢,他仅仅是清除了耳钉头的缓存,不会立即显示在屏幕上,可以通过调用 display 来立刻清除。 接着就是 display 方法,他就是显示内容,而这个方法呢,才会把这个你绘制的内容给显示在屏幕上,也就是非常的重要,你不使用它的话,其他的函数你使用的再多也都没什么用。 所以呢,如果你不使用 display 方法,像咱们这下面这些这个状,这个绘制空心圆,绘制实心圆,绘制这个三角形,圆角方形,圆角矩形这些什么的,绘制单个字符都是没有意义的, 你只有在绘制完这些之后,再调用一下上面这个方法才可以再来看下一页,当然我们也可以 在屏幕上输出一些这个文字,对不对?那你这文字呢,是不是可以设置一下大小,设置字体了,还是设置光标的位置,光标的位置呢,就表示你这个文字是从哪一个位置开始输出,然后这个设置是否换行绘制像素点,这个呢就是最重要的方法, 接着就是绘制水平线,数值线,然后滚动什么的。当然这个绘制方法有很多,咱们这里列举出来的呢,也只是一小部分,还是要根据你的实际情况来确定要使用哪些函数。 了解完这些使用方法和构造方法了,我们就可以来写一个简单的程序了。那刚才讲这么多,其实使用步骤的话也就一目了然了,就是咱们需要先初始化这个 oled 对象,然后调用这个构造函数,接着调用一个笔根方 法,第一步如果没有报错的话,咱们就出示成功了,出示成功之后,我们就可以调用咱们这个绘制类的函数,比如你可以画个圆了矩形了,设置一下字体的颜色了,字体等等。最后绘制完成了,我们就调用这个显示类的函数,就 display。 接下来我们就通过程序来展示一下不同的方法,它的一个效果,打开我们的 vs code, 选择我们的 platform io 插件,这里有一个 open, 我们打开这个 p i o 主页, 然后新建项目,先输入我们的项目名称,比如我就叫它 s s d 幺三零六杠 display。 接着呢我们就选择我们的开发版,就是 e s p 三二,然后 def model, 就是选择乐新的这个啊框架呢,它默认就是 altino, 最后就选择这个位置,选择一个你这个代码要存放的一个位置就行,比如我放到地盘目录下的这个桌面中的这个 aldino programs, 放到这里就 ok 了,现在我们就等待他这个项目的初始化, 初始化完成之后,我们可以先看一下这个 pythome i o 点以立的文件,这里我们看啊,他现在只有这个三行,一个平台,一个开发版和一个开发框架,对不对? 我们刚才也说了,如果我们想使用这个 ssd 幺三零六的话,是不是需要安装一下这个 ida frutsd 幺三零六和这个 ida fruit gfx 这两个第三方库,对不对? 我们就继续打开 p i o 主页,选择 libraries, 在这里也就输入这个 ida fruit 杠 s s d 幺三零 六,我们看啊,这个 ida prote s s d 幺三零六,这个 by ada prote, 这说明就是这一个了,我们就把它下载下来,放到我们的这个项目中,点击添加。 接着还有啊,还有第二个就是 g f x 这个库,我们看这里啊,这个 ida frut g f x library, 把这个下载下来添加, 把这个添加到我们的项目中,然后我们再来看一眼这个 platform i o 点 ene 的文件是不是多了这个三行,就这个第三方库依赖 分别是这个 ida fluta s s d 幺三零六和 g f x library 这两个现在我们这第三方库就安装好了,那我们就接着 写代码呗,这些没用的地方呢,就可以删掉 咱们这第一行这个 include rdno 点 h, 这个可留可不留,不留也不影响,那咱们就先导入对应的头文件呗。 include 使用的 spi 协议,所以就 spi 点 h 头文件必须得导入吧。继续, 那 ida prot 杠 gfx, 那也得导入吧。最后一个需要导入的就是这个 ida prot 杠 sd 幺三零六, 导入完所有模块之后,我们就需要使用红定义来定一些变量了,比如我们需要定一下这个屏幕的宽度和高度,还有就是这使用到引角,那我们直接叫 y 字吧,好吧, w e p h。 宽度是一二八, 接着定义底饭艾特,高度呢是六十四,再定义需要用到的引脚,底饭,引脚是这个 m o s i 我们叫 o l e d m o s i 吧。 o l e d 杠 m o s i。 十三, o l e d 杠 c l k 也就是 i c k 引角 s c k 想叫什么叫什么都可以啊,只是一个变量名。十八、接着底翻 o l e d 杠 e c l c。 把这先写完。 o l e d 杠,这个 c s 最后一个就是 led 杠 reset, b c 对应的引角是二 c s 呢?对应的是四 reset 呢?对应的是十五。我们给大家在格式化一下,那接着我们就可 可以构造对象了,构造对象的话用的是这个 ida frut 杠 ssd 幺三零六,然后就是这个对象名 oled, 我们就叫他 oled 常用参数呗。外字艾特, 如果你不知道该写什么参数的话,我们看啊,这里我们会有一个显示,或者你可以点进来咱们这个类,你可以点进来这个类查看一下对不对? 我们看这里就是宽度,高度 m s i i c k d c reset 和这个 c s 钢片, 那你怎么跳转过来呢?就是按住 ctrl, 然后选择你想要查看的文件就可以了。比如我现在按住 ctrl 选择这个 ida fold s c d 幺三零六,咱们就跳转到了这个 ida flood s c, d 幺三零六这个头文件中的对应的这个内容,你也可以 通过这个方法呢来查看这些头文件宽度、高度。有了我们接着杠 m o s i o l e d, 杠 s a k o l e d, 杠 e c, 杠 reset, 最后是 o l e d 杠这个 c s。 构造对象我们就写完了,接着就是这个初始化呗。初始化咱们这个 o, l, e, d。 对象的话,要使用的是 o l e, d 点,先是 begin, 之后就是 o l e, d 点 clear display, 我们先清除显示 一行呢,就是 o l e, d。 初始化,清除显示之后,比如我们现在想先绘制一条水平线吧,绘制水平 灯线,我先把我的摄像头打开啊,未知水平线的话就是 o l e d。 点 draw 水平就是 horizontal, 就 h。 那第一个就是了,这个 draw fast h line, 他需要传什么参数?我现在还不知道对不对?那没关系,你就可以把鼠标放在咱们这个函数名上,他就会告诉你我们需要填写什么参数, 或者呢就按住 ctrl 选择这个方法,咱们跳转过去看一下,就是这里,对吧?我们看啊,它上面这个注释里面已经给我们写了这个 param 的意思就是 parameter 的缩写,意思就是参数, 它的参数有什么?第一个是 x, x 就是它说最左边这一列的坐标, y 呢,是这个长的坐标, w 呢,就是这个线的长度,单位呢是像素最后一个 color, color 是表示咱们这个线的颜色,我们可以写成是 s, s d 幺三零六杠 black, 或者 s s d 幺三零六杠这个 white, 或者呢是 s s d 幺三零六杠 inverse, 这三种方法我们任选一个即可, 这个 return 就是返回一个按,也就是什么也不返回,那我们继续回来写我们的函数, 第一个需要写的是 x, 我们给个多少号呢?嗯,那我们就给个三十二吧,反正随便写的对不对? x 你肯定不能超过一个一百二十八,然后 y 呢?你肯定不能超过一个六十四,对不对? 因为咱这屏幕的话就是一个一百二十八乘六十四的一个像素点点阵,我们第一个点呢是三十二,我们这条水平线的最左端,他的 横坐标是三十二,纵坐标呢是五,长度呢,我们给他一个四十八。颜色呢?我们看啊,现在这里是不是也有提示颜色就是这个 s c 幺三零六 gun black, white 或者 inverse, 咱们这屏幕目前是个黑底,所以我们就直接写成是 s c d 幺三零六杠外头就行了。 咱们先让它显示来看一下显示内容,显示内容的话就是 o l e d 点 display, 因为咱们没有什么内容需要循环显示的,所以这个路虎函数呢,可以为空打开我们的摄像头,连接上我们的这个开发板,这里一个 com 四,我一选择他就连上了,然后就运行咱们的程序,你可以在 右上角选择这个 upload, 或者是左下角这里有一个 upload, 或者使用快捷键 ctrl 加 alt 加 u, 因为这是第一次咱们捎入这整个项目到开发版里面,所以呢,他的编译时间可能会有点长,但是咱们第二次或者第三次再上传的时候,他就会快很多了。 我们看啊,我们这个屏幕现在是不是就显示了一条水平的直线?我们接着就在这个 o l e d 点 display 方法的 上面就继续绘制我们想要的图案。现在呢,我不想绘制这条水平线了,我想绘制一条斜线,那就 o l e d 点 draw line, 它的参数怎么写呢?我们继续放到这里来看一下, 咱们看啊,它的参数有这个一二三四五五个, x 零、 y 零、 x 一 y 一和这个 color, 我们从名字上基本上可以看出来,对不对?那 x 零和 y 零就是这条直线的起始点的一个坐标呗,那 x e y 一就是这个终点的一个坐标呗。那 carlana 我们就继续使用 s s d 幺三零六杠 white 就行吧, 所以我就任意给他一个数,比如来一个三十二五,初始电的横坐标是三十二,纵坐标是五,接着 是终点是横坐标四十八,那纵坐标呢?是三十,颜色呢就是 s s d 幺三零六杠 white。 我们再上传这个代码,我们继续编译上传这个代码, 咱们看这一次他是不是就基本上跳过了大部分的一个编译的过程, 哎,我们现在屏幕上也显示了这个斜线,而且拿上传的速度比刚才也快了很多。 现在直线的方法我们使用过了,我们再绘制一下其他的图形,比如画一个句型,那绘制句型的话就是 draw rectangle 了,句型的英文名字呢是 rectangle 了,简写 它就是 rect, 那它的参数有什么呢?鼠标放在这里,我们看它的参数也是有五个, x, y, w, h, color, x, y 呢是这个矩形左上角这拐角点的横字坐标 w, h 呢,分别表示它的宽和高。 卡着呢,咱们就继续使用 s, s, d 幺三零六即可。那现在我们给大家画一个句型横坐标,五纵坐标呢,也是五,宽度呢?十,高度呢?二十五,颜色还是 s s d 幺三零六杠外套, 咱们这里绘制的一个句型呢,它是一个空心句型,对不对?接着我们再来绘制一个实心句型,实心 音矩形的绘制方法呢,就是 feel, feel 这个 rect 使音矩形,我们给他一个横坐标是七十五,坐,坐标呢是五,宽度是十,高度呢?是三十,颜色还是这个 s, s, d 幺三零六杠 white 运行,我们来看一下, 咱们看咱们这屏幕上是不是就出现了左边一个通心矩形,右边一个实心矩形, 那你现在空心句型,实心句型就画完了,那你这空心圆,实心圆什么的是不是都可以?空心三角 是银三角什么的都可以自己去试试了。接着呢,我们就在屏幕上显示文字,首先你需要明白啊,使用这个 ssd 幺三零六这个第三方库的话,我们是没办法显示中文的,除非你自己一个一个画点,然后让它显示在屏幕上 print line, 比如我们就显示一个 hello word 吧。首先呢你需要明白一点,咱们这个 print line 这个方法呢,它没办法显示中文的,你只能显示一下英文。 当然你也可以通过使用这个 draw pixel 这个方法来绘制这个汉字的一个一个的像素点,让它在这屏幕上显示,我们先来运行一下看看。 我们现在看啊,咱们这个文字好像并没有显示出来,这个原因是他这个字呢,默认的颜色是黑色,也就是与咱们这个屏幕的底色是一致的,所以我们需要先设置文本的颜色。 设置文本颜色的函数,我们刚才讲了是 o, l, e, d 点 set text color, 那颜色是不是该写成这个 s s d 幺三零六杠外头呢?我不确定,所以我们可以把鼠标先放到这里来看一下, 他没说的话,那咱们就可以写成是 s, s, d 幺三零六杠 white。 接着我们重新 运行下看一看。 现在我们看啊,这个屏幕的左上角确实出现了这个 hello word 这两个单词, 但是这个位置我不想让他出现在这里,我想给他改一个位置。那改位置的话,说白了其实也就是更改一下光标的位置, 更改了光标位置也有,相当于更改了文本要显示的一个初始的位置,那就是 oled 点 set custer。 他的参数我也不知道该怎么写。鼠标放在这里看一下 x 和 y, 只需要传入两个值就行了, 有一个坐标值,我给他一个五横坐标,给个五纵坐标呢,我们给个五十,继续上传看一下。 我们看啊,这个 hello word 这行字是不是就出现在了屏幕的下方? 但是这个字看着好像有点小,我们也可以更改一下这个字体的大小啊。设置字体大小的话,我们使用的就是 size, text size 大小怎么填? 不知道的话你可以看啊,参数他说了,一就是表示这个六乘八的一个格子,二呢表示 十二乘十六,三呢表示十八乘二十四,然后等等,也就是说一是最小,然后递增,我们给他一个二运行。 咱们看这个 hello word 是不是就显示在了屏幕上,但是因为它的字体变大了,所以就没办法显示完全, 因为咱们屏幕总共也就一百二十八个像素点这么大,如果我们使用二这个级别的字体的话,他就会导致显示的字符长度超过一百二十八,从而导致后面的内容显示不完全。

这个屏幕最近肯定又可以水好几期视频了。大家好,这里是爆改车间,主人今天又来给大家挖坑了,这两天呢,又找到了一个巨好玩的 led 屏幕, 这个从某宝的这个捡垃圾店里面买来的这个二手的 rgb led 显示屏,这可比咱们之前玩过的那些 led 举行屏的分辨率要高多了啊, 上面全都是阿基地的灯珠,九十六乘以一百二十八的,看这个样子啊,应该就是大街上有那种背包的那种广告屏的那块屏幕和这么大一块阿基地的 led 这个瓶,这个才六十块钱,性价比已经到头了。他原厂的这个电路板是是这个是一个四 g 的这个模块,然后有的人说这个还能延续到厂家,然后重新发回厂家重新用用四 g 来运行的,我觉得对我来说这个就没有什么意义了,因为这个屏呢,我看接口是 sub 七 五亿,然后呢,我就用下有适配 esg 三二的这个驱动裤,顶部其实是两块这个十九乘以 六十四,然后三十二扫的这个屏幕啊,然后二乘一的一个矩阵,但是他这个电路不知道什么情况啊,就是这两个矩阵的拼接的怪异,然后第一块是这个和这个, 第二块是这个和这个,真的这个疯了,所以呢,需要对这个库啊进行消费加修改才能正常显示,绝对就没有什么问题了。 插上电,现在呢,其实是已经让他运行起来了,这个屏闪是摄影机,跟这个屏的刷新率不一样,所以会有这个屏闪,那我们用肉眼看是没有完全没有这个屏闪的,然后非常舒服的一个效果,我们用的这个屏幕驱动库啊,虽然说它那个显示驱动的是那个阿拉夫的 gfx, 但是 他这又法怪异啊,没有办法连接在那个又八 g 二的那个中文字库上,所以呢,主任去找了一个那个支持优内扣的编码的那个 fcs 酷的那个分支,然后但是那个优内库的字库太大了啊,然后又我们又把那个库啊改了一下,改了只支持这个 gb 二三幺二, 那这样的话呢,哎,我们把这个中文支持啊也完全都搞定了,这样的话呢,我们这个中文支持也没有问题了,几比二三幺二的这个字库啊,完全是有了 现在,现在这个给这个屏幕单独制定的这个驱动库,中文显示字库就完全都搞定了,这样的话我们基础工作就搞定了,下一步呢,我们就看怎么把它玩起来了, 然后至少我觉得这个瓶我们拿它来做一个,哎,日历是很酷的,对不对?这个现在是一个假的,我就是然后试了一下效果啊,刚好昨天赶上我姑娘过生日, 然后我拿他做了一个灯牌,是不是也很酷?我们之前不是用这个做这个太空人手表的那一套东西吗?然后改不改完放在这个上面,这个时钟不就出来了?嗯, 然后根据他原来的原来板子上的这个电路的话,他就做了一块 pcb, 一个夜思天二的 pcb, 到时候直接焊在这个上面,就跟,哎,就跟这个一样,在这样焊就 需要插这么多线就完美了。现在那块板呢,还在路上,没有到主人今天的坑呢,就先挖在这了,这个屏幕最近肯定又可以水好几期视频了。好了,那我们这期先到这里,我们下期再见。

现在是这个效果展示啊,首先我给大家说一下我刚刚做的这个是一个呃什么什么东西,它呢是一个 e s t 三个二杠开 more 加上一个 oled 的显示屏,加上一 dht 幺幺组成的一个夏威基,然后呢他会实时的采集这个图像温湿图信息,然后显示在这个欧莱的屏幕上,然后欧莱的屏幕同时也会 显示这个呃 e s s 二的一个 ip 地址,然后供我们这个尚未及软件来进行一个监控。然后我们现在来看一下尚未及软件,尚未及软件我同样在马云上级开源了。 然后呢这个上半部分就是展示显的这个呃图像采集的一个部分,然后下边这一部分呢是这个呃天气预报的一个部分,然后呢这个图像采集是可以选择清晰度的, 包括这个封面越高的清晰度越多,容量就越高,当然了,清晰度越高他就越卡,我这个延迟是一百毫秒,然后也不算太卡,也不算太快吧。 嗯,我们再看一下天气预报部分,天气预报部分呢是呃我调用了高德地图的, 然后这是一个发展功能,嗯,然后很多小伙小伙伴都问我 是在这个给他意义开源的,我们公司会把这个简介部分呢放我这个当前项目的一个呃网址,然后大家可以直接点进去,然后 到自己的仓库,然后再进行这个 get, 这样的话就把原码呢整个的下载下来了。这个原码中呢是有这个呃下尾集的代码的,这是下尾集的代码,是 esp 三二的。然后外面这一层呢是这个上尾集的代码, 这是我们的单,然后这是一个开源部分,然后刚刚的一个网络摄像头和那个天气预报的模式调入了高德地图一个 api, 这里呢是一个呃平台,然后有我自己的 key, 包括这里面又可以实现很多功能,然后我 只有一个天气预报。
