这篇文章会使用 micro:bit 链接 oled1306 显示器,搭配「变量」、「三角函数」、「重复循环」等积木,在 oled 上绘制「正弦波形」以及「圆形」两种数学图形。
micro:bit 连接 oled1306 显示器
按照下图,使用「扩充板、杜邦线、面包板」,将 micro:bit 连接 oled1306 显示器。
加入 oled1306 积木
开启 makecode 的扩展功能,搜寻「oled」,从搜寻结果中选择「oled12864_i2c」的项目,点选加入 oled1306 显示器积木。
绘制「正弦波形」
「正弦波形」是什么呢?是一种来自三角函数中的正弦比例的曲线波形,当 x 不断改变时,透过震幅、角度和正弦函数计算 y 坐标,仿真周期性的波形图案。
正弦波形 y 坐标公式:y = y0 + n × sin(deg)
( y0:y 轴位置、n:震幅大小、deg:角度 )
了解公式原理后,就可以开始设计 oled 的绘图程序:
按照公式,先放入对应的 x、y、y0、n、deg 变量,并设定数值。
使用重复循环,重复 128次 ( 因为 oled 的 x 方向分辨率只有 128 点 )
每次重复时
计算 y 坐标 ( 注意!makecode 的三角函数使用「弧度」,要将角度除以 57.7 转换 )。
oled 绘制在 (x,y) 绘制亮点。
x 增加 1。
deg 增加 20。
完成后,启动 micro:bit,oled 就会画出正弦波形。
绘制「圆形」
「圆形」是透过三角函数,计算圆周上的 x 与 y 坐标所画出的图形。
圆形坐标公式 ( x0、y0 为圆心坐标,r 为半径,deg 为角度 ):
x 坐标:x0 + r × cos(deg)
y 坐标:y0 + r × sin(deg)
首先新增一个名为 circle 的函式,替函式加入 x0、y0、r 和 deg 四个参数,透过函式绘制圆形。
了解公式原理后,就可以开始设计 oled 的绘图程序:
按照公式,编辑 circle 函式内容。
使用计次循环,重复 deg 次 ( 360 度可以画出圆形,180 度可以画出半圆形 )。
每次重复时计算 x、y 坐标,并在 oled 绘制亮点。
函式编辑完成后,于启动时呼叫 circle 函式。
完成后,启动 micro:bit,oled 就会画出圆形。
如果需要修改「起始角度」,可以把 circle 函式增加一个 deg0 的参数,计算角度时,先加上 deg0,就能够指定起始的角度。
下图的例子,按下 a 按钮时,oled 会画出左边的半圆形,按下 b 按钮时,oled 会画出右边的半圆形。
Intel正在全力研发图形处理器,深度学习方面对NVIDIA和谷歌还有一场恶战
三种新兴的人工智能商业模式浅析
回顾关于英特尔对于5G未来的畅想和发展分析
2018中国工业机器人市场,最新半年财报解析
PCB设计:过孔的设计规范
OLED绘制数学图形
pt100对照表,PT100铂热电阻温度与电阻值对照表
80毫米大口径超构透镜望远镜,首次成功拍摄月球表面
中国移动支付已进入世界各国领域
OpenHarmony精彩亮相GOTC全球开源技术峰会
STP和Chainlink将为全球金融市场和区块链行业带来创新
控制箱和配电箱区别
获取磁盘分区UUID的方法介绍
我国研究出了光纤传感器的关键技术并已具备批量生产的能力
巨型鲁班七号亮相ChinaJoy 猫王音响破圈Z世代
USB接口的批量传输
单车摄像头搭载数已达14颗 预计市场规模500亿美元
对OSAHS人员进行睡眠呼吸监测的重要器件--压力传感器
众多国内知名终端企业亮相2016中国移动全球合作伙伴大会
大气负氧离子自动监测系统的特点是怎样的