查看: 4340|回复: 3

[入门教程] 玩转micro:bit-用BXY玩360度舵机小车

[复制链接]
截图201803040944532687.png
幸福都是奋斗出来的,我要用代码写小车程序。
器材准备:
    1、Micro:Mate 1 micro:bit 1
截图201803031351318062.png
    2、360舵机  2
    3、舵机转接乐高十字轴 2  乐高轮 2
    4、Laserblock件  螺丝  
    5、电池盒及3节电池 USB供电口正好可以接扩展板
截图201803031352262407.png
一、编程,如何使360度舵机转动起来,我前面用图形化编程和360舵机做过小车,知道360舵机在接近90度时停止,在0度和180度时正反转速度最快。
可是如何在BXY中用代码写,真不会呢,好在我有shou主意。用盛思的软件找下相关句子。;P
捕获1.PNG
好了,在BXY中写,BXY中有提示,很适合我这样的小白呢。
说实话,控制舵机的代码还真不明白。
不过有了这两个句子,后面就好办了。
先让舵机转起来。
[AppleScript] 纯文本查看 复制代码
from microbit import *
#write your program:

pin8.set_analog_period(20)


while True:
  pin8.write_analog((0.5 + 60/90)*1023/20)

好的,能转,可以写下去了。
我要定义前进,后退,停止三个函数。
(刚刚查过如何定义函数;P)

[AppleScript] 纯文本查看 复制代码
from microbit import *
#write your program:

pin8.set_analog_period(20)

pin12.set_analog_period(20)

def go():
  pin8.write_analog((0.5 + 0/90)*1023/20)
  pin12.write_analog((0.5 + 180/90)*1023/20)

def back():
  pin8.write_analog((0.5 + 180/90)*1023/20)
  pin12.write_analog((0.5 + 0/90)*1023/20)

def stop():
  pin8.write_analog((0.5 + 90/90)*1023/20)
  pin12.write_analog((0.5 + 90/90)*1023/20)
  

while True:
  if accelerometer.current_gesture()==("face down"):
    stop()
  elif button_a.is_pressed():
    go()
  elif button_b.is_pressed():
    back()

下载运行,还好,按A按钮转,按B按钮反转,屏幕向下停。
二、如何停下来,还要多次测试
有两种办法,第一种:把停止的语句单独写个小程序,传到bit上,不断修改
  pin8.write_analog((0.5 + 90/90)*1023/20)
  pin12.write_analog((0.5 + 90/90)*1023/20)
这两个红色数字,至能够停下来为止。
第二种:小心拆开舵机,调整里面的电位器,至在90度时能停下来为止。
我两种都用过,上面程序中用了拆舵机调整的方法。
三、准备器材 ,用Laserblock搭小车。
12.jpg
13.jpg 15.jpg 14.jpg 17.jpg 19.jpg
好的,过程见上图。
自由发挥。
电池上有小孔,可以固定在Laserblock上,扩展板和bit用橡皮圈吊在车体上好了。
四、测试视频


就这样吧,后面可以有别的玩法了。 78.jpg


digi_cow  中级技匠

发表于 2018-3-4 19:39:48

主旋律导入:))
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-3-5 08:21:08


传播正能量。;P
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-5-2 08:41:31

BXY有自己的舵机控制模块,后面再更新一下。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail