2018-3-1 15:20:35 [显示全部楼层]
6669浏览
查看: 6669|回复: 0

[入门教程] 玩转micro:bit-用BXY玩呼--吸--灯--

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

林忆莲的老歌。



我不怕呼吸,我在用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中会贴心的给出提示出三个参数及用法:
玩转micro:bit-用BXY玩呼--吸--灯--图2
我是小白,所以在程序中各种尝试下载运行,以帮助自己记清楚这些内容。
1、渐亮a
  1. from microbit import *
  2. #write your program:
  3. while 1:
  4.   for i in range(0,1024):
  5.     pin1.write_analog(i)
复制代码

2、渐亮b
  1. from microbit import *
  2. #write your program:
  3. while 1:
  4.   for i in range(1024):
  5.     pin1.write_analog(i)
复制代码

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

4、渐亮又渐暗
  1. from microbit import *
  2. #write your program:
  3. while 1:
  4.   for i in range(0,1024,4):
  5.     pin1.write_analog(i)
  6.     sleep(2)
  7.   for i in range(1023,-1,-4):
  8.     pin1.write_analog(i)
  9.     sleep(2)
复制代码
这里用到了for i in range(1023,-1,-4):向下计数。
当然也可这样写。
  1. from microbit import *
  2. #write your program:
  3. while 1:
  4.   for i in range(0,1024,4):
  5.     pin1.write_analog(i)
  6.     sleep(2)
  7.   for i in range(0,1024,4):
  8.     pin1.write_analog(1023-i)
  9.     sleep(2)
复制代码


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

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

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

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

mail