本文引自墨意MOE公众号”小花计划日记-1“
2019年08月30日
家有儿女,生活就有了圆心,在能所能及的半径范围内希望为孩子们做点有趣的东西。
在教育孩子上,我不吝啬对孩子的认可,相信鼓励会让孩子更好成长,所以在生活中总会有这样的对话:“今天表现的很棒,给你记一朵小红花”,但每次都是随口一说,随手一记,没有完整的记录,孩子也没有完全接受这样的机制。
所以今天开始,作为工程师的萌爸ABC,要为孩子们做一个产品,用于便捷高效记录孩子良好的表现,史称“小红花”计划。(WHY)
项目资料将在 https://github.com/ianhom/LittleRedFlower 进行更新,欢迎一同参与这个计划只有一个原则:快速迭代,逐步完善。不论当前版本的实现方式、产品形态多么不靠谱,都要保证完整的核心功能点,以验证需求,进一步定义和实现产品。(HOW)
需求:当孩子有好的表现时,可以快速记一朵小红花。简单来说就是如图所示(WHAT)
重申一下原则:快速迭代,逐步完善,作为坐拥200+块开发板的(伪)嵌入式工程师,选择一块最便捷的板子入手——BBC micro:bit。不需要IDE、仿真器、SDK,仅需一根USB线和web IDE就可以直接刚。
1、实现小红花界面
2、控制小红花界面出现3、控制小红花界面消失
对应的JavaScript代码如下
Code: Select all
input.onButtonPressed(Button.A, function () {
state = 1
})
input.onButtonPressed(Button.B, function () {
state = 0
})
let state = 0
basic.showIcon(IconNames.Happy)
state = 0
basic.forever(function () {
if (state) {
basic.showLeds(`
. . # . .
. # # # .
. . # . .
. . # . .
. . # . .
`)
basic.pause(100)
basic.showLeds(`
. # # # .
# # . # #
. # # # .
. . # . .
. . # . .
`)
basic.pause(100)
} else {
basic.showIcon(IconNames.Happy)
}
})