【雕爷学编程】MicroPython动手做(24)——掌控板之拓展掌控宝2

掌控拓展板(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 图形编程
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值