查看: 3010|回复: 0

[基础教程] 玩转micro:bit-用BXY玩呼--吸--灯--

[复制链接]
本帖最后由 rzyzzxw 于 2018-5-16 20:30 编辑

一个人坐在曾经属于我们两个人的咖啡店
空气中弥漫着咖啡的香味 
香烟味和香水昧
我却什么也闻不到
浮现着是你为我的笑容
闻到的是你淡淡的体香
想听到关于你一切一切和你独家幽默
从何时 
爱开始慢慢蒸发
而你也变成记忆的黑洞
让我必须否定你的存在 
掩埋了 
扭曲了
我害怕呼吸
截图201803011407231754.png

林忆莲的老歌。



我不怕呼吸,我在用BXY做呼吸灯。
主要学习用for循环。
还用到PWM输出。
我知道micro:bit的PWM输出范围是0-1023.
笔记:write_analog(value)
将value作为PWM值输出。value可以是0(0%占空比)与1023(100%占空比)之间的数。
所以在写程序时用到for i in range(0,1024):
每一次循环时i等于0,然后每次循环迭代加1,最后一次循环时,它将等于1023.
如果从0开始步长为1,还可写成for i in range(1024):
当然按步长2计数,它要写成for i in range(0,1024,2):
总结一下,range()函数会提供一个数字列表,从给定的数开始,在给定的最后一个数之前结束。
步长默认为1。
如果按步长计数,要加上第三个参数,这个参数可以把步长从默认的1改为不同的值。
如果步长改为负数,循环会向下计数。
BXY中会贴心的给出提示出三个参数及用法:
捕获.PNG
我是小白,所以在程序中各种尝试下载运行,以帮助自己记清楚这些内容。
1、渐亮a
[AppleScript] 纯文本查看 复制代码
from microbit import *
#write your program:
while 1:
  for i in range(0,1024):
    pin1.write_analog(i)

2、渐亮b
[AppleScript] 纯文本查看 复制代码
from microbit import *
#write your program:
while 1:
  for i in range(1024):
    pin1.write_analog(i)

如果感觉亮的太快,可以加上sleep()延时。
如果又感觉慢了,可以用上步长参数。
3、渐亮c
[AppleScript] 纯文本查看 复制代码
from microbit import *
#write your program:
while 1:
  for i in range(0,1024,4):
    pin1.write_analog(i)
    sleep(2)

4、渐亮又渐暗
[AppleScript] 纯文本查看 复制代码
from microbit import *
#write your program:
while 1:
  for i in range(0,1024,4):
    pin1.write_analog(i)
    sleep(2)
  for i in range(1023,-1,-4):
    pin1.write_analog(i)
    sleep(2)

这里用到了for i in range(1023,-1,-4):向下计数。
当然也可这样写。
[AppleScript] 纯文本查看 复制代码
from microbit import *
#write your program:
while 1:
  for i in range(0,1024,4):
    pin1.write_analog(i)
    sleep(2)
  for i in range(0,1024,4):
    pin1.write_analog(1023-i)
    sleep(2)


我写的帖子不能算教程,只是我个人的学习笔记,通过尝试实践来记录知识点滴。




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail