以下文章来源于:公_众_号开源电子网
读取更多技术文章,请扫码关注

OLED如何播放badapple

前言

badapple早已红遍全网,很多时候都是使用ESP系列板子来玩,使用OLED屏幕方式播放得多。很多人也比较好奇,怎么在OLED屏幕上播放出badapple。简单来说,就是badapple的小视频片段弄成一帧帧的数据,然后我们通过获取帧数据,进而显示在OLED屏幕上,只要这个间隔时间很短,最终我们就感觉像是流畅播放的效果。

这里,我们以精英版寄存器版本的汉字显示实验例程为模板,需要一张SD卡,以及一个badapple.bin文件(附件提供)。badapple.bin文件存放的是badapple视频片段的帧数据。我们利用的是文件系统对文件的读取操作,很方便的进行帧数据的获取并且把数据显示在OLED屏幕上。
跟着我的脚步,5步实现badapple视频播放。

工程文件链接:
https://pan.baidu.com/s/1g1TOD-RKkkRl60jDTFZ83g
提取码:zdyz

第一步:将badapple.bin拷贝进SD卡根目录下,如下图所示:

(注意:这里我们需要记住存放位置,后面工程需要通过路径找到改文件)

第二步:打开工程,进行oled文件添加并且删减一下main函数代码。

1,添加oled.c到工程,oled.h路径工程已经添加到include_path里。
2,把原先main函数的代码删减成上图并且进行oled初始化。while循环里就执行badapple_play函数。

第三步:编写badapple_play函数。(重点)

这里涉及FATFS模块提供给用户的一系列应用接口函数,f_open,f_lseek,f_read。这些函数用法比较简单,大家可以通过正点原子教程查阅一下使用方式,这里就不作展开。

第四步:编写oled_draw_bmp函数以及微调oled的配置参数(OLED_Init函数)跟前面推文的是一样的,修改一下扫描方向。

oled_draw_bmp函数如下:

这里我们并没有用OLED例程的方式通过一个GRAM大数组一次性刷写,而是直接写入OLED的GRAM里。
微调oled的配置参数如下图所示。

第五步,编译下载,看badapple视频播放。

OLED如何播放badapple相关推荐

  1. 炸裂!上手三天,就在开发板上播放BadApple, 还是Python香

    在二次元圈子里有这样一句话 有屏幕的地方,就有Bad Apple 比如笔者最近入手了一个物联网开发板HaaS EDU K1,就萌发了在这些小的开发板上实现播放BadApple的想法. 说干就干!!! ...

  2. Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)

    Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了) 1.编译前准备: 1.linux5.10内核 2.2018.02bulidroot 3.v3s板子 ...

  3. OLED上播放动图的一种笨方法

    声明:本文章纯属学习研究,之所以使用这个素材,一是觉着好玩,二是在这个动图中,人物的动作比较大,这样子效果比较好.没有冒犯他人之意. 再者,文章若有侵权请联系本人进行删除. 工具:硬件:STC8A8K ...

  4. 基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple

    代码下载地址https://download.csdn.net/download/jackiewmt/10489386 作者:重大自动化一寸灰 环境为vs2013 最近毕业,搞完毕业设计闲着没事干,偶 ...

  5. 用stm32驱动TFTLCD播放BadApple

    用stm32驱动TFTLCD播放BadApple 你是否听说过一句这样的话,有屏幕的地方就会有badapple.这次我们就通过用stm32来驱动TFTLCD来播放badapple. 什么是Bad Ap ...

  6. 《树莓派》开发 之 用 0.96OLED 播放 badapple 视频

    安装树莓派环境下的OLED库:树莓派实验室 为了更好的显示性能,例如显示动画时如对帧率有要求,可以通过修改下面的参数将 I2C 频率从默认的 100KHz 或 400KHz 提升到 1MHz. 命令: ...

  7. stm32 arduino 读取sd卡并在lcd(jlx12864)上播放badapple

    目录 前言 引脚连接 代码示例 问题排查 1. sd卡无法读取 2. lcd无显示 前言 要问什么是测试单片机控制单色屏幕的最佳办法,我想badapple应该当之无愧,经典程度如helloworld. ...

  8. 【K210】【MaixPy】三、Maix Dock入门之LCD的使用(播放BadApple)

    Maix Dock套件中标配了一块2.4寸LCD屏下面通过实现几个功能的方式介绍一些MaixPy中关于LCD使用的一些函数. 官方LCD函数文档链接:https://cn.maixpy.sipeed. ...

  9. 树莓派播放BadApple!

    前言 原作者BadapplePi的播放github地址 整个项目是基于这个作者的代码使用的,同时他也提供了matlab的程序,能够让所有视频都能够处理为其效果在iic屏幕上进行播放. 自己fork添加 ...

最新文章

  1. eclipse运行 Maven Test命令时控制台输出乱码的解决办法
  2. 【图像处理】图像内插“最近邻插值 最近邻内插法(Nearest Neighbour Interpolate)”代码演示(调整图像大小、放大、缩小)
  3. 硬件工程师如何成为焊接界的高手
  4. Opencv获取身份证号码区域
  5. 由于已明确禁止所请求的页类型,无法对该类型的页提供服务。扩展名“.asp”可能不正确 asp网页在vs中的调试
  6. vue、cnpm不是内部文件_UBoot链接文件 搞懂程序内部长什么样
  7. Mybatis数据库连接报错:对实体 “characterEncoding“ 的引用必须以 ‘;‘ 分隔符结尾
  8. CLM5.0模式移植篇——驴某人的自我救赎
  9. ArcGIS教程 - 9 矢量数据空间分析
  10. lvds传输距离标准_lvds接口标准
  11. 三极管输出和输入特性曲线人类语言(共射为例)
  12. 知识推理——正向链接推理
  13. 通过路由器高速使用校园网(sdust)
  14. uni-app的三种生命周期函数整理
  15. js复制方法navigator.clipboard兼容性处理,控制台直接执行报错 DOMException: Document is not focused
  16. 金誉半导体笔记:什么是MCU单片机的SPI、UART、I2C通讯接口
  17. 散列表(开放定址法)
  18. linux人脸识别终端是什么意思,瑞芯微如何看待天波首发得RV1109 Linux人脸识别终端...
  19. 【狂神Java笔记】Java网络编程实战详细笔记整理(附代码)
  20. 程序员应该怎么学数学?

热门文章

  1. 享受葡萄酒的极致诱惑
  2. 《美国丽人》:玫瑰绽放在废墟上 (转)
  3. Android Studio学习(十八)--Sharedpreferences续
  4. C语言I——作业07
  5. 213. 打家劫舍 II。
  6. c mysql 二进制图片,想把二进制数据插入到MYSQL库里,字段为MediumBLOB类型.(存的图片)解决思路...
  7. python——识别键盘按下模拟键盘按下
  8. php连接mssql数据库的几种方法,php 连接mssql数据库与配置方法_PHP教程
  9. HDU Redraw Beautiful Drawings 判断最大流是否唯一解
  10. 对抗生成网络学习(九)——CartoonGAN+爬虫生成《言叶之庭》风格的影像(tensorflow实现)