所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
创客兴趣小组系列教程之掌控板二——电子沙漏
肥罗-阿勇 肥罗-阿勇 2019-11-24 22:53:52
6
3
简单

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

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


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


教学目标:

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

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

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


重点:

1、学习OLED的基本知识。

2、学会文字显示。

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

难点:

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


教学过程:

一、基本知识学习

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

projectImage

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

projectImage

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

想一想:

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

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


解答:

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

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

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


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

projectImage

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

projectImage

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

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


二、布置任务

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

沙漏大家都见过吧

projectImage
步骤1 步骤1
画出沙漏的形状
projectImage

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

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

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

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

(0,0   63,31  127,0)

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

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

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

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

那另外两个如何确定呢?

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

projectImage

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

projectImage

这里角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

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

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

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

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

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

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

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

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

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

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

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

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

projectImage

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

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


代码如下

projectImage
步骤7 步骤7
进一步完善

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

效果如下:

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


总结:

本节课我们学习了

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

2、绘制基本的图形

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

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

Makelog作者原创文章,未经授权禁止转载。
6
3
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]