用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

arduino和OLED制作火柴人奔跑动画

用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

2.为动画创建位图

用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

这可能是最耗时的步骤。你必须创建一组框架,这将适合128×32格式。您可以尝试从任何拖鞋剪贴片中创建它们,您可以在网上找到。

所有的框架需要是黑白的!!!

我创造了显示奔跑生物的帧,一共八张

3.连接

用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

OLED

arduino

GND

GND

VCC

VCC

SDA

A4

SCK

A5

OLED 显示屏有四个引脚,分别是:
1.SDA(数据线) SCK(时钟线) VDD(3.3V) GND
2.在UNO开发板上I2C接口,SDA对应D4,SCK对应D5
3.在MEGA2560开发板上I2C接口,SDA对应D20, SCL对应D21

4.创建位图的代码表示

用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

①使用在线取模软件

用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

要创建位图的代码表示,我们将使用在线工具

你可以找到它去下面的网址

https://javl.github.io/image2cpp/

②执行以下步骤:

  • Select Image(选择图像)部分,逐个打开帧文件
  • 通过检查图像设置部分检查上传的Image Settings(图像)是否正确
  • 如果想要具有黑色背景,并且只点亮线像素,请检查倒置图像颜色,在Background选择Black

用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

  • Output(输出部分)在Code output format(代码输出格式)中指定"Arduino code ,single Bitmap"在Identifier/Prefix(标识符/前缀)中提供动画名称,必须要英文按Generate code(生成按钮)保存生成的代码。它将被粘贴到arduino编译器

4.创建动画代码

①首先,我们需要引用所需的头文件

#include <Wire.h>#include <Adafruit_GFX.h>#include <Adafruit_SSD1306.h>

前一个用于 I2C 接口,其他两个用于与 OLED 显示器配合工作

②我们需要定义显示屏的大小

#define SCREEN_WIDTH 128 // OLED 显示宽度128 in pixels#define SCREEN_HEIGHT 64 // OLED 显示高度64 in pixels

③引用函数库,里面有宣布通过 OLED 显示连接的引脚。有了这些别针,我们宣布显示器本身

#define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET);

然后,您必须复制粘贴我们从Image2cpp 中获得的代码

这是一个相当长的代码,所以我不会粘贴在这里的全部。我只显示一帧

static const unsigned char Frame1 [] PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x83, 0x80, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x03, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe1, 0x0c, 0x60, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1f, 0xff, 0x80, 0x20, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x01, 0xf9, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0xcc, 0x78, 0x60, 0x00, 0x00, 0x03, 0xe7, 0x80, 0x00, 0x00, 0x64, 0x1f, 0xc0, 0x00, 0x00, 0x0e, 0xff, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0e, 0x00, 0x00, 0x00, 0x33, 0xf0, 0x00, 0x00, 0x00, 0x30, 0xf8, 0x00, 0x00, 0x00, 0x18, 0x1f, 0xf0, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x86, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

然后,在设置功能中,我们正在初始化 OLED 显示屏

void setup() {Serial.begin(9600);delay(500);// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64)}

然后,我们有循环功能,我们重播所有10帧在50ms间隔

void loop() {// Diplay Animation// Frame1display.clearDisplay();display.drawBitmap(30,0,RUN1, 80, 32, 1);display.display();delay(50);// Frame2display.clearDisplay();display.drawBitmap(30,0,RUN2, 80, 32, 1);display.display();delay(50);// Frame3display.clearDisplay();display.drawBitmap(30,0,RUN3, 80, 32, 1);display.display();delay(50);// Frame4display.clearDisplay();display.drawBitmap(30,0,RUN4, 80, 32, 1);display.display();delay(50);// Frame5display.clearDisplay();display.drawBitmap(30,0,RUN5, 80, 32, 1);display.display();delay(50);// Frame6display.clearDisplay();display.drawBitmap(30,0,RUN6, 80, 32, 1);display.display();delay(50);// Frame7display.clearDisplay();display.drawBitmap(30,0,RUN7, 80, 32, 1);display.display();delay(50);// Frame8display.clearDisplay();display.drawBitmap(30,0,RUN8, 80, 32, 1);display.display();delay(50);// Frame9display.clearDisplay();display.drawBitmap(30,0,RUN9, 80, 32, 1);display.display();delay(50); // Frame10display.clearDisplay();display.drawBitmap(30,0,RUN10, 80, 32, 1);display.display();delay(50);

用arduino和OLED制作火柴人奔跑动画(flash火柴人跑步制作)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月1日 上午11:53
下一篇 2024年5月1日 下午12:05

相关推荐

  • 核酸试管科研项目有哪些

    核酸试管科研项目有哪些 随着新冠疫情的全球爆发,人们对核酸检测的需求越来越大。为了保障公共卫生安全,许多国家和地区都采取了措施,对人员进行核酸检测。而核酸检测需要使用核酸检测试管,…

    科研百科 2025年4月9日
    1
  • 软信息系统项目管理师

    软信息系统项目管理师: 掌握数字时代的管理技能 随着数字化时代的到来,软信息系统项目管理师这一职业也越来越重要。作为一个负责项目规划、执行、监控和控制的职业,软信息系统项目管理师需…

    科研百科 2025年1月29日
    0
  • 还在纠结找不到合适的ERP和WMS一体化的软件系统?

    大多数中小企业在自己的业务刚起步时一般不会选择数字化的软件管理系统,因为业务量小、职员人数少,所以利用简单手工记账的管理模式就能够管好生意,只是人员效率不是特别高,但因为业务量小各…

    科研百科 2022年12月28日
    217
  • 吕梁市离石区市场监管局机关一支部与昌宁社区党支部共同开展党建联建活动

    为认真贯彻落实党的二十大精神,进一步深化党建联建共建工作,7月12日,吕梁市离石区市场监督管理局机关一支部与昌宁社区党支部共同开展“手拉手保障市场安全 心连心共建和谐家园”心心相融…

    科研百科 2023年9月25日
    230
  • 大学生省级课题有含金量吗

    大学生省级课题有含金量吗 近年来,随着高等教育的迅速发展,大学生省级课题逐渐成为了一种备受关注的话题。对于大学生来说,省级课题是一种宝贵的学习和成长机会,而对于整个社会来说,省级课…

    科研百科 2024年11月16日
    2
  • 商业项目管理

    商业项目管理:实现商业目标的关键 商业项目管理是实现商业目标的关键,涵盖了从计划、执行到监督整个项目生命周期。本文将探讨商业项目管理的基本概念、挑战和最佳实践。 商业项目管理的基本…

    科研百科 2024年8月13日
    29
  • 1349党建工作体系3120885722

    1349党建工作体系 随着社会主义市场经济的迅速发展,党建工作面临着新的机遇和挑战。为了进一步推进党建工作,我们建立了1349党建工作体系,旨在提高党建工作的科学性、规范化和效率性…

    科研百科 2024年11月12日
    0
  • 兰州兽医所首次系统阐述猫胞裂虫病

      近日,中国农业科学院兰州兽医研究所家畜寄生虫病创新团队与圣基茨和尼维斯大学兽医学院合作,首次系统、全面地论述了猫胞裂虫病,将对猫胞裂虫病的预防、控制及进一步深入研究具有重要指导…

    科研百科 2022年5月14日
    359
  • 特产所承担的农业部2011年度修购专项通过验收

        9月11-12日,中国农业科学院特产研究所承担的农业部2011年度修购专项“国家人参鹿茸加工技术研发专业分中心房屋修缮项目&rdq…

    科研百科 2022年5月16日
    275
  • 水厂控制系统调试及试运行(自来水厂的调试与试运行)

    控制系统调试及试运行 一、系统结构 水厂生产过程的计算机控制按集中管理,分散控制的原则设计。系统采用三层结构,即由信息层、控制层、设备层三个层次构成。 中控室自控设备安装 (1)信…

    2022年7月30日
    1.2K