【情境导入】

同学们有没有试过在音乐软件听歌时用摇一摇来切换歌曲呢? 有没有用过微信里的摇一摇的功能呢?

本节内容,我们一起来学习制作“摇出好心情”!

【任务描述】

利用掌控板板载1.3英寸OLED显示屏和重力加速度传感器,通过设置变量和程序的多线性,在屏幕上显示文字和图片。

【材料清单】

硬件—— 掌控板板载1.3英寸OLED显示屏、三轴加速度传感器、USB数据线

软件 ——mPythonX图形化编辑器

【准备工作】

>掌控板板载1.3英寸OLED显示屏:

分辨率128x64,支持简体中文,繁体中文,日文和韩文语言。

>重力加速度传感器

掌控板上的加速度计可测量x、y、z轴的加速度,测量范围为 -2g 到 +2g 之间。

>关键语句

变量→创建变量

事件→当掌控板被摇晃时执行

显示→显示文本语句、OLED显示生效语句。

【学习目标】

1、学会运用显示文本模块、显示图片模块、OLED显示激活模块;(重点)

2、学会设置变量、初始化变量;(重点)

3、 学会运用多线程。(重难点)

【项目示例】

Step1 模块使用

1、创建变量:变量->创建变量

2、新建变量名为num

3、初始化变量的值:变量->将变量设定为0

4、事件:变量->当掌控板被摇晃时

5、摇晃时变量num+3

6、屏幕上显示num的值:显示→显示生效

【技术支持】

下面的表格罗列了多种正多边形的边数和边长。

对于第一列数据 4、10、5、6,我们给其标签为“边数”。

对于第二列数据 30、70、20、50,我们给其标签为“边长”。

在计算机术语中,把类似“边长”、“边数”的标签称为“变量”,它就像一个抽屉,你可以改变里面放的内容。

“将变量XX的值设定为XXX”理解起来就是将某一变量的的值设定为指定数字,一般可以用于计分前的声明(如上),设定起始的值等。

“将变量XX的的值增加XXX”:意思是将某个变量的的值增加指定数值,配合“将变量的的值设定为XXX”使用。

重力加速度传感器能够感知到加速力的变化,加速力就是当物体在加速过程中作用在物体上的力。

“摇出好心情”是通过判断掌控板的运动状态来制作的。掌控板中的重力加速度传感器检测到加速力的变化后即为掌控板被摇晃。一直检测掌控板是否被摇晃,如果摇晃了则执行里面的语句。

Step2 程序的多线程

思考:程序在运行时,同一时间只执行一条语句吗?

程序在运行时同时只执行一条语句,叫做程序的单线程;同时执行多条语句, 这叫做程序的多线程。

打个比方:

单线程是一张桌子上一个人吃饭,其他人排队,必须等他吃完才能到下一个;

多线程则是同一张桌子,多个人吃饭, 就算其中一个人吃得很慢,也不会很大 地影响到后面排队的人。

多线程的作用:

比起单线程速度快; 资源利用率高;

“一心多用”,同时处理多条语句,同步完成多个任务。

Step3 摇出好心情

思路:程序开始显示文字和进度条,然后摇晃掌控板使进度条从0 增加,进度满了后显示文字和图片。

1、启动后变量初始化和显示文字:

2、检测是否被摇晃:

3、屏幕显示进度条,并判断进度条是都到达100:

4、跳出循环后,显示文字和图片

5、拼搭好程序后,刷入程序,观察结果。

【技术支持】

通过修改x,y坐标可以调整文本显示的位置,因此需要知道OLED显示屏的坐标分布。

掌控板OLED显示屏坐标分布,如下图:

由上图坐标分布可知, OLED屏宽为128像素,高为64像素。

在OLED屏幕上显示图片,需要将图片装换为像素点:

1、修改图片大小,长不超过128,宽不超过64(OLED显示屏的最大宽度)

2、将图片另存为.bmp格式的图片

3、使用取模工具(PCtoLCD、lcd image converter等)对图片进行取模

4、输出数据类型[C语言数组]、 扫描模式[水平扫描]、输出灰度[单色]、宽高[128*64],适当调整图片的亮度和对比度直至输出图片清晰

5、点击保存,生成.c文件,去掉代码的首位两行,剩下的都是图片的像素点

6、将像素点粘贴到绘制图形模块的列表中(宽度和高度可以从取模软件底部得知)

【拓展思考】

如何在OLED屏幕上显示更多不同的文字和图片?

mpython掌控板体温_用mpython x玩转掌控板——摇出好心情相关推荐

  1. 高恪智能流控怎么设置_[高恪小知识]自定义流控的操作

    自定义流控策略指导 高恪路由器的QoS智能流控模块下,数据从内网接口进外网接口出,从外网接口进内网接口出,在这个过程中,默认是不会对数据进行任何干预的.要对数据进行干预,通常我们就需要开启一键QoS智 ...

  2. python单选按钮控件是_第7讲,RadioButton 单选按钮控件

    第7讲,RadioButton 单选按钮控件 ListBox可以提供若干可选项供用户选择,此外,RadioButton也可以实现相同的功能,下面我要设计一个窗口,效果图如下 窗口上摆放3个单选按钮控件 ...

  3. java控件数组_在C# WinForm程序中创建控件数组及相应的事件处理

    控件数组是VB提供的一个优秀的设计解决方案,它能很方便快捷的处理大批同类控件的响应和时间处理,但不知为什么在C#中这个优秀特性没有传承下来,甚为可惜,本文将要探讨就是如何在C# WinForm程序实现 ...

  4. 笔记本电脑键盘触摸板关闭_如何更换笔记本电脑的键盘或触摸板

    笔记本电脑键盘触摸板关闭 Barring any kind of accidental damage, your laptop's keyboard and touchpad are the part ...

  5. 联想小新触摸板驱动_联想 小新Air 13.3触摸板怎么用?

    电脑能力主要看处理器和显卡. 办公用途,平面设计类吃处理器的能力. 游戏,3d设计类吃显卡能力. 不管那种需求,内存容量都是需要有合理的选择(类如看机器是否支持扩展). 不管台式本子都一样. 本子的能 ...

  6. mpython掌控板作品_第1课 Arduino micro:bit 掌控板 创客教育常用的3类主控板

    有很多朋友想学习创客,问我怎么学习.我建议他先百度一下"创客",看看有什么感觉.结果还是很懵,五花八门,什么都有,找不到核心.简单理解,就是以前讲的DIY,自己动手,制作一个东西. ...

  7. arduino nano 蓝牙_用Arduino玩转掌控板(ESP32):ESP32概述与Arduino软件准备

    前言 近年来,掌控板(英文名:mPython)在创客教育中应用越来越广泛.掌控板集成了 ESP32 高性能双核芯片,具备 WiFi 和蓝牙连接功能,同时在板子上又配置了丰富的传感器,最重要的是它是专门 ...

  8. arduino nano 蓝牙_掌控板IO接口编程入门 | 用Arduino玩转掌控板(ESP32)系列

    众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...

  9. arduino使用oled代码_用Arduino玩转掌控板(ESP32):蓝牙翻页笔(PPT 控制器)

    众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...

最新文章

  1. SQL Server快捷键
  2. js中常用的算法排序
  3. ARM入门笔记(9)
  4. 人工智能:第四章 计算智能(1)
  5. 直播原理----协议
  6. 如何修改照片的尺寸大小
  7. 【竞赛篇-国创(大创)申报立项】国家级大学生创新创业训练计划申报经验
  8. 苹果商城怎么调成中文_海豚加速器拳头账号中文注册下载-海豚加速器拳头账号注册下载 v2020...
  9. 详解百度地图API之驾车导航
  10. java 二次封装azkaban 实现azkaban任务的执行
  11. Swift REPL
  12. 去掉wap端手机浏览器头部搜索栏和底部工具栏的方法
  13. Keil_uvision_4基本使用教程
  14. 用计算机视觉描述机器人,计算机视觉和机器人视觉概述
  15. 栈顶指针设计和数据进出栈时指针移动的关系
  16. 云渲染是什么?云渲染好处以及安装方法。
  17. 软件测试面试题之用例设计题
  18. 失去jQuery Bloat ­ —使用NodeList.js进行DOM操作
  19. Sentence-BERT 论文阅读
  20. Eclipse安装 dbeaver插件及使用

热门文章

  1. Python练习:用户登录(三次机会)
  2. java 反射 泛型 构造函数_Java复习——反射和泛型的复习
  3. python在工程管理专业的应用_专业篇丨建筑环境与能源应用工程专业和建筑电气与智能化专业...
  4. iphone连上wifi却上不了网_我想问问为何我的手机连上家里的wifi,可以用,但是将网线连接路由器与主机电脑时,电脑却上不了网...
  5. 微信游戏脑力大乱斗92一个计算机,微信脑力大乱斗答案大全_全关卡图文攻略_软吧...
  6. html制作花样链接卡页面_网站404页面怎么做
  7. sql求平均日活_日活、周活(周重活)、月活 统计
  8. 三体与计算机科学与技术,《三体》作者刘慈欣:AlphaGo赢了,但人工智能不可能强大到没有弱点...
  9. pythonif语句如何循环播放_python – 循环播放文本,一次3个字符
  10. java中位运算传参_java基础之位运算讲解于实战