掌控拓展板(parrot)是掌控板衍生的一款体积小巧、易于携带的拓展板。支持电机驱动、语音播放、语音合成等功能的IO引脚扩展板,可扩展12路IO接口和2路I2C接口。
技术参数
该板具有以下特性:
两路DC马达驱动,单路电流150mA
支持音频功放和喇叭输出(掌控板P8,P9引脚)
支持文字转语音(Text To Speech)的语音合成
扩展12路IO接口、2路I2C接口
体积小巧、便携,易于携带
支持锂电池供电和外接USB电源供电两种方式
内置330mAH锂电池,支持锂电池循环充电
工作电压:3.3V
最大输出电流: 1A@3.3V
充电电流: 最大170mA
快递刚到,为做系列实验,特入手了二套拓展板掌控宝(带350ma电池)
组装好是这样的
4、掌控拓展板-按键控制TT电机
作为动作输出,接受高电平时可以通过连续旋转来给应用提供动力,可正反向,速度可调。这里使用单轴TT直流减速电机做实验。
技术参数
工作电压:VCC 3.3-5V
XH2.54间距端子线
单轴TT直流减速电机
模块30x70mm
#MicroPython动手做(24)——掌控板之拓展掌控宝
#按键控制TT电机
#MicroPython动手做(24)——掌控板之拓展掌控宝
#按键控制TT电机
from mpython import *
import time
import parrot
def on_button_a_down(_):
global aaa
time.sleep_ms(10)
if button_a.value() == 1: return
parrot.set_speed(parrot.MOTOR_1, 80)
time.sleep(1)
parrot.set_speed(parrot.MOTOR_1, 0)
parrot.set_speed(parrot.MOTOR_2, 0)
time.sleep(1)
button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)
mPython 图形编程
5、按键控制小车前进、后退与旋转
#MicroPython动手做(24)——掌控板之拓展掌控宝
#按键控制小车前进、后退与旋转
#MicroPython动手做(24)——掌控板之拓展掌控宝
#按键控制小车前进、后退与旋转
import parrot
from mpython import *
def forward():
parrot.set_speed(parrot.MOTOR_1, 80)
parrot.set_speed(parrot.MOTOR_2, 80)
oled.fill(0)
oled.blit(image_picture.load('face/Information/Forward.pbm', 0), 32, 0)
oled.show()
def retreat():
parrot.set_speed(parrot.MOTOR_1, -80)
parrot.set_speed(parrot.MOTOR_2, -80)
oled.fill(0)
oled.blit(image_picture.load('face/Information/Backward.pbm', 0), 32, 0)
oled.show()
def right():
parrot.set_speed(parrot.MOTOR_1, 80)
parrot.set_speed(parrot.MOTOR_2, -80)
oled.fill(0)
oled.blit(image_picture.load('face/Information/Right.pbm', 0), 32, 0)
oled.show()
import time
def on_button_a_down(_):
global aaa
time.sleep_ms(10)
if button_a.value() == 1: return
rgb.fill((int(0), int(102), int(0)))
rgb.write()
time.sleep_ms(1)
forward()
time.sleep(2)
Left()
time.sleep(1)
retreat()
time.sleep(2)
right()
time.sleep(1)
oled.fill(0)
parrot.set_speed(parrot.MOTOR_1, 0)
parrot.set_speed(parrot.MOTOR_2, 0)
rgb.fill( (0, 0, 0) )
rgb.write()
time.sleep_ms(1)
oled.show()
def Left():
parrot.set_speed(parrot.MOTOR_1, -80)
parrot.set_speed(parrot.MOTOR_2, 80)
oled.fill(0)
oled.blit(image_picture.load('face/Information/Left.pbm', 0), 32, 0)
oled.show()
image_picture = Image()
button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)
mPython 图形编程
6、播放本地声音文件
掌控板支持播放的文件类型比较多,如mp3、WAV等。由于掌控板存放文件的空间不大,一般采用mp3格式的本地文件会更加合适。为了有效利用存储空间,掌控板接受上传的文件也不能太大,目前版本限制100KB,也不适宜存放整首音乐,用于存放音效文件还是比较适宜的。
(1)将mp3文件上传至掌控板
点击mPythonX工具栏的“文件管理”,在文件管理对话框点击“上传到板”。在打开文件对话框选择文件类型为“所有文件”,选择所需的mp3文件,点击“打开”。最后按提示选择确定上传即可完成上传。(刷入文件的时间较长,几十KB的文件可能也需1-2分钟,请耐心等待)
刷入完成后,在“板载文件管理”窗口可见相应文件:
(2)播放本地文件:播放本地mp3文件与播放网络mp3的方法是一样的,只需把网络mp3地址改为本地文件名即可。
#MicroPython动手做(24)——掌控板之拓展掌控宝
#播放本地声音文件
#MicroPython动手做(24)——掌控板之拓展掌控宝
#播放本地声音文件
from mpython import *
import time
import audio
def on_button_a_down(_):
time.sleep_ms(10)
if button_a.value() == 1: return
oled.fill(0)
oled.DispChar("播放本地音乐......", 16, 16, 1)
oled.show()
audio.player_init()
audio.set_volume(66)
audio.play("music_1.mp3")
button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)
mPython X 图形编程