文档章节

TurnipBit - DIY音乐盒

bodasisiter
 bodasisiter
发布于 2017/07/18 17:07
字数 875
阅读 89
收藏 0

  一款可以自己DIY的音乐盒,要什么曲子,就自己谱曲啦!为他(她)制作一首他喜欢的音乐,来代表您的心意,也可以让他自己来制作他最爱的音乐哦!更可以带孩子一起体验谱写欢快的音乐。

  最近发现一很好玩的中国式BBCmicrobit开发板--TurnipBit开发板,既可以拖拽,也可以用micropython来编写,既有可视化编程页面,也有代码编写页面,属于孩子家长的神器,只需这一个开发板外加随便一个纸盒即可DIY一个简易的音乐盒,还能随便切换音乐哦!我们可以随便用一个纸盒来当做音乐盒外形跟框架,然后我们用这个板子加一个耳机或者一个外放就能播放我们自己谱写的音乐啦!下面我们开始DIY我们的音乐盒!

  首先材料准备,我们所需材料很简单只需要:

  1.TurnipBit开发板(我这个是朋友送的,可以从某宝上购买),给大家爆个照

  2.随便找个匹配大小的纸盒就行

  3.需要一个外放,耳机喇叭都行

  4.一条电源线

  材料准备好了,就开始搞吧!

  先上个成品图(孩子还给画了上一曲,下一曲以及显示屏的图标,虽然有点丑,但是不想打击孩子的积极性,挺萌的哈),micropython代码是我写的,显示屏的图形是孩子拖拽的,一起动手把开发板在盒子里面固定,数据线连接到电脑上,写好我们要编写的程序,将程序写进板子里,就直接可以播放啦,注意那个显示屏是动态的哦,简单吧,那就动手做起来吧!!!

  因为孩子比较喜欢两只老虎,就特意给他编了两只老虎,还有生日快乐的音乐,这个开发板类库中带很多孩子喜欢的图形还有音乐,也可以自己编译,如果要编译的话,请参考:

  https://en.wikipedia.org/wiki/Scientific_pitch_notation#Table_of_note_frequencies

  可以DIY乐谱哦!

  下面分享一下两种源码,可以在

  http://turnipbit.tpyboard.com/PythonEditor/editor.html#

  将我们的程序写入,放入我们TurnipBit开发板里面就行。

  1.简单的音乐程序

from microbit import *
import music

# DIY两只老虎乐谱
tiger= ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4",
        "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"]

while not False:
    display.show(Image.MUSIC_QUAVER)
    if button_a.is_pressed():
        music.play(tiger, wait=False, loop=True)
    elif button_b.is_pressed():
        music.play(music.BIRTHDAY, wait=False, loop=True)

  2.稍微复杂一点程序,带动态图像的

from microbit import *
import music
pix = [(5,0,0,0,5),(5,5,0,5,5),(0,9,0,9,0),(7,0,8,0,7),(0,9,9,9,0)]

#   diy两只老虎乐谱
tiger= ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4",
        "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"]

while not False:
    display.show(Image.MUSIC_QUAVER)
    if button_a.is_pressed():
        music.play(tiger, wait=False, loop=True)
        
        for down in range(0,5):
            for y in range(0,5):
                for x in range(0,5):
                    if y-down<0:
                        display.set_pixel(x,y,0)
                    else:
                        display.set_pixel(x,y,pix[y-down][x])
            sleep(300)
            
        for right in range(0,5):
            for y in range(0,5):
                for x in range(0,5):
                    if x-right<0:
                        display.set_pixel(x,y,0)
                    else:
                        display.set_pixel(x,y,pix[y][x-right])
            sleep(300)
            
        for up in range(0,5):
            for y in range(0,5):
                for x in range(0,5):
                    if y+up>4:
                        display.set_pixel(x,y,0)
                    else:
                        display.set_pixel(x,y,pix[y+up][x])
            sleep(300)
            
        for left in range(0,5):
            for y in range(0,5):
                for x in range(0,5):
                    if x+left>4:
                        display.set_pixel(x,y,0)
                    else:
                        display.set_pixel(x,y,pix[y][x+left])
            sleep(300)
            
        sleep(1000)
    elif button_b.is_pressed():
        music.play(music.BIRTHDAY, wait=False, loop=True)

 

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 19
博文 186
码字总数 170621
作品 0
潍坊
私信 提问
TurnipBit:可视化拼插式编程,全面激发青少年的编程热情

  “全民编程”已成一股热潮,青少年编程很快就会成为“下一个基础学科”。而今年起,浙江省高考也把信息技术作为选项之一加入了高考,编程就是其中的重点内容,加上很多编程比赛有可能成为...

bodasisiter
2017/08/09
0
0
让我们一起摇摆 Turnipbit体感遥控车

相信大家对Microbit是非常熟悉的,而今天我们做的这个小玩具所用的核心板是Turnipbit,是基于 Microbit开发的一块适合儿童适用的板卡。基本使用原理是一样的,这里就不多介绍了,代码这方面我...

bodasisiter
2018/02/24
0
0
[详细实例]MicroPython拼插编程实战:DIY一台会思考的壁障车

(转载请注明文章来源,更多教程可自助参考www.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇) 在日常生活中,大家会经常见到各种各样的遥控车,它需要我们人为的操作...

bodasisiter
2018/09/08
0
0
MicroPython实战之TurnipBit开发板DIY电子时钟

一、 实验目的: ?学习在PC机系统中扩展简单I/O 接口的方法 ?学习TurnipBit拼插编程 ?学习TurnipBit扩展板与DS3231时钟模块连接接线方式 ?学习时钟模块的使用 二、所需原器件: ?TurnipBit一...

bodasisiter
2018/06/26
0
0
MicroPython实例:TurnipBit开发板DIY自动浇水系统

1.实验目的: ?学习在PC机系统中扩展简单I/O 接口的方法 ?学习TurnipBit拼插编程 ?学习土壤传感器的工作原理以及使用方法 2.所需原器件: TurnipBit一块 TurnipBit扩展板一块 usb 数据线一条...

bodasisiter
2018/07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

漏洞防御与修复工作

漏洞管理工作是企业安全建设必不可少的一环,在风险管理工作中,漏洞管理能够防患于未然,企业对漏洞管理有着广泛的基础建设和实践经验。但随着攻防技术的发展,传统漏洞管理的安全技术和管理...

linuxprobe16
11分钟前
0
0
MicroPython技术及应用前景

1 Micropython技术是什么? MicroPython极精简高效的实现了Python3语言。它包含Python标准库的一小部分,能在单片机和受限环境中运行。 1.1 MicroPython发展 由剑桥大学的理论物理学家乔治....

bodasisiter
17分钟前
0
0
跟我学Spring Cloud(Finchley版)-13-通用方式使用Hystrix

本节详细讲解使用Hystrix的通用方式。 简介 Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性与容错性。Hystrix主要...

周立_ITMuch
25分钟前
0
0
🛠️Hanjst/汉吉斯特更新加JavaScript运行时优化等

这是 Hanjst/汉吉斯特 发布以来的首个主要升级更新版本。这次的主要升级更新的内容包括移除HTML Comments注释行, 优化在 Hanjst include模板文件时的JavaScript运行时环境。 Hanjst 在设计和...

wadelau
今天
2
0
OSChina 周六乱弹 —— 舔狗是没有好下场的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听什么# #今天听这个# 分享 Nirvana 的歌曲《Smells Like Teen Spi...》 《Smells Like Teen Spi...》- Nirvana 手机党少...

小小编辑
今天
438
13

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部