“Example 1 bluebit重力遥控小车”的版本间的差异

来自Labplus盛思维基百科
跳转至: 导航搜索
第6行: 第6行:
  
 
'''<big>Description:</big><br />'''  
 
'''<big>Description:</big><br />'''  
通过micro:bit重力感应遥控blue:bit小车<br /><br />
+
通过micro:bit重力感应遥控blue:bit小车<br />
 +
使用方法:按下micro:bit A按键左右前后倾斜,通过2轴重力控制小车
 +
<br /><br />
  
 
'''<big>Connection:</big><br />'''
 
'''<big>Connection:</big><br />'''
 +
{| class="wikitable"
 +
|-
 +
| 小车左电机 || AN1->P14<br /> AN2->P13
 +
|-
 +
| 小车右电机 || AN1->P16<br /> AN2->P15
 +
|}
 +
 
{|
 
{|
 
|-
 
|-
 
|  
 
|  
[[文件:重力小车.png|800px|无框|左]]
+
[[文件:重力小车.png|850px|无框|左]]
 
|}
 
|}
 
<br /><br />
 
<br /><br />
 
'''<big>Programs:</big><br />'''
 
'''<big>Programs:</big><br />'''
 +
* <big>microbit重力遥控端程序</big>
 +
<pre style="color:blue">
 +
from microbit import *
 +
import radio
 +
radio.on()
 +
radio.config(length=8, queue=3, channel=79, power=7,
 +
            address=0x44773311, group=0x1B, data_rate=radio.RATE_250KBIT)
 +
   
 +
msg = bytearray(5)
 +
x = 0
 +
y = 0
 +
z = 0
 +
a = 0
 +
while True:
 +
    x = accelerometer.get_x()
 +
    y = accelerometer.get_y()
 +
    z = accelerometer.get_z()
 +
    if button_a.is_pressed():
 +
        a=1
 +
    else:
 +
        a=0
 +
   
 +
    x = x + 10000;
 +
    msg[0] = int(x / 256)
 +
    msg[1] = x % 256
 +
    y = y + 10000;
 +
    msg[2] = int(y / 256)
 +
    msg[3] = y % 256
 +
    msg[4] = a
 +
    radio.send_bytes(msg)
 +
    sleep(50)
 +
</pre>

2018年1月30日 (二) 10:50的版本

Part list:

  • 1x micro:bit
  • 1x blue:bit-主板
  • 2x blue:bit-电机驱动


Description:
通过micro:bit重力感应遥控blue:bit小车
使用方法:按下micro:bit A按键左右前后倾斜,通过2轴重力控制小车

Connection:

小车左电机 AN1->P14
AN2->P13
小车右电机 AN1->P16
AN2->P15
重力小车.png



Programs:

  • microbit重力遥控端程序
from microbit import *
import radio
radio.on()
radio.config(length=8, queue=3, channel=79, power=7, 
             address=0x44773311, group=0x1B, data_rate=radio.RATE_250KBIT)
    
msg = bytearray(5)
x = 0
y = 0
z = 0
a = 0
while True:
    x = accelerometer.get_x()
    y = accelerometer.get_y()
    z = accelerometer.get_z()
    if button_a.is_pressed():
        a=1 
    else:
        a=0
    
    x = x + 10000;
    msg[0] = int(x / 256)
    msg[1] = x % 256
    y = y + 10000;
    msg[2] = int(y / 256)
    msg[3] = y % 256
    msg[4] = a
    radio.send_bytes(msg)
    sleep(50)