parrot
--- 掌控拓展板驱动¶
掌控拓展板parrot是mPython掌控板衍生的一款体积小巧、易于携带。支持电机驱动、语音播放、语音合成等功能的IO引脚扩展板,可扩展12路IO接口和2路I2C接口。 该库为掌控拓展板提供电机驱动,LED驱动等功能。
电机控制I2C通讯协议数据格式:
Type | Command | motor_no | speed(int) |
控制电机 | 0x01 | 0x01/0x02 | -100~100 |
当 'speed' 为负值,反转;当为正值,正转。
-
parrot.
MOTOR_1
¶ M1电机编号,0x01
-
parrot.
MOTOR_2
¶ M2电机编号,0x02
-
parrot.
get_speed
(motor_no)[源代码]¶ 返回电机速度
参数: motor_no (int) -- 控制电机编号,可以使用 MOTOR_1
,MOTOR_2
,或者直接写入电机编号。返回类型: int 返回: 返回该电机速度
-
class
parrot.
IR_encode
[源代码]¶ 红外编码类
-
class
parrot.
IR
[源代码]¶ 红外收发管的抽象类,用于红外发射和学习。
-
send
(buff, repeat_en=0)[源代码]¶ 发送红外脉冲数据buff
参数: - buff (bytes) -- 可以是
IR_encode.encode_nec
返回的buff。或,学习后的buff。 - repeat_en (init) -- 重复码。用于表示按键常按。当repeat_en为1时,会不断发送重复码,直至
stop_send
停止发送。
- buff (bytes) -- 可以是
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import parrot
from mpython import sleep_ms,sleep
# 可设置速度范围为-100到100。
# 当值为正值时,电机正转;为负值时,电机反转;
while True:
# 设置正转速度100
parrot.set_speed(parrot.MOTOR_1,100)
parrot.set_speed(parrot.MOTOR_2,100)
print("current motor speend: %d,%d" %(parrot.get_speed(parrot.MOTOR_1),parrot.get_speed(parrot.MOTOR_2))) #获取电机速度
sleep(5)
# 设置反转速度100
parrot.set_speed(parrot.MOTOR_1,-100)
parrot.set_speed(parrot.MOTOR_2,-100)
print("current motor speend: %d,%d" %(parrot.get_speed(parrot.MOTOR_1),parrot.get_speed(parrot.MOTOR_2))) #获取电机速度
sleep(5)
# 停止
parrot.set_speed(parrot.MOTOR_1,0)
parrot.set_speed(parrot.MOTOR_2,0)
print("current motor speend: %d,%d" %(parrot.get_speed(parrot.MOTOR_1),parrot.get_speed(parrot.MOTOR_2))) #获取电机速度
sleep(2)
|
1 2 3 4 5 6 7 8 9 10 11 12 | import parrot
import time
ir_code = parrot.IR_encode()
ir = parrot.IR()
ir_buff = ir_code.encode_nec(1, 85)
while True:
ir.send(ir_buff, 1)
time.sleep(3)
ir.stop_send()
time.sleep(3)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | from mpython import *
import parrot
import time
def on_button_a_pressed(_):
global data
ir.learn()
time.sleep(4)
if 0 == ir.__get_learn_status():
data = ir.get_learn_data()
print(data)
else:
print('什么都没学到...')
button_a.event_pressed = on_button_a_pressed
def on_button_b_pressed(_):
global data
print(data)
ir.send(data, 0)
button_b.event_pressed = on_button_b_pressed
ir = parrot.IR()
data = None
|