回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

创客兴趣小组系列教程之掌控板二——电子沙漏 简单

头像 肥罗-阿勇 2019.11.14 1495 3

特别声明:本系列课程是我校的校本教程,主要针对有一定基础的创客兴趣小组同学。

本系列课程结合STEAM,在课程中融合了其他学科知识。


在上节课《点亮未来》中,我们已经学习了掌控板LED的各种点亮方式,为掌控板学习开了个好头,也为我们的掌控板学习奠定了一个好的基础,本节课来学习掌控板的文字显示和图像显示。


教学目标:

知识目标:学会OLED的文字、图案、图片的正确显示

能力目标:融合数学知识、艺术知识,利用所学知识制作一个电子沙漏

情感态度价值观:注重细节,养成严谨的科学态度


重点:

1、学习OLED的基本知识。

2、学会文字显示。

3、学会各种图案和图片的显示。

难点:

利用所学知识制作一个电子沙漏。


教学过程:

一、基本知识学习

我们先来认识一下掌控板的这块屏幕,这是一块OLED屏,

project-image

这块屏幕的分辨率是 128*64,显示分辨率就是屏幕上显示的像素个数

project-image

一般一个汉字占用12*16个像素,一个英文占用8*16个像素

想一想:

这个屏幕假如都显示汉字,请问最多可以显示几排?总共显示多少个汉字?

这个屏幕假如都显示英文,请问最多可以显示几排?总共显示多少个英文字母?


解答:

按照这个屏幕分辨率,长度是128,,128/12=10.75,也就是一排最多显示10个汉字

高度是64,64/16=4,也就是最多显示4排,总共40个汉字。

按照这个逻辑,因此最多可以显示4排英文,共64 个字母。


我们来现场测试一下看看是否和我们想的一样

project-image

效果和我们预测的是一样。我们来具体看看显示菜单里的内容

project-image

里面的内容都很容易理解,但是一定要注意,在显示的最后一定要加上显示生效,切记!

给大家十分钟时间熟悉里面的基本操作。


二、布置任务

大家已经基本掌握了掌控板的显示模块,下面我们来完成一个任务,那就是做一个电子沙漏。

沙漏大家都见过吧

project-image

步骤1 画出沙漏的形状

project-image

根据OLED屏的结构我们可以画两条对角线就可以画出沙漏的形状了

project-image

步骤2 画出上半部分装满沙的图案

上半部分实际是一个三角形,那我们画一个实心三角形就可以了。

那我们这个三角形的三个点坐标分别是什么呢?

(0,0 63,31 127,0)

(这里一定要强调在计算机编程中,往往是从0开始算第一个,而不是从1开始。)

确定了三个点就非常简单了

project-image

步骤3 制作上面的沙子越来越少的动画

简单来说就是上面的那个实心三角形越来越小,三个顶点中,有一个是不变的

那另外两个如何确定呢?

这里我们来学习一个数学知识,那就是一个角的正切值

project-image

一个角的正切值永远是不变的,回到我们这里,我们来看看

project-image

这里角a的正切值 就是 32/64=0.5,整个大三角形是等腰三角形,所以它的对角正切值也是0.5

这样,当Y=1的时候,X就=2

这样我们就可以把所有的三角形三个顶点坐标推算出来

0,0 63,31 127,0

2,1 63,31 125,1

4,2 63,31 123,2

……

Y*2,Y 63,31 127-Y*2,Y

这样我们就把三角形的三个顶点坐标推算出来了

我们利用循环就可以实现上面的沙子越来越少

project-image

步骤4 制作下面沙子越来越多的程序

下面的沙子越来越多,相对就比较简单

有两个点永远不变,那就是 0,63和127,63,变的只是最上面那个顶点,而且上面那个顶点的X坐标一直没变,就只是Y坐标一直在变,代码如下:

project-image

步骤5 加上沙子漏下的图案

基本做好了,但是总觉得差点什么,大家觉得差点什么?

对了,有点突兀,中间没有沙子流动

加入中间沙子流动的动画,实际就是画一根线

project-image

步骤6 制作倒过来的沙漏动画

一个正放的沙漏就已经做好了,那如果我们要做一个倒过来放的沙漏该如何做呢?

这时候我们就要把坐标系倒过来,心中一定要很清楚各个坐标的位置

project-image

上面的三角形三个顶点坐标分别为

127,63 63,31 0,63

125,62 63,31 2,62

123,61 63,31 4,61

……

127-i*2,63-i 63,31 i*2,63-i


下面的三角形三个顶点坐标分别为

0,0 63,0 127,0

0,0 63,1 127,0

0,0 63,2 127,0

……

0,0 63,i 127,0


代码如下

project-image

步骤7 进一步完善

现在正放、反放的都做好了,我们要根据实际情况来进行完善,那就是当正放的时候就一直正漏,漏到不能漏就停下,当把掌控板反过来,就显示反放的动画,一直漏到不能漏就停下

效果如下:

这个留作课后的作用,下节课进行检查。


总结:

本节课我们学习了

1、OLED显示基本的文字和图片

2、绘制基本的图形

3、利用所学掌控板知识,数学知识(正切,三角形基本公式),美术知识,生活常识制作了一个电子沙漏

大家课后除了完成作业,再想一想我们还可以利用这些已学知识制作什么东西呢?

评论

user-avatar
  • 肥罗-阿勇

    肥罗-阿勇2019.11.24

    回复:香椿 2019.11.24 0 一行10个汉字,4排应该是40个汉字 谢谢指出错误之处,已经更正,呵呵

    0
    • 香椿

      香椿2019.11.24

      一行10个汉字,4排应该是40个汉字

      0
      • 香椿

        香椿2019.11.24

        创意无限,写得真好!!

        0