孩子们是最贪玩的也是最聪明的,因此在过去的数年中,市面上出现了不少寓教于乐的理工科知识(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自制小乐器教程实例的更多相关文章

  1. TurnipBit:DIY音乐盒教程实例

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

  2. MICRO SIM卡(SIM小卡)尺寸图及剪卡图解

    如今使用MICRO SIM卡的手机越来越多.近期刚刚买了一个手机到手才发现尼马使用的是MICRO SIM卡.再去买剪卡器吧,十几二十块用一次就废了,去营业厅吧.又比較远,懒的出门.怎么办呢,自己剪!这 ...

  3. 微信小程序教程汇总

    目前市面上在内测期间出来的一些实战类教程还是很不错的,主要还是去快速学习小程序开发的整体流程,一个组件一个组件的讲的很可能微信小程序一升级,这个组件就变了,事实本就如此,谁让现在是内测呢.我们不怕,下 ...

  4. 微信小程序 教程之引用

    系列文章: 微信小程序 教程之WXSS微信小程序 教程之引用微信小程序 教程之事件微信小程序 教程之模板微信小程序 教程之列表渲染微信小程序 教程之条件渲染微信小程序 教程之数据绑定微信小程序 教程之 ...

  5. 微信小程序之微信登陆 —— 微信小程序教程系列(20)

    简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自 ...

  6. 使用mpvue开发小程序教程(一)

    前段时间,美团开源了mpvue这个项目,使得我们又多了一种用来开发小程序的框架选项.由于mpvue框架是完全基于Vue框架的(重写了其runtime和compiler),因此在用法上面是高度和Vue一 ...

  7. 使用mpvue开发小程序教程(二)

    在上篇文章中,我们介绍了使用mpvue开发小程序所需要的一些开发环境的搭建,并创建了第一个mpvue小程序代码骨架并将其运行起来.在本文中,我们来研究熟悉一下mpvue项目的主要目录和文件结构. 在V ...

  8. 使用mpvue开发小程序教程(三)

    在上一篇文章中,我们熟悉了一下通过vue-cli生成的mpvue工程代码骨架的基本结构,大致了解了每一个部分的代码到底要放到何处.从本文起我们就开始涉及真正的编码部分,学习使用Vue的语法去编写小程序 ...

  9. 使用mpvue开发小程序教程(四)

    在上一章节中,我们将vue-cli命令行工具生成的代码骨架中的src目录清理了一遍,然后从头开始配置和编写了一个可以运行的小程序页面,算是正真走上了使用mpvue开发小程序的第一步.今天我们将进一步来 ...

随机推荐

  1. Cs Round#54 E Late Edges

    题意:给定一个无向图,你从结点1开始走,每经过一条边需要1的时间,每条边都有一个开放时间,只有当目前所用的时间大于等于开放时间时,这条边才可以被经过.每一单位时间你都必须经过一条边,问最快什么时候可以 ...

  2. 一键架设FastDFS分布式文件系统脚本,基于Centos6

    一.使用背景 业务驱动技术需要,原来使用 FTP和 Tomcat upload目录的缺陷日渐严重,受限于业务不断扩大,想使用自动化构建,自动化部署,Zookeeper中心化,分布式RPC DUBBO等 ...

  3. 逐步搭建Lamp环境之vim的三种模式以及基本命令

    在Linux中vim的三种模式分别为:命令模式.末行模式.编辑模式.以下是三者的关系图: 三种模式的彼此切换: 命令模式是vim中的默认模式. 命令模式切换至末行模式: 使用英文冒号(:). 末行模式 ...

  4. hdu5353 Average

    Problem Description There are n soda sitting around a round table. soda are numbered from 1 to n and ...

  5. Java读取excel表格

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  6. JavaScrpit判断横竖屏

    JavaScript function setLandscapeClass(){ if(window.orientation === 90 || window.orientation === -90 ...

  7. 控制反转-Ioc之Unity

    本篇幅主要介绍控制反转的一些概念,和如何使用Unity实现Ioc.在介绍的时候,会尽量结合代码来讲解一些概念. 1.什么是DI? DI即控制反转,是将对具体实现类的依赖转变为对接口的依赖,这样在编程中 ...

  8. .Net版InfluxDB客户端使用时的一些坑

    1.如果应用程序是WebAPi,则需要使用同步版的InfluDB客户端 2.如果应用程序是Winform或Console程序或Windows服务,则使用同步或异步版客户端都可以,建议用异步版 3.如果 ...

  9. 封装一个button上带图片的,图片在上,文字在下的按钮

    #import "CJShoppingDetailButton.h" @implementation CJShoppingDetailButton - (void)layoutSu ...

  10. 【HTML】HTML基础知识

    <!DOCTYPE html>表示HTML5文档申明,不区别大小写,通常这么写. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 ...