“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| | + | [[文件:重力小车.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 |
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)