0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OLED绘制数学图形

jf_cVC5iyAO 来源:易心Microbit编程 2023-03-28 10:20 次阅读

这篇文章会使用 micro:bit 链接 OLED1306 显示器,搭配「变量」、「三角函数」、「重复循环」等积木,在 OLED 上绘制「正弦波形」以及「圆形」两种数学图形。

micro:bit 连接 OLED1306 显示器

按照下图,使用「扩充板、杜邦线、面包板」,将 micro:bit 连接 OLED1306 显示器。

a0381778-cc90-11ed-bfe3-dac502259ad0.jpg

加入 OLED1306 积木

开启 MakeCode 的扩展功能,搜寻「oled」,从搜寻结果中选择「OLED12864_I2C」的项目,点选加入 OLED1306 显示器积木。

a04a5802-cc90-11ed-bfe3-dac502259ad0.jpg

绘制「正弦波形」

「正弦波形」是什么呢?是一种来自三角函数中的正弦比例的曲线波形,当 x 不断改变时,透过震幅、角度和正弦函数计算 y 坐标,仿真周期性的波形图案。

正弦波形 y 坐标公式:y = y0 + n × sin(deg)

( y0:y 轴位置、n:震幅大小、deg:角度 )

a06b0bce-cc90-11ed-bfe3-dac502259ad0.jpg

了解公式原理后,就可以开始设计 OLED 的绘图程序:

按照公式,先放入对应的 x、y、y0、n、deg 变量,并设定数值。

使用重复循环,重复 128次 ( 因为 OLED 的 x 方向分辨率只有 128 点 )

每次重复时

计算 y 坐标 ( 注意!MakeCode 的三角函数使用「弧度」,要将角度除以 57.7 转换 )。

OLED 绘制在 (x,y) 绘制亮点。

x 增加 1。

deg 增加 20。

a07d7b60-cc90-11ed-bfe3-dac502259ad0.jpg

完成后,启动 micro:bit,OLED 就会画出正弦波形。

绘制「圆形」

「圆形」是透过三角函数,计算圆周上的 x 与 y 坐标所画出的图形。

圆形坐标公式 ( x0、y0 为圆心坐标,r 为半径,deg 为角度 ):

x 坐标:x0 + r × cos(deg)

y 坐标:y0 + r × sin(deg)

首先新增一个名为 circle 的函式,替函式加入 x0、y0、r 和 deg 四个参数,透过函式绘制圆形。

a0bc25e0-cc90-11ed-bfe3-dac502259ad0.jpg

了解公式原理后,就可以开始设计 OLED 的绘图程序:

按照公式,编辑 circle 函式内容。

使用计次循环,重复 deg 次 ( 360 度可以画出圆形,180 度可以画出半圆形 )。

每次重复时计算 x、y 坐标,并在 OLED 绘制亮点。

函式编辑完成后,于启动时呼叫 circle 函式。

a0d3b37c-cc90-11ed-bfe3-dac502259ad0.jpg

完成后,启动 micro:bit,OLED 就会画出圆形。

a0e78b4a-cc90-11ed-bfe3-dac502259ad0.jpg

如果需要修改「起始角度」,可以把 circle 函式增加一个 deg0 的参数,计算角度时,先加上 deg0,就能够指定起始的角度。

a1096954-cc90-11ed-bfe3-dac502259ad0.jpg

下图的例子,按下 A 按钮时,OLED 会画出左边的半圆形,按下 B 按钮时,OLED 会画出右边的半圆形。

a12744ec-cc90-11ed-bfe3-dac502259ad0.jpg

a13c4518-cc90-11ed-bfe3-dac502259ad0.jpg






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    119

    文章

    6200

    浏览量

    224210
  • 正弦波
    +关注

    关注

    11

    文章

    643

    浏览量

    55400
  • OLED显示器
    +关注

    关注

    0

    文章

    65

    浏览量

    13181

原文标题:Micro:bit OLED绘制数学图形

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MATLAB图形绘制基本技术教程

    1 MATLAB基本二维图形绘制2 plot 命令使用3 loglog、semilogx、semilogy、polar4 二维曲线的标注5 二维图形坐标轴的控制6 其他类型的MATLAB二维
    发表于 09-04 08:23

    matlab图形绘制功能

    matlab图形绘制功能
    发表于 08-17 14:57

    第10章 2-D图形库之绘制图形

    转stemwin教程本期主要讲解2-D图形库的图形绘制,包括绘制多边形,绘制圆,绘制椭圆,
    发表于 10-12 10:13

    MATLAB图形绘制基本技术

    3.1 MATLAB基本二维图形绘制3.2 plot 命令使用3.3 loglog、semilogx、semilogy、polar3.4 二维曲线的标注3.5 二维图形坐标轴的控制3.6 其他类型的MATLAB二维
    发表于 09-03 12:15 0次下载

    MATLAB高级图形绘制技术

    MATLAB高级图形绘制技术 5.1 其他二维图形绘制命令5.2 其他三维图形绘制命令5.3
    发表于 09-03 12:17 0次下载

    MATLAB高级图形绘制技术

    MATLAB高级图形绘制技术 5.1 其他二维图形绘制命令5.2 其他三维图形绘制命令5.3
    发表于 09-03 12:18 0次下载

    绘制根轨迹的数学依据及其性质

    绘制根轨迹的数学依据及其性质
    发表于 07-27 14:21 3004次阅读

    绘制平面图形

    绘制平面图形 2.2.1?几何作图
    发表于 07-31 15:42 3827次阅读
    <b class='flag-5'>绘制</b>平面<b class='flag-5'>图形</b>

    如何用Word调用Protel For DOS绘制图形

    如何用Word调用Protel For DOS绘制图形 撰写科技文章时,常常需要插入一些电路原理图,如果这些原理图用Word自带的画图工具绘制
    发表于 03-09 13:40 1415次阅读

    JAVA教程之常用图形绘制与填充

    JAVA教程之常用图形绘制与填充,很好的JAVA的资料,快来学习吧
    发表于 04-11 17:28 3次下载

    JAVA教程之不规则图形绘制

    JAVA教程之不规则图形绘制,很好的JAVA的资料,快来学习吧
    发表于 04-11 17:28 1次下载

    基于VS的分形图形绘制田兴彦

    基于VS的分形图形绘制_田兴彦
    发表于 03-17 08:00 0次下载

    Matlab图形绘制经典案例详细说明

    本文档的主要内容详细介绍的是Matlab图形绘制经典案例详细说明资料免费下载。
    发表于 08-01 17:21 7次下载
    Matlab<b class='flag-5'>图形</b><b class='flag-5'>绘制</b>经典案例详细说明

    30个MATLAB图形绘制

    30个MATLAB图形绘制
    的头像 发表于 07-07 09:54 1693次阅读

    MATLAB中特殊图形绘制示例

    MATLAB中特殊图形绘制示例
    的头像 发表于 07-07 09:55 886次阅读