中国孩子的micro:bit:TurnipBit自制小乐器教程实例
孩子们是最贪玩的也是最聪明的,因此在过去的数年中,市面上出现了不少寓教于乐的理工科知识(STEM)学习新方法。如今这类产品中又有了一名新成员,TPYBoard重磅推出一款针对小白、中小学生的可编程计算机设备,意在依靠“炫酷”来吸引孩子学习编程知识。
编程像乐高一样简单!
TurnipBit不需要在电脑上写代码,枯燥地学习编程,而是通过图形化拖拖拽拽的编程方式,轻松地创造出自己的游戏、音乐、科学实验,以及控制机器人。
TurnipBit自制小乐器
下面就使用TurnipBit制作了一款简易的乐器,分享出来给大家交流学习一下。自己在家里也可以带着孩子一起动手做起来!
实物成品如下图:

这个小乐器的主要是能依靠可调电阻调节输入电压,再通过蜂鸣器发出不同音调的音乐出来,里面的蓝色圆柱LED灯主要是用来显示一下当前的输入电压(可不要),LED灯越亮,蜂鸣器输出的音调越高。使用板子LED灯的亮度和度数显示当前的频率高低。
小乐器制作过程:
这个简易的乐器主要使用的器件如下:
TurnipBit一块
蜂鸣器一个(TurnipBit上面自带了耳机接口,没有蜂鸣器接上耳机和音响,或许效果更好)
可调电阻一个
杜邦线四根
鳄鱼钳导线一根
LED一个(可以不要)
面包板一个(也可以直接用线连接针脚的,用面包板好看一些)
1.蜂鸣器简要介绍
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。
2.可调电阻简要介绍
可调电阻的标称值是标准可以调整到最大的电阻阻值,理论上,可调电阻的阻值可以调整到0与标称值以内的任意值上,但因为实际结构与设计精度要求等原因,往往不容易100%达到“任意”要求,只是“基本上”做到在允许的范围内调节,从而来改变阻值。
可调电阻一共有三个引脚,两边的引脚分别接3.3V和GND,中间的引脚接到想要读取电压值的引脚上。
硬件接线方法如下图:

这次主要是要使用图形编码来制作的小实验,这次需要用到的命令主要有音乐里面的播放音调命令,逻辑里面的如果和判断条件命令,循环里面的重复命令和读取ADC值的命令等。
接下来就一一介绍一下这些命令的选择和命令中参数的使用方法进行介绍和讲解。
1.播放音调命令
播放音调命令就是控制蜂鸣器播放出相应的音调的声音。
下面讲解一下各个参数和使用方法。
使用这个命令的时候,在命令选择区域中,选择音乐,选择播放音调命令,如图

播放音调命令中共有两个参数,这两个参数分别控制蜂鸣器输出的音调和输出时间,如下图:
2.如果和判断条件命令
如果和判断条件命令,使用如果命令,是为了判断命令里面的判断条件命令是否成立,如果成立则执行相应的命令。
使用如果和判断条件命令,需要在命令选择区域里面选择逻辑,选择如果和判断条件命令即可,如下图:

在选择了如果命令的时候,必须要加上判断条件命令,具体格式如下图:

3.重复命令
重复命令是在判断一个条件是否成立,如果这个条件成立,则执行相应的指令。
使用重复命令,在命令选择区域中选择循环,选择重复命令,如下图:

在选择了重复命令后,在判断条件上加入一个逻辑里面的真命令,即可完成一个无限循环,如下图:

4.读取ADC值
读取ADC值的命令,是为了读取相应的引脚输入的电压值。
选择读取ADC值的命令,需要在命令选择区域,选择引脚,选择读取X引脚的模拟电压值,如下图:

上面介绍了基本的命令的使用方法,下面说一个这次要制作的小乐器的基本原理。
这个小乐器的的控制端是一个接在电源上的一个可调电阻,利用改变阻值来改变相应的输出音调。下面贴上我做的代码的截图:



中国孩子的micro:bit:TurnipBit自制小乐器教程实例的更多相关文章
- TurnipBit:DIY音乐盒教程实例
一款可以自己DIY的音乐盒,要什么曲子,就自己谱曲啦!为他(她)制作一首他喜欢的音乐,来代表您的心意,也可以让他自己来制作他最爱的音乐哦!更可以带孩子一起体验谱写欢快的音乐. 最近发现一很好玩的中国式 ...
- MICRO SIM卡(SIM小卡)尺寸图及剪卡图解
如今使用MICRO SIM卡的手机越来越多.近期刚刚买了一个手机到手才发现尼马使用的是MICRO SIM卡.再去买剪卡器吧,十几二十块用一次就废了,去营业厅吧.又比較远,懒的出门.怎么办呢,自己剪!这 ...
- 微信小程序教程汇总
目前市面上在内测期间出来的一些实战类教程还是很不错的,主要还是去快速学习小程序开发的整体流程,一个组件一个组件的讲的很可能微信小程序一升级,这个组件就变了,事实本就如此,谁让现在是内测呢.我们不怕,下 ...
- 微信小程序 教程之引用
系列文章: 微信小程序 教程之WXSS微信小程序 教程之引用微信小程序 教程之事件微信小程序 教程之模板微信小程序 教程之列表渲染微信小程序 教程之条件渲染微信小程序 教程之数据绑定微信小程序 教程之 ...
- 微信小程序之微信登陆 —— 微信小程序教程系列(20)
简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自 ...
- 使用mpvue开发小程序教程(一)
前段时间,美团开源了mpvue这个项目,使得我们又多了一种用来开发小程序的框架选项.由于mpvue框架是完全基于Vue框架的(重写了其runtime和compiler),因此在用法上面是高度和Vue一 ...
- 使用mpvue开发小程序教程(二)
在上篇文章中,我们介绍了使用mpvue开发小程序所需要的一些开发环境的搭建,并创建了第一个mpvue小程序代码骨架并将其运行起来.在本文中,我们来研究熟悉一下mpvue项目的主要目录和文件结构. 在V ...
- 使用mpvue开发小程序教程(三)
在上一篇文章中,我们熟悉了一下通过vue-cli生成的mpvue工程代码骨架的基本结构,大致了解了每一个部分的代码到底要放到何处.从本文起我们就开始涉及真正的编码部分,学习使用Vue的语法去编写小程序 ...
- 使用mpvue开发小程序教程(四)
在上一章节中,我们将vue-cli命令行工具生成的代码骨架中的src目录清理了一遍,然后从头开始配置和编写了一个可以运行的小程序页面,算是正真走上了使用mpvue开发小程序的第一步.今天我们将进一步来 ...
随机推荐
- ofBiz-groovy-freemarker
ofBiz-groovy-freemarker根据浏览器的地址不同进入不同的页面 第一步:(2选一)创建groovy文件,或者java文件.在文件中定义变量 要放在 request.setAttrib ...
- 如何设置html中img宽高相同-css
最近项目中有一个问题,做一个响应式的盒子,随着屏幕的变化, 宽高一直保持相等,之前一直使用js动态设置,获取盒子的宽度来设置盒子高度. 但是加载时样式显示不是很好,后来直接用css实现. html部分 ...
- 【 全干货 】5 分钟带你看懂 Docker !
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者丨唐文广:腾讯工程师,负责无线研发部地图测试. 导语:Docker,近两年才流行起来的超轻量级虚拟机,它可以让你轻松完成持续集成.自动交付 ...
- 关于signal和fork的思考
fork可以在linux中创建子进程.先看man手册里面的东西: SYNOPSIS #include <unistd.h> pid_t fork(void);DES ...
- 自学Zabbix3.8.2-可视化Visualisation-maps网络地图
自学Zabbix3.8.2-可视化Visualisation-maps网络地图 可以简单的理解为动态网络拓扑图,可以针对业务来配置zabbix map,通过map可以了解应用的整体状况:服务器是否异常 ...
- json api
from flask import Flask, redirect, url_for, jsonify, request app = Flask(__name__) users = [] ''' RE ...
- 刚 安装 Oracle时,登录会出现的问题, ora-28000: the account is locked
来这个连接 就OK了: https://jingyan.baidu.com/article/48b37f8d1ec3fd1a6464883a.html 第一步: 进入cmd: 然后将下面的sql输入就 ...
- JavaScript操作符(布尔操作符、乘性操作符和加性操作符)
布尔操作符 布尔操作符用来测试两个值的关系,布尔操作符有三个,逻辑非(!).逻辑与(&&),逻辑或(||). 逻辑非由一个叹号(!)组成,可以应用于JavaScript任何值.逻辑非首 ...
- 《Netty5.0架构剖析和源码解读》【PDF】下载
<Netty5.0架构剖析和源码解读>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062545 内容简介 Netty 是个异步的 ...
- 【Zookeeper】源码分析目录
Zookeeper源码分析目录如下 1. [Zookeeper]源码分析之序列化 2. [Zookeeper]源码分析之持久化(一)之FileTxnLog 3. [Zookeeper]源码分析之持久化 ...