生命在于运动,健康在于锻炼,我们应该每天坚持运动才能拥有健康的身体。但是运动也要适量,过度运动反而会适得其反,所以有目标,有规划的运动是有很必要的。本节课我们就学习使用好搭掌控做一个计步器,来协助我们锻炼身体。
1、学习目标
l学习使用“当掌控板摇晃”指令的用法;
l复习巩固“变量”的使用;
l复习巩固“逻辑”模块的使用。
2、认识加速度传感器
加速度是速度变化量与发生这一变化所用时间的比值Δv/Δt,符号为a,如一个物体从静止状态开始,只在地球重力的作用下进行自由落体运动,10秒(s)后速度增加到98米每秒(m/s),那么物体所受到的重力加速度为:98m/s÷10s=9.8m/s2。
生活中最常见的加速度便是重力加速度,符号为g。
加速度计就是能够检测到加速度值并转化、输出相应数值的传感器。在汽车安全系统、地震检测、游戏控制、佩带式智能设备等很多方面都有广泛的应用。
好搭掌控中的加速度计可以检测X、Y、Z三个方向的加速度大小,任一方向数值输出范围:-8192~8192。
因为加速度是描述物体速度变化快慢的物理量,一般人对其缺乏直观感受,而重力在人们的生活中无处不在,所以在描述一个物体受到的加速度时,会用“多少个重力加速度”来表达。如超音速战斗机加速时的加速度约为3.6个重力加速度,即3.6g。
加速度计在任一方向上的数值输出范围为±16g,即当数值为2048时,为1g。
3、指令学习
![1671161489480668.png 表1.png](/ueditor/php/upload/image/20221216/1671161489480668.png)
4、计步器程序编写
计步器的设计原理就是当按下按键,在屏幕上显示步数,并且每当我们行走时(即摇晃好搭掌控),屏幕上的显示步数加1。当走够一定的步数,好搭掌控会显示提示文本,提醒我们适当休息,如果想继续运动,再按另一个按键可以回到初始状态,重新开始下一轮计步。
首先创建两个变量,分别命名为“step”、“flag”(变量名称可以自己随意设定),并将初始值都设置为0,“step”变量代表行走的步数,“flag”变量控制OLED的显示文本。
![1671161587703232.png 5.png](/ueditor/php/upload/image/20221216/1671161587703232.png)
显示文本有两种显示状态,即当“flag”等于0时、或者“flag”等于1时,所以需要用到“如果...否则如果”指令。
![1671161700317358.png 6.png](/ueditor/php/upload/image/20221216/1671161700317358.png)
当变量“flag”等于0时,OLED屏显示初始界面的显示提示文本,在第一行显示应用名称“计步器”,第二行显示运动标语(标语大家可以自由发挥哦),第三行显示提示语“按A键开始计步”,第四行显示提示语“按B键步数清零”,显示生效同时将变量“step”也就是步数清零。
![1671162722935209.png 13.png](/ueditor/php/upload/image/20221216/1671162722935209.png)
当变量“flag”等于1时,OLED显示计步界面文本,显示提示文本“步数”,在提示文本后显示运动的步数“step”,在显示“step”时,需要进行“转换文本”,将格式转换为可以显示的文本格式,为了让“step”更加便于观察,可将字体设置为较为醒目的字体。
![1671162948968103.png 14.png](/ueditor/php/upload/image/20221216/1671162948968103.png)
在屏幕下方还需要显示剩余步数,如果步数达到了我们预设的值,显示提示休息文本,步数的预设值可以根据自身情况自行决定,这里预设步数为7000,需要用到“如果...否则”指令。
![1671170384891955.png 15.png](/ueditor/php/upload/image/20221216/1671170384891955.png)
![1671170409451837.png 16.png](/ueditor/php/upload/image/20221216/1671170409451837.png)
将程序编写完成:
![1671170440130637.png 17.png](/ueditor/php/upload/image/20221216/1671170440130637.png)
组合显示文本程序:
![1671170479639057.png 9.png](/ueditor/php/upload/image/20221216/1671170479639057.png)
根据提示文本“按A键开始计步”,即按下A键,OLED屏显示计步界面文本,即变量“flag”等于1,再根据提示文本“按B键步数清零”,即按下B键,OLED屏显示初始提示文本界面,即变量“flag”等于0,使用事件模块指令。
![1671170572129192.png 11.png](/ueditor/php/upload/image/20221216/1671170572129192.png)
我们在行走时,好搭掌控会摇晃,每当好搭掌控摇晃一下,证明我们走了一步,将变量“step”的值加1,但是只在计步界面,即flag等于1时执行该程序。
![1671170629865308.png 12.png](/ueditor/php/upload/image/20221216/1671170629865308.png)
完整程序如下图所示:
![1671170718785071.png 18.png](/ueditor/php/upload/image/20221216/1671170718785071.png)
显示效果如下:
![1671171674183152.jpg 20.jpg](/ueditor/php/upload/image/20221216/1671171674183152.jpg)