软件设计
打开makecode,采用图形块编写以下程序(不用添加软件包):


该程序的JavaScript代码如下所示,可直接复制至makecode使用:
cpp代码:
01let time = 0
02let item = 0
03let count = 0
04pins.onPulsed(DigitalPin.P1, PulseValue.Low, () =》 {
05 if (input.runningTime() - time 》 50) {
06 time = input.runningTime()
07 count = count + 1
08 }
09 time = input.runningTime()
10 serial.writeValue(“press”, 0)
11})
12pins.onPulsed(DigitalPin.P0, PulseValue.Low, () =》 {
13 if (input.runningTime() - time 》 50) {
14 time = input.runningTime()
15 count = count - 1
16 }
17 time = input.runningTime()
18 serial.writeValue(“press”, 0)
19})
20pins.onPulsed(DigitalPin.P2, PulseValue.Low, () =》 {
21 count = 0
22 serial.writeValue(“press”, 1)
23})
24count = 0
25item = 0
26time = input.runningTime()
27pins.setPull(DigitalPin.P0, PinPullMode.PullUp)
28pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
29pins.setPull(DigitalPin.P2, PinPullMode.PullUp)
30serial.redirectToUSB()
31basic.forever(() =》 {
32 while (item != count) {
33 item = count
34 serial.writeValue(“item”, item)
35 }
36 basic.pause(500)
37})
下载,等下载成功后,点击显示数据(设备),依次顺时针旋转Rotation Sensor,逆时针旋转Rotation Sensor,按下Rotation Sensor,可得如下波形的数据:
由makecode控制台显示的数据可知,当旋钮顺时针旋转时,每转一个刻度,item变量将加1,当旋钮逆时针旋转时,每转一个刻度,item变量将减1,当按下旋钮时,item数据将归零,符合预期。
软件设计
打开makecode,采用图形块编写以下程序(不用添加软件包):


该程序的JavaScript代码如下所示,可直接复制至makecode使用:
cpp代码:
01let time = 0
02let item = 0
03let count = 0
04pins.onPulsed(DigitalPin.P1, PulseValue.Low, () =》 {
05 if (input.runningTime() - time 》 50) {
06 time = input.runningTime()
07 count = count + 1
08 }
09 time = input.runningTime()
10 serial.writeValue(“press”, 0)
11})
12pins.onPulsed(DigitalPin.P0, PulseValue.Low, () =》 {
13 if (input.runningTime() - time 》 50) {
14 time = input.runningTime()
15 count = count - 1
16 }
17 time = input.runningTime()
18 serial.writeValue(“press”, 0)
19})
20pins.onPulsed(DigitalPin.P2, PulseValue.Low, () =》 {
21 count = 0
22 serial.writeValue(“press”, 1)
23})
24count = 0
25item = 0
26time = input.runningTime()
27pins.setPull(DigitalPin.P0, PinPullMode.PullUp)
28pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
29pins.setPull(DigitalPin.P2, PinPullMode.PullUp)
30serial.redirectToUSB()
31basic.forever(() =》 {
32 while (item != count) {
33 item = count
34 serial.writeValue(“item”, item)
35 }
36 basic.pause(500)
37})
下载,等下载成功后,点击显示数据(设备),依次顺时针旋转Rotation Sensor,逆时针旋转Rotation Sensor,按下Rotation Sensor,可得如下波形的数据:
由makecode控制台显示的数据可知,当旋钮顺时针旋转时,每转一个刻度,item变量将加1,当旋钮逆时针旋转时,每转一个刻度,item变量将减1,当按下旋钮时,item数据将归零,符合预期。
举报