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

news2025/1/16 14:41:45

知识点:什么是掌控板?
掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED显示屏、RGB灯、加速度计、麦克风、光线传感器、蜂鸣器、按键开关、触摸开关、金手指外部拓展接口,支持图形化及MicroPython代码编程,可实现智能机器人、创客智造作品等智能控制类应用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

掌控板硬件特性:
ESP-32主控
处理器:Tensilica LX6双核处理器(一核处理高速连接;一核独立应用开发)
主频:高达240MHz的时钟频率
SRAM:520KB
Flash:8MB
Wi-Fi标准:FCC/CE/TELEC/KCC
Wi-Fi协议:802.11 b/g/n/d/e/i/k/r (802.11n,速度高达150 Mbps),A-MPDU和A-MSDU聚合,支持0.4us防护间隔
频率范围:2.4~2.5 GHz
蓝牙协议:符合蓝牙v4.2 BR/EDR和BLE标准
蓝牙音频:CVSD和SBC音频低功耗:10uA
供电方式:Micro USB供电
工作电压:3.3V
最大工作电流:200mA
最大负载电流:1000mA
掌控板载
三轴加速度计MSA300,测量范围:±2/4/8/16G
地磁传感器MMC5983MA,测量范围:±8 Gauss;精度0.4mGz,电子罗盘误差±0.5°
光线传感器
麦克风
3 颗全彩ws2812灯珠
1.3英寸OLED显示屏,支持16*16字符显示,分辨率128x64
无源蜂鸣器
支持2个物理按键(A/B)、6个触摸按键
支持1路鳄鱼夹接口,可方便接入各种阻性传感器
拓展接口
20通道数字I/O, (其中支持12路PWM,6路触摸输入)
5通道12bit模拟输入ADC,P0~P4
1路的外部输入鳄鱼夹接口:EXT/GND
支持I2C、UART、SPI通讯协议

在这里插入图片描述
在这里插入图片描述
掌控拓展板(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电池)

在这里插入图片描述
在这里插入图片描述

组装好是这样的

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

电源指示灯状态:
v1版本
电源输出指示功能: 3.3V输出,指示灯亮;无输出则灭。
v2版本
电源输出指示功能: 3.3V输出,指示灯亮;无输出则灭。
电池电量指示功能: 通过闪烁次数反馈电量,4档电量显示。

充电指示灯状态:
v1版本
注意:只能在电源开关打开下,才能指示充电放电状态。
充电指示功能: 充电中,指示灯亮;充满,指示灯熄灭;
放电指示功能: 通过指示灯闪烁次数来反馈电池电量。频率越快电量越低,电量满时,常亮。
v2版本
充电指示功能: 充电中,指示灯闪烁;充满,指示灯熄灭;
VCC: VCC电源区别与其他3.3V电压电源。提供3.3V以上更高的电压和更大的电流驱动。用于应付较大的驱动需求。电源路径管理,当没接USB充电时,VCC由电池电压直接提供;接上USB充电时,VCC由USB提供电源。

安装说明
掌控板和掌控拓展板都有3个孔,通过3个铜柱将两板连接连接,拧上螺丝固定,套入软质外壳即可,如图所示。

在这里插入图片描述

掌控宝功能说明

电机驱动

掌控拓展板支持2路的PWM电机驱动(掌控拓展板背面标记M1和M2),你可以接入直流电机马达(如TT马达、N20)和LED灯(满天星灯带)

I/O

掌控拓展板左右两侧扩展出12路I/O接口、2路I2C接口。可以通过这些接口接入经典的传感器输入模块,输出模块。例如:按键、人体红外、超声波、LED、马达、蜂鸣器、数码管… 拓展板扩展引脚有P0、P1、P2、P3、P5、P6、P7、P11、P13、P14、P15、P16、P19(SCL)、P20(SDA)

重要

由于P5、P11是掌控板的按键A、B的IO引脚,为避免冲突,限定拓展板的P5、P11引脚只能用于数字电平输入,且拓展板会对输入电平进行翻转。在使用时,须重点注意!

喇叭—音频播放

掌控拓展板内置喇叭,支持音频播放。

语音合成(TTS)

将文本转化为文字,让机器能够说话。这样就可以给掌控板添上“嘴巴”。比如在程序内输入你想要说话的内容,让它说给你听。

Python库

parrot 模块 : 用于电机驱动功能

audio 模块 : 用于音频播放功能

1、通过音频模块播放网络歌曲

#MicroPython动手做(24)——掌控板之拓展掌控宝
#通过音频模块播放网络歌曲(掌控宝内置喇叭)

#MicroPython动手做(24)——掌控板之拓展掌控宝
#通过音频模块播放网络歌曲(掌控宝内置喇叭)

from mpython import *
import network
import audio
import time

my_wifi = wifi()

my_wifi.connectWiFi("zh", "zy1567")


audio.player_init()
audio.set_volume(70)
audio.play("http://wiki.labplus.cn/images/4/4e/Music_test.mp3")
while True:
    oled.fill(0)
    oled.DispChar("播放网络歌曲", 30, 16, 1)
    oled.DispChar("春天在哪里", 35, 32, 1)
    oled.show()
    rgb[1] = (int(0), int(51), int(0))
    rgb.write()
    time.sleep_ms(1)

播放网络音频
要播放网络上mp3音频文件,需要知道音频的URL地址。目前,大部分的音乐网受版权保护,并不直接提供音乐的URL,你可以通过一些插件爬取音频的URL地址。

注解
掌控板需要确保连接网络通畅。URL必须是完整的网络地址,否则无法解析。音频解码功能使用到 audio 模块的 audio.play(url) 函数, url 参数可以为音源的本地文件系统的路径或网络URL地址。

mPython X 图形编程
在这里插入图片描述

在这里插入图片描述

2、拓展掌控宝的元件布局

在这里插入图片描述
在这里插入图片描述

3、拓展掌控宝驱动电机函数

拓展板支持2路的PWM电机驱动,可以使用直流电机马达,如TT马达、N20等。

(1)首先导入parrot模块:

import parrot

(2)M1、M2,正转速度设为80:

import parrot                           # 导入parrot 模块

parrot.set_speed(parrot.MOTOR_1,80)       #  设置M1正转,速度为80
parrot.set_speed(parrot.MOTOR_2,80)       #  设置M2正转,速度为80

(3)反转:

parrot.set_speed(parrot.MOTOR_1,-80)      #  设置M1反转,速度为80
parrot.set_speed(parrot.MOTOR_2,-80)      #  设置M2反转,速度为80

(4)停止:

parrot.set_speed(parrot.MOTOR_1,0)        # 停止
parrot.set_speed(parrot.MOTOR_2,0)        # 停止

控制电机速度使用到函数 set_speed(motor_no, speed) 。motor_no 参数为电机编号,可选编号常量有 MOTOR_1 、MOTOR_2 。 speed 参数为速度,范围-100~100,正值表示正转,负值时表示负转。 当某些时候需要知道当前设置的速度值时,你可以用 get_speed(motor_no) 返回当前电机速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/814572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【雕爷学编程】MicroPython动手做(23)——掌控板之WiFi与蓝牙2

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

1400*D. Candy Box (easy version)(贪心)

3 10 9 Example input 3 8 1 4 8 4 5 6 3 8 16 2 1 3 3 4 3 4 4 1 3 2 2 2 4 1 1 9 2 2 4 4 4 7 7 7 7 output 题意: n个糖果,分为多个种类,要求尽可能的多选,并且使得不同种类的数量不能相同。 解析: 记录每种糖…

音视频技术开发周刊 | 304

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 更强的Llama 2开源,可直接商用:一夜之间,大模型格局变了 Meta 终于发布了大家期待已久的免费可商用版本 Llama 2。 6000份问卷透露出AI…

Java生成二维码——附Utils工具类

参加2023年的计算机设计大赛国赛,拿到了一等奖。 现在将项目中的工具类代码剥离出来,方便之后项目开发中复用。 实现效果: 代码实现: import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import c…

挑战双面侧柱碰试验:比亚迪CTB保障高品质出行

对于用户来说,选择汽车时最应该重视的要素是什么? 第一,是安全;第二,是安全;第三,还是安全! 那么作为新能源汽车的代表,比亚迪在保障驾乘人员的安全方面又是怎样做的呢&a…

基于SpringCloud+Vue的分布式架构网上商城系统设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

FPGA实现NIC 10G UDP协议栈网卡,纯verilog代码编写,提供工程源码和技术支持

目录 1、前言2、我这里已有的UDP方案3、10G网卡基本性能简介4、详细设计方案接口概述PCIe HIPDMA IFAXI总线接口时钟同步处理TXQ和RXQ队列TXCQ和RXCQ队列完成EQ MAC PHY流水线队列管理发送调度程序端口和接口数据路径以及发送和接收引擎分段内存接口 5、vivado工程详解6、上板…

国内 github.com经常打不开的解决办法

1、打开网站http://tool.chinaz.com/dns/ 2、在A类型中填写github.com,再点击监测按钮 3、复制下面任意一个ip 4、打开电脑文件C:\Windows\System32\drivers\etc下的host文件 5、在host文件的最后一刚加入刚才复制的IP 6、重新打开GitHub

对外接口签名生成方式

接口签名生成方式 前言 当某个系统对外部系统提供接口访问时,为提高接口请求安全性,往往会在接口访问时添加签名,当外部系统访问本系统签名验证成功时才能正常返回数据,一般接口提供方会与外部系统提前约定好,不同外…

六天入门PyTorch深度学习(1/6)

六天带你入门PyTorch深度学习(1/6) 之PyTorch初认识 Pytorch深度学习快速入门简易教程,适合所有新手学习打好框架基础 跟着我的节奏一步一步学,一周即可掌握 跟着我的节奏一步一步学,一周即可掌握 import torch #导入torch库&#xff0c…

django4.2 day1Django快速入门

1、创建虚拟环境 打开cmd安装virtualenv pip install virtualenvwrapper-winworkon 查看虚拟环境mkvirtualenv 创建新的虚拟环境删除虚拟环境 rmvirtualenv 进入虚拟环境 workon env 2、创建django虚拟环境并安装django 创建虚拟环境mkvirtualenv django4env进入虚拟环境安…

Mycat-Balance使用指南

MyCAT Balance是一个Java NIO的高性能负载均衡器,可以替代普通的硬件的交换机或其LVS类似的复杂机制,实现MyCAT集群的负载均衡。 MyCAT Balance的配置文件在conf目录下,frontend-conf.为前端配置,包括绑定的端口等,js…

牛客网Verilog刷题——VL45

牛客网Verilog刷题——VL45 题目解析答案 题目 请根据题目中给出的双口RAM代码和接口描述,实现异步FIFO,要求FIFO位宽和深度参数化可配置。电路的接口如下图所示。 双口RAM端口说明: 异步FIFO端口说明: 双口RAM代码如下&#xff0…

第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面

文章目录 第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面使用 HL7 消息查看器页面选择选项解析消息 第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面 使用 HL7 消息查看器页面 为 HL7 提供了消息查看器页面。可以使用此页面显示、转换和导出 HL7 消息&#xff0…

【力扣每日一题】2023.7.31 重排链表

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 给我们一个链表,让我们按照题目要求原地修改重排链表。 那么具体怎么个重排法呢,题目给出了一串式子,其实就是把链表分为前后两段,然后在前半段的节…

【UDS诊断】:学习记录

学习记录 诊断分层诊断命令诊断理解UDS的寻址模式UDS的服务类型 参考文件 诊断分层 (上述图片来源于:ISO 14229-1-2013) UDS包含了ISO 14229下属的7个子协议 诊断命令 UDS的请求命令有4种构成方式: SIDSIDSF(Sub-fu…

开源项目audioFlux: 针对音频领域的深度学习工具库

audioFlux是一个Python和C实现的库,提供音频领域系统、全面、多维度的特征提取与组合,结合各种深度学习网络模型,进行音频领域的业务研发,下面从时频变换、频谱重排、倒谱系数、解卷积、谱特征、音乐信息检索六个方面简单阐述其相…

当 Spark 任务出现数据倾斜的问题时该如何处理呢?

前言 最近一位数仓同学问我,当 Spark 任务出现数据倾斜的问题时该如何处理呢?那么今天就来讲一下遇到了数据倾斜问题时处理的方式方法。 1)数据倾斜的定义 Spark 中的数据倾斜问题主要指 shuffle 过程中出现的数据倾斜问题,是由于不同的 key 对应的数据量不同导致的不同t…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 27 日论文合集)

文章目录 一、检测相关(6篇)1.1 Memory-Efficient Graph Convolutional Networks for Object Classification and Detection with Event Cameras1.2 PNT-Edge: Towards Robust Edge Detection with Noisy Labels by Learning Pixel-level Noise Transitions1.3 Controllable Gu…

C/C++程序的翻译与执行

🚀write in front🚀 📜所属专栏:> c语言学习 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…