0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用ATSAMD21G18 M0设计音乐相册

h1654155282.3538 来源:电子报 作者:h1654155268.1688 2021-06-06 14:56 次阅读

制作的音乐相册主要是在现有的普通相册上,通过Firebeetle M0实现照片的音乐控制,实现本文的音乐相册制作。Firebeetle M0主板的主芯片使用了一款ATSAMD21G18 ARMCortex M0+ 高性能32位处理器,而且还带一路数模转换DAC,可以通过MCU软件解析音频文件,并播放出声音。在主板上还集成了16MB SPI Flash,可以虚拟出一个12MB的U盘用于存储数据。可以通过USB将音频文件直接存储到Flash中,在加上必要的GPIO作为按钮的输入,一个Firebeetle M0主板可以完成我的这个作品。根据存储量计算,按单声道音乐存储WAV文件大概可以存储5分钟,对于一个相册放入5张左右的照片,即可完美的搭配在一起。

一、Firebeetle M0主板简介DFRobotFireBeetle是DFRobot小巧开发板系列,既可单独使用也可以堆叠使用,拥有不同的主控板与扩展板,多样的功能堆叠,简单的模块组合。FireBeetle M0,与arduino M0一样使用了ATSAMD21G18 ARM Cortex M0+高性能低功耗芯片,主频高达48MHz,拥有32KB RAM和256KB Flash,分别是Atmega328的8倍和16倍。FireBeetle M0搭载了16MB SPI Flash,其中内置了12MB U盘,大大简化用户的桌面系统与开发板的数据交互操作,并且支持基于SPIFlash的easy flash数据库,内置基于SPIFlash的字模,用户使用屏幕可直接显示中英日韩多国语言文字。使用了更方便的Type-C接口,更舒适的卧式按钮,板载了WS2812 RGB灯,并且板载了FPC插座用于连接屏幕,使用屏幕从未如此简单。Firebeetle M0主板功能及引脚描述见图1所示。

pYYBAGC8cZmAYokSAAOykg_3B0g222.png

二、电路设计基于模块化的设计,主要是对引脚功能辨别和外围元件的连接。本文按照图2所示进行电路设计和连接,以期达到预设功能的目的。

poYBAGC8cZmAFZtMAAJoMUOadOk773.png

三、Firebeetle M0主板SDK功能配置使用FirebeetleM0主板之前,首先需要下载并安装Arduino IDE开发环境,测试Firebeetle M0主板。在Arduino官方下载最新版本的IDE开发环境。IDE安装好以后,打开IDE,然后下载安装Firebeetle M0主板的SDK。具体步骤如下图3. 1.在Preferences界面点击Additional Boards Manager URLs最左边的窗口图标,将弹出输入URL的窗口。
2.将下面的链接地址复制到新弹出的对话框中:http://download.dfrobot.top/firebeetle/package_firebeetle_index.json。
3.点击OK将保存Firebeetle M0主板SDK的URL地址
4.点击Preferences界面的OK按钮保存配置

pYYBAGC8caiAdyYdAAHfk13mJnQ098.png

5、点击Tools -》 Board -》 Boards Manager(见图4)

pYYBAGC8ceqAD192AAH9Nc9qijQ647.png

6. 此时可以看到FirebeetleSAMD Board这个SDK,点击Install安装SDK。

7. 安装好以后我们就可以在Board界面看到Firebeetle M0主板的选项,我们选择Firebeetle M0,见图5。

poYBAGC8cemABlrbAAFx6D6PvYk297.png

8.通过USB线将Firebeetle M0主板连接到电脑,此时可看到操作系统发现了一个新的COM口,我们在Port菜单选择新的这个COM口。四、下载语音相册的代码到Firebeetle M0主板此时打开ArduinoIDE,点击Sketch -》 Include Library -》 Add .ZIPLibrar选择附件代码文件中的AudioZero.zip音频库,此时成功加入了音频库。操作如图6所示。

pYYBAGC8cfeAQlkbAAEPE9iI2C0879.png

pYYBAGC8dEyAc2WEAAFhpV77y68174.png

poYBAGC8dEyAXLYIAAGGKN5swSc077.png

pYYBAGC8dFuAOn1VAAE4Iq0uzxs357.png

pYYBAGC8dGSAYIicAAHY4KnNLEY521.png

poYBAGC8dHOAEj6zAAGFM6jAnm8675.png

poYBAGC8cfiAM5HlAAKBK4iEL-M103.png

图7点击Audacity软件File -》 Open打开刚才录音的0.m4a文件,点击音轨上方的下拉按钮,选择 Split Stereoto Mono 分离出单声道,操作见图8所示。

poYBAGC8cf-AJ3PQAASPl8gSf6E752.png

点击一个声道的Mute按钮对这个声道进行静音,ProjectRate选择44100Hz,见图9操作示意。

pYYBAGC8chCAd_spAAN5S_qGBzA851.png

图9点击File-》 Export -》Export as WAV,导出WAV文件,操作见图10所示。

poYBAGC8chGAGZS3AANYqfaWLwQ245.png

Encoding选择Unsigned 8-bit PCM格式,保存0.wav文件, 按照以上方法将其他4个.m4a文件转换为.wav文件。将Firebeetle M0主板通过USB线连接到电脑,双击侧面的RST按钮,此时主板上的RGB灯变成绿色(见图11),电脑也将弹出一个U盘,将准备好的5个.wav文件拷贝到这个U盘。拷贝的速度比通常的U盘慢,需要耐心等待。

图11拷贝完成后,我们单击RST按钮,进入到编程模式。最后,将电路装配到相册里。 根据自己的相册安装位置,将电路植入到相册中。到此即完成了音乐相册的制作。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 主板
    +关注

    关注

    53

    文章

    1875

    浏览量

    70773
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52059
收藏 人收藏

    评论

    相关推荐

    山灵M0使用体验

    作为蓝牙发射端M0作为蓝牙发射端可支持SBC、AAC、aptX、LDAC四种主流蓝牙编码方式。可替代手机连接各种主流的蓝牙耳机,蓝牙音箱。发射端仅输出数字音频信号,音乐音质主要取决于蓝牙设备内置电路
    发表于 08-06 12:59

    小有作为——山灵m0

    滤波eq也都带的有,效果还是比较明显的,喜欢折腾了可以玩一玩。主题能换,不过都是纯色,略微单调。M0的读卡速度有20,写入有15,不算多快,和手机一个水平,tf卡最大支持512g,我最大只有256g
    发表于 08-07 13:07

    性价比无敌的无损音乐播放器山灵M0

    `正是秋高气爽的好季节,出游,登高都是不错的选择,在漫长的路程中,最适合拿出耳机听几首歌曲。之前入手的大法的降噪耳机一直没有找到合适的高品质音乐播放器,这次非常有幸能够拿到山灵M0无损音乐播放器
    发表于 11-02 14:31

    基于React和Webpack的音乐相册做法

    基于 React + Webpack 的音乐相册项目(上)
    发表于 05-17 17:17

    Segger J-Link到标签连接TC2030-MCP-NL-10适配器板

    相互连接。您可以使用焊接跳线进行不同的连接或更改连接类型。在这里,为我的具有 ATSAMD21G18 的定制板进行了引脚连接。
    发表于 07-19 06:15

    NUC100,pdf(Cortex™-M0 32

    概述 NUC100系列为32位单片机,内建ARM®Cortex™-M0内核,用于工业控制及相关需要丰富信号通讯界面的应用场合。Cortex™-M0为ARM公司最新处理器内核并拥有与传统8位元
    发表于 09-21 02:37 96次下载

    NUC140,pdf(Cortex™-M0 32

    概述 NUC140系列为32位单片机,内建ARM®Cortex™-M0内核,用于工业控制及相关需要丰富信号通讯界面的应用场合。Cortex™-M0为ARM公司最新处理器内核并拥有与传统8位元
    发表于 09-21 02:56 46次下载

    芯唐M0指令集

    芯唐M0指令集,有需要的朋友可以下来看看。
    发表于 01-13 09:48 17次下载

    菜农M0助学板快速入门指南

    菜农M0助学板快速入门指南
    发表于 10-13 14:36 7次下载
    菜农<b class='flag-5'>M0</b>助学板快速入门指南

    dfrobotBluno M0 控制器介绍

    Bluno M0是当前唯一一款支持5V标准逻辑电平,采用ARM Cortex-M0内核的Arduino控制器。Bluno M0内置蓝牙芯片,支持蓝牙通信,无线编程等功能。
    的头像 发表于 01-02 13:53 1742次阅读
    dfrobotBluno <b class='flag-5'>M0</b> 控制器介绍

    dfrobotDFRduino M0主控板简介

    DFRduino M0是当前唯一一款支持5V标准逻辑电平,采用ARM Cortex-M0内核的Arduino主控板。
    的头像 发表于 01-03 08:44 2875次阅读
    dfrobotDFRduino <b class='flag-5'>M0</b>主控板简介

    megawin的M0系列设计的软件

    The “MG32CoGen” is a software designed for megawin’s M0 series. It is a graphical tool that users
    发表于 06-26 09:52 1次下载
    megawin的<b class='flag-5'>M0</b>系列设计的软件

    Cortex M0 HardFault诊断应用笔记

    电子发烧友网站提供《Cortex M0 HardFault诊断应用笔记.zip》资料免费下载
    发表于 09-22 10:22 0次下载
    Cortex <b class='flag-5'>M0</b> HardFault诊断应用笔记

    带有Cortex M0的定制微控制器

    电子发烧友网站提供《带有Cortex M0的定制微控制器.zip》资料免费下载
    发表于 12-13 10:12 1次下载
    带有Cortex <b class='flag-5'>M0</b>的定制微控制器

    魔法万圣节Magic Hallowing开源代码

    Magic Hallowing 使用Adafruit 的 Hallowing M0 Express。它包含 Microchip 的 ATSAMD21G18 微控制器,并具有大量功能。
    发表于 06-21 14:52 0次下载
    魔法万圣节Magic Hallowing开源代码