rzyzzxw 发表于 2018-12-22 15:39:37

【掌控】新技能: 柱状图--光强计--声强计

本帖最后由 rzyzzxw 于 2018-12-22 15:39 编辑



掌控板的新技能越来越多。

今天展示的是柱状图。


掌控【UI类】

提供UI界面类控件

【小资料】
UI设计(或称界面设计)是指对软件的人机交互、操作逻辑、界面美观的整体设计,也叫界面设计。UI设计分为实体UI和虚拟UI,互联网说的UI设计是虚拟UI,UI即User Interface(用户界面)的简称。好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单、自由,充分体现软件的定位和特点。
掌控有了UI类函数,可以让我们的作品更多口味。{:5_180:}


感谢掌控团队工程师们。

UI.stripBar(x, y, width, height, progress, dir=1, frame=1)
绘制垂直或水平的柱状条
[*]x 、 y -左上角作为起点坐标
[*]width -柱状条宽度
[*]height -柱状条高度
[*]progress -柱状条百分比
[*]dir -柱状条方向。dir=1时水平方向,dir=0时,垂直方向。
[*]frame -当frame=1时,显示外框;当frame=0时,不显示外框。

【练习】
随便定义一个柱状图显示到OLED屏上。
例如:起点64,2,宽6,高60,垂直方向
from mpython import *

myUI=UI()


oled.fill(0)
myUI.stripBar(64, 2, 6, 60, 20, 0, 1)
oled.show()

例如:起点16,32,宽100,高16,水平方向




from mpython import *

myUI=UI()


oled.fill(0)
myUI.stripBar(16, 32, 100, 16, 20, 1, 1)
oled.show()

【声强计】

要用到映射了。

映射mpyhton.numberMap(inputNum, bMin, bMax, cMin, cMax)映射函数,参数:
[*]inputNum 为需要映射的变量
[*]bMin 为需要映射的最小值
[*]bMax 为需要映射的最大值
[*]cMin 为映射的最小值
[*]cMax 为映射的最大值

声音、光线light.read()读取板载光线传感器值,范围0~4095。sound.read()读取板载麦克风,范围0~4095。

from mpython import *

myUI=UI()

while True:
    oled.fill(0)
    oled.DispChar('音量值:', 16, 16)
    myUI.stripBar(16, 32, 100, 16, numberMap(sound.read(), 0, 4095, 0, 100), 1, 1)
    oled.show()



【拓展练习】
1、光强计
2、加上灯效
3、加上声效
4、其它创意



rzyzzxw 发表于 2018-12-22 15:48:33

掌控UI类中还有绘制进度条功能:
大家想想如何用吧。

UI.ProgressBar(x, y, width, height, progress)
绘制进度条。

x 、 y -左上角作为起点坐标
width -进度条宽度
height -进度条高度
progress -进度条百分比

44107900 发表于 2018-12-22 23:48:35

undefined name 'numbeiMap'
Line too long(82>79 characters)
无法运行哦!

rzyzzxw 发表于 2018-12-23 09:37:26

44107900 发表于 2018-12-22 23:48
undefined name 'numbeiMap'
Line too long(82>79 characters)
无法运行哦!

同样的原因,新版固件。{:5_134:}

44107900 发表于 2018-12-23 10:31:57

rzyzzxw 发表于 2018-12-23 09:37
同样的原因,新版固件。

谢谢!刷新后正常!
页: [1]
查看完整版本: 【掌控】新技能: 柱状图--光强计--声强计