项目简介
本项目是基于Arduino编程的OLED动画展示系统,利用Wemos D1微控制器连接SH1106 1.3 SPI OLED屏幕,通过编程实现动画效果在OLED屏幕上的展示,可用于创意应用和简单视觉展示。
项目的主要特性和功能
- 借助Arduino编程控制OLED屏幕播放动画。
- 采用黑白画面显示,直接操控像素的开关状态。
- 支持用户自行设计动画,将设计的动画转换为代码并在OLED屏幕上展示。
- 可使用Photoshop进行动画设计,便于适配OLED屏幕。
- 提供开发所需的编程工具和库文件。
安装使用步骤
硬件准备
- Wemos D1微控制器
- SH1106 OLED屏幕
- 若干连接线
软件准备
- 下载并安装Arduino IDE:访问 Download Arduino 进行下载安装。
- 配置Arduino IDE以支持Wemos D1:打开Arduino IDE,进入“工具” -> “开发板” -> “开发板管理器”,在“附加开发板管理器网址”中添加
https://arduino.esp8266.com/stable/package_esp8266com_index.json
,然后搜索并安装Wemos D1相关开发板支持。 - 安装Thingpulse库:打开Arduino IDE,进入“工具” -> “管理库”,搜索并安装“ESP8266 and ESP32 Oled Driver for SSD1306 display”。
连接硬件
按照 single-screen.svg
中的图示,将OLED屏幕连接到Wemos D1。
上传代码
- 下载本项目源码,在Arduino IDE中打开
SH1106-single-screen.ino
文件。 - 将Wemos D1连接到计算机。
- 在Arduino IDE的“工具”菜单中,将开发板设置为Wemos D1,并选择正确的端口(可能需要多次尝试)。
- 点击上传按钮,若一切正常,OLED屏幕将显示出租车动画。
自定义动画
- 在Photoshop中,在128px(宽)x 64px(高)的画布上制作黑白动画,每个帧放在一个新图层。
- 下载并安装ImageMagick:访问 imagemagick.org 下载并按操作系统说明安装。
- 打开包含PSD文件的目录的终端,执行以下命令:
convert puke.psd -coalesce puke%d.png
:将PSD文件的所有图层转换为单独的PNG文件。mogrify -resize 128x64 +dither -format xbm *.png
:将所有PNG文件转换为XBM文件。cat *.xbm | sed s/static/const/ | sed s/=/PROGMEM=/ > taxi.h
:将所有XBM文件合并为一个文件。
- 下载并打开Atom文本编辑器:访问 Download Atom text editor 下载。
- 在Atom中打开生成的
.h
文件,使用正则表达式替换:- 查找
char trash(.*)_bits
。 - 替换为
uint8_t trash$1
。
- 查找
- 将修改后的
.h
文件替换项目中的原文件,重新上传代码到Wemos D1,即可在OLED屏幕上显示自定义动画。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】