BPI-STEAM 用户文档¶
BPI-STEAM 是专注于软硬件开源技术的开源组织,属于 Banana-Pi 的分支,从 2018 年起推出 BPI-BIT 开发板,随之推出 Webduino 、 MicroPython 、 Arduino 等开源技术支持,通过用户文档能够让用户轻松入门 BPI-STEAM 所提供的技术产品。
提示
本文档托管于 BPI-STEAM 开源组织。
认识 BPI-BIT 开发板¶
BPI-BIT 是一款基于 ESP32 高性能芯片且兼容 micro:bit 设计的开源 STEAM 教育开发板,又名 Bpi:Bit、Web:Bit 。

开发板介绍¶
以下内容介绍硬件 1.4 版,编辑日期 2019年7月24日。
Bpi:Bit 又名 Web:Bit ,是 Webduino 的专用开发板,采用 ESP-WROOM-32 (ESP32)模组作为核心,拥有 Wi-Fi & Bluetooth 无线功能,支持多设备协同控制,更是内置了许多的传感器,用户可以轻松体验到开发的无穷乐趣。
尺寸规格图¶
矩阵 LED 定义¶
Web:Bit 按照 5 * 5 排列方式焊接了 25 颗(编号 0 ~ 24 ) 1600 万色矩阵 LED (WS2812) ,所有的 LED 的控制仅使用一个引脚 (GPIO 4) 即可控制。
相关硬件资料¶
- BPI-WEBDUINO-BIT-V1_2
- BPI-WEBDUINO-BIT-V1_4
- Buzzer-SS-S050020Z-120
- CH340DS1-ch
- CH340DS1-en
- esp32_hardware_design_guidelines_en
- ESP32-datesheet_english
- esp-wroom-32_datasheet_cn
- LightSensor-PTSMD021-0805
- LM1117
- MPU-9250 Datasheet-v1.1-ch
- MPU-9250 Datasheet-v1.1-en
- MPU-9250 Register Map-v1.6
- NTC-0805-103F-3950F
- SY7208
- WS2812B
- DS-000189-ICM-20948-v1.3
驱动安装¶
为什么需要安装驱动,根据百度百科定义,驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作。
因此,若是有需要专业开发硬件的用户,可以参考本文进行电脑驱动的安装,没有这种需要的话,可以跳过本文。
连接板子¶
板子采用 CH340 / CH341 串口驱动芯片,可以轻松的在 Windows 、 Linux 、macOS 等系统下自动安装驱动。
将板子通过 MicroUSB 线连接到你的电脑里,以下以 Windows 10 为例。
查看驱动¶
进入 设备管理器 确认串口驱动(Serial)是否安装,进入方法如下。
- (右键)此电脑 -> 属性 -> 设备管理器
- 开始菜单 -> (输入)设备管理器
- 控制面板 -> (搜索)设备管理器
可以看到 设备显示 USB2.0-Serial ,说明未安装驱动,若此前已安装驱动,可以跳至步骤 5 。
安装驱动¶
点此获取 Serial CH341 驱动,并按如下说明操作安装驱动
打开下载的 CH341SER.ZIP 压缩包,进入 CH341SER 文件夹,打开 SETUP.EXE,即可看到如下图。
点击 INSTALL (安装),等待片刻即可完成安装。
确认串口¶
核对板子是否连接成功
可以看到原来的 USB2.0-Serial 消失了,取而代之的是 USB-SERIAL CH340(COM3),这意味着你已经成功安装驱动,并且得到板子串口名称为(COM3),你可以通过各种串口工具来查看串口名(COM3)的板子传出的信息。
使用 Webduino 编程¶
通过 Web:Bit 专用积木编辑器,使用拖拽积木来轻松学习编程吧。

Web:Bit 教育版¶
Web:Bit 是 Webduino Bit 开发板的缩写,Web:Bit 教育版是由 Webduino 与台湾许多优秀的信息化教育的教师们,共同合作研发出的一款用于 STEAM 课堂的教学套件。

下面介绍一下积木编辑器相关文档目录。

想知道更多?可以点击目录或底部 [ Next ] 按钮继续往下阅读。
编辑器介绍¶
Web:Bit 编辑器是 Webduino 的学习积木编程的软件,积木编程大幅简化了编写代码的步骤流程,并添加了虚拟仿真开发板、小怪兽互动舞台、外接拓展硬件等许多积木供你玩耍。不论是大朋友小朋友,都可以轻松的入门 Web:Bit 。
什么是积木编程?¶
对于第一次接触的人来说,可能不太清楚「积木编程」的由来,「积木」是翻译自「block」这个英文单词,其操作方式类似「组装积木」或「拼图」的概念,通过互相堆叠和搭配组合,就能判断不同的逻辑或依据指定的排列顺序,实现对应的程序动作。
操作界面说明¶
编辑器的操作界面分成下列几类区域:
- 主功能菜单:包含文件的打开与保存、范例和教学、清空、更多功能和执行。
- 积木/程序代码切换:将拼接好的积木转换为标准 Javascript 代码。
- 积木列表:包含基本功能、小怪兽控制、开发板控制和物联网拓展...等积木。
- 积木编辑区:进行积木的逻辑组合,产生各种不同的场景应用。
- 开发板模拟器:包含一块虚拟的开发板,可以模拟开发板的实际状况和应用。
- 小怪兽互动舞台:包含四种不同造型和颜色的小怪兽,可以通过积木设定相关动作和互动。
- 缩放按钮:能够快速缩放画面积木或删除积木。
- 画面折叠按钮:可以折叠开发板模拟器和小怪兽互动区,让积木编辑区域放大或缩小。
如何使用编辑器?¶
编辑器是基于 Google 所开发出的 Blockly 图形化编程工具,下面我们演示一下使用进行编程的效果。
每块积木都有它对应的功能和用途,如果想了解该积木的使用方式,可以「使用鼠标在指定的积木上单击右键」,就能打开积木的功能列表,点击「教学」可以阅读该积木的教学文件,如果该积木有「小工具」,则可以点击小工具使用更多进阶功能。
积木使用小技巧¶
网页版独有功能¶
右上方的主功能菜单,包含编辑器的主要功能,但「网页版」和「安装版」编辑器的菜单略有不同。
分享链接¶
在网页版可以使用「文件> 分享」,分享可以帮助我们保存积木分享给他人,它会产生一段「网址」,下次再开启这个网址就可以载入分享的积木,但是安装版无法使用该功能。
在网页版主菜单的「更多」里面,包含「下载安装」的选项,点击后会下载安装版的压缩文件,解压缩安装就可以使用安装版。 ( 目前安装版编辑器仅支持 Windows )
安装版菜单说明¶
打开安装版之后工具列里分别有「系统」、「工具」和「信息」三个主要功能列表,如果你没有出现下图的工具列,可以按下电脑键盘的 Ctrl + W
打开工具列,。
系统 > 通过浏览器打开¶
点选「通过浏览器打开」,会自动打开电脑的 Chrome 浏览器并连接至编辑器(网页版),如果没有该选项,请下载安装 Chrome 浏览器 到系统里。
工具 > 关闭 USB 连接¶
如果开发板使用 USB 线 连接到电脑,安装版可以在没有 Wi-Fi 的状态下控制开发板,但此时开发板也将「关闭 Wi-Fi 连接功能」,如果要开启开发板的 Wi-Fi 连接功能,则需关闭安装版程序,或是点击「关闭 USB 连接」功能。
如果关闭 USB 连接,开发板就会采用 Wi-Fi 连接模式,反之开启 USB 连接就会关闭 Wi-Fi 连接功能。 详细操作方式会在「开发板功能」 介绍使用方法。
工具 > 设置 Web:Bit WiFi¶
该功能帮助开发板连接网络,如果没有 Wi-Fi 控制开发板的需求,可以不需要使用该功能,点击该选项之后,会要求我们输入 Wi-Fi 的 SSID 和 密码,这功能可以帮助我们将「WIFI 路由器」的 Wi-Fi 名称(SSID) 和 密码 设置到开发板中。
特别提醒!如果无法使用该功能,需要恢复出厂固件。 详细设定步骤可以参考 「开发板设置」 恢复出厂固件可以参考 更新固件方法 1:使用安装版进行更新 > 恢复出厂固件
工具 > 设置 Web:bit MQTT 服务器¶
在这之前请先配置开发板的 WIFI 连接到路由器,这将为开发板配置 Web:bit 无线控制的外网服务器,外网就是指互联网(广域网)。
如果想要在外网的环境(如咖啡厅的 WIFI 网络)下 控制 连接到家里 WIFI 的开发板(家里的 WIFI 必须能够上网浏览网页)。
这就需要设置 MQTT 服务器的地区,如中国或全球(不同地区的服务器不能互联),此时使用开发板 WIFI 连接即可在外网控制。
工具 > 更新固件¶
如果软件提示开发板有新版本的固件,可以点击该选项进行固件更新。
特别提醒!如果无法使用该功能,需要恢复出厂固件,可以参考 更新固件方法 1:使用安装版进行更新 > 恢复出厂固件。
更新开发板固件¶
想要使用编辑器软件控制 Web:bit 开发板,需要为开发板 安装 或 更新 固件,可以选择下述多种方法给 开发板更新固件 或 恢复出厂设置 。
什么是编辑器?点此查看 Web:bit 教育版 > 编辑器介绍 。
更新固件方法 1:使用 安装版 进行更新¶
什么是安装版?点此查看 Web:bit 教育版 > 编辑器介绍 > 安装版 。
将开发板通过 Micro USB 线连接电脑,最上方会出现安装版的「版本号」(如:V1.2.4)以及「扫描 USB 设备」的提示,此时可以将开发板通过 USB 线连接电脑,让软件进行自动扫描并连接。
连接到开发板后,安装版上方会出现开发板的 Device ID 以及固件版本号,接着开启菜单栏(没有可以按下键盘的 Ctrl + W
出现),用鼠标选择「工具> 设置 Web:bit WiFi」,开始进行初始化设置。
在电脑中打开 安装版 软件,将开发板通过 Micro USB 线连接电脑,确认安装版已经正确连接到开发板之后( 上方会出现开发板的 Device ID 以及版本号码),按下Ctrl + W
打开工具栏,鼠标选择「工具> 更新固件」,就可以开始更新固件。
如果检测到有新版本固件可供更新,也会在开发板连接电脑后弹出对话框提示。
如果没有弹出对话框提示,也会在上方的信息文字里,出现提示更新的消息。
点选更新后,会再度提示请勿关闭程序或移除 USB 线,按下确认后就开始更新。
更新时最上方的信息文字,会同步显示更新的进度。
更新直到 100% 之后会显示目前的版本号码,表示 开发板固件已经更新完成,如果没有反应请检查线材。
恢复出厂固件¶
如果一直是「扫描 USB 设备」(长达三分钟),没有出现连接成功的消息,则表示 Web:Bit 开发板的固件可能有问题,此时可以用鼠标选择「工具 > 恢复出厂固件」进行固件修复。
连接成功的可忽略此步骤,恢复出厂固件可能会让 Device ID 不同,请特别注意!
更新固件方法 2:通过 Wi-Fi 远程更新¶
开发板联网需要先进行初始化,请查阅 Web:bit 教育版 > 开发板设置 。
远程更新 ( OTA ) 可以在开发板连上网络后,连接远程服务器更新获取最新版本固件,更新步骤如下:
- 步骤 1、确认开发板已经可以正常连上 WiFi,若不行,请检查 WiFi 连接或重新进行初始化设定。
- 步骤 2、断开开发板电源。
- 步骤 3、连接开发板电源,**在显示白色跑马灯文字的时候,开始持续按住按钮A,直到开发板闪完红灯后没有亮绿灯表示失败,回到步骤 2 、直到出现绿灯熄灭后,此时会再听到蜂鸣器发出轻微的一个声响,此时放开按钮 A **。
- 步骤 4、完成后会看到开发板的LED面板,由第一颗灯开始亮蓝灯,表示开始进行更新,当蓝灯全部亮起接着熄灭后,表示更新完成。
- 步骤5、更新完成后开发板会闪红灯自动进行连接,连接成功会亮绿灯,接着绿灯熄灭,表示 OTA 更新固件完成。
恢复出厂设置¶
遇到奇怪的问题的时候无法解决,不妨试试还原硬件出厂时的设置,步骤如下:
- 步骤 1、断开开发板电源。
- 步骤 2、同时按住按钮 A 和 B 。
- 步骤 3、连接开发板电源,听到蜂鸣器发出声响后放开按钮 A 与 B,此时开发板已经恢复出厂设置。 ( 恢复设定值会将自定义 XXX 的 Wi-Fi 帐号、密码、自定义的 Device SSID 和密码清除,这个步骤会造成开发板无法连接所在场所的 Wi-Fi )
- 步骤 4、重新进行初始化设定,请参考:Web:bit 教育版 > 开发板设置 。
开发板设置¶
在往下使用开发板的 WIFI 联网功能之前,需要先进行初始化设置,通过本节的初始化设置可以让开发板可以连上网络(Internet),还可以够自定义开发板的 WIFI 显示名称和密码,更是可以通过网络进行远程更新(OTA)。
初始化后可以通过「Wi-Fi」控制开发板,如果只是使用「USB 控制」开发板,则可以跳过初始化设置。
初始化方法 1:使用安装版进行初始化¶
什么是安装版?点此查看 Web:bit 教育版 > 编辑器介绍 > 安装版 。
使用安装版按照下列步骤进行初始化设置。
步骤 1、进入菜单 > 工具 > 设置 Web:bit WIFI¶
将开发板通过 Micro USB 线连接电脑,打开安装版后,软件顶栏会出现安装版的「版本号(如:V1.2.4)」以及「扫描 USB 设备」的提示(如下图),此时可以将开发板通过 USB 线连接电脑,让软件进行自动扫描并连接开发板。
连接到开发板后,软件顶栏会出现开发板的 Device ID 以及固件版本号(如下图),接着查看菜单栏(没有看到需要按下键盘的*Ctrl + W
* 开启),用鼠标选择「工具> 设置 Web:bit WiFi」,开始进行初始化设置。
*注意!没有出现如图连接情况,请使用 Web:bit 教育版 > 更新开发板固件 > 恢复出厂固件。
步骤 2、设置 Web:bit Wi-Fi 的名称(SSID)与密码¶
点击设置 WiFi 后,会弹出一个对话窗,此时要填入想要连接的 WiFi 的名称和密码。 ( 这里就填入自己所在场所(例如:公司、学校或家里)的 Wi-Fi 帐号和密码 )
设置 WIFI 连接的名称(SSID),存在配置则会读回,默认值是 webduino.io
。
设置 WIFI 连接的 密码 ,存在配置则会读回,默认值是 webduino
。
设置完成后,会弹出一个对话窗口,询问是否关闭 USB 连接,如果选择「确定」,开发板就会通过先前的 Wi-Fi 的帐号与密码,连接到指定的 Wi-Fi ,如果选择「取消」,就会关闭 Wi-Fi 连接功能,此时只能使用 USB 连接操作。
若选择关闭 USB 连接功能,开发板会进入 WIFI 连接模式。
此时开发板会重启并闪烁红灯,当 红灯熄灭 且 绿灯亮起 之后,表示 Web:Bit 开发板已经成功连接上 WiFi 。
- 若红灯持续闪烁或恒亮,请拔掉电源,重新操作步骤 1 与步骤 2 。
- 若红灯闪完后亮起「蓝灯」而不是绿灯,表示已有新版本可以进行下载更新,请参考Web:bit 教育版 > 更新开发板固件 。
初始化方法 2:WIFI 连接到开发板进行初始化¶
如果想通过无线控制开发板,可以通过有 Wi-Fi 连接功能的笔记本电脑或移动设备(手机),连接到开发板的 WIFI 热点进行初始化设置,相关步骤如下所示:
步骤 1、接上电源,输入 WiFi 帐号和密码进行连接¶
使用 USB 线为开发板接上电源,此时开发板正面的 矩阵 LED 会滚动显示一串文字( 默认是 bit 三个英文 + 四个数字 ),如下图的滚动显示的 bit1234 。
这串文字会出现在其他可以连接 WIFI 的设备的 WiFi 名称列表中,例如下图显示的 bit1234 ,在 WiFi 搜索界面中就会看到 bit1234 的 WIFI 名称。
滚动结束后,第一次使用开发板未进行初始化设置,就无法连上外网(Internet)服务器,所以 会闪红灯,或者红灯恒亮 。这时请准备一台具有 WiFi 功能的电脑、手提或移动设备(手机),使用这台设备进行 Wi-Fi 搜索,连接刚刚看到为「bitXXXX」的装置( 以上述的例子就是 bit1234 ),找到该设备后,输入默认密码 12345678 ,进行连接即可。
步骤 2、设置 WiFi 帐号密码与显示名称¶
确认连接成功后,打开浏览器 ( 建议使用 Chrome ),地址栏输入 192.168.4.1
会进入到 Web:Bit 开发板的设置画面,画面中包含以下几种设置:
可在下图表格中找到对应设置项详细解释。
设置完成后按下 SUBMIT 保存,出现 SAVE OK 的字样表示设置成功。
此时开发板会重启并闪烁红灯,当 红灯熄灭 且 绿灯亮起 之后,表示 Web:Bit 开发板已经成功连接上 WiFi 。
- 若红灯持续闪烁或恒亮,请拔掉电源,重新操作步骤 1 与步骤 2 。
- 若红灯闪完后亮起「蓝灯」而不是绿灯,表示已有新版本可以进行下载更新,请参考Web:bit 教育版 > 更新开发板固件 。
积木编程基础¶
变量¶
变量,是所有程序都会用到的基本元素,使用前会赋予变量一个名称,接着就可以用这个变量来表示文字、数字、数组、颜色或逻辑。
新增变量¶
使用变量的第一步,就是「新增一个变量」,打开编辑器,将「设定变量为」的积木拖拉到积木编辑区中,下拉选单选择「新变量」,点选后弹出对话视窗,输入新变量的名称即可新增一个变量。如下图 ( 建议变量的命名尽可能以「英文 + 数字」为主 )
在新增的变量后方加上对应的值 ( 值可以是文字、数字、数组、颜色或逻辑 ),这个变量就等同于这个值,如果没有赋予值,这个变量就是空变量。
新增变量后,在左侧积木清单的变量目录下,也会看到新增的变量积木。
注意,如果在编辑画面里完全没有「设定变量为 XXX」的积木,积木清单里就不会看见 XXX 的变量积木。
设定变量¶
设定变量表示赋予变量一个值,使用方式和新增变量完全相同,由于程序语言有「后面覆盖前面」的特性,所以如果变量名称相同,后面设定的值会覆盖掉前面设定的值 ,以下图的例子而言,变量apple 最后的值为456。
变量增加¶
变量增加表示「让变量的值增加多少」,假设原本变量的值为 1 ,使用变量增加 1 之后,这个变量就会加 1 变成 2 ,同理,如果使用变量增加 -1 ,那么这个变量就会加(-1)变成 0 。
注意,如果是不同类型的改变,例如原本的变量是文字「苹果」,却增加 数字「1」,最后得到的结果是「苹果1」三个字,同理如果变量是数字「1」,而增加文字「苹果」,得到的结果是「1苹果」。
使用变量¶
新增变量或设定变量完成后,就可以在积木编辑区中使用变量,以下图为例,先设定a 变量为1,b 变量为2,接着就能计算a + b 或a ÷ b 之类的数学运算,或进行判断a 和b 哪个值比较大的逻辑判断。当程序逻辑越来越复杂,就得通过变量来操作。
逻辑¶
逻辑是很多的条件和判断,当满足了某些条件就会执行某件事,例如听见闹钟响就该起床、看到绿灯才可以通过...等情况,就是一些简单的逻辑判断。在日常生活里,无论是写程序、数学计算,还是法庭辩论,甚至是路上交通、买卖东西或要不要起床,都包含许多「逻辑」的成分,
逻辑判断¶
「逻辑判断」积木预设有两种型态的组装「缺口」,在上方比较小的是「条件判断」 如果,下方比较大的是「执行内容」 执行,代表着如果情况满足上方的条件判断( 判断返回值为「真」或「ture」 ),就会执行对应的内容。
点选左上方的蓝色小齿轮,可以新增逻辑判断的条件,点一下可以打开,再点一下关闭。
逻辑条件判断有三种:「如果」一定是在第一层,「否则如果」在中间,「否则」一定在最后,「否则」的条件判断表示当「如果」和「否则如果」的条件都没有满足,就会执行「否则」的内容。如下图
如果只有两个条件,例如非 A 即 B,只需使用「如果」和「否则」就可以。
条件判断式¶
条件判断式主要会放在逻辑的「条件判断」缺口内,提供不同情境的逻辑判断,判断的条件主要分为:等于(=)、不等于(≠)、小于(<)、小于等于(≦ )、大于(>)、大于等于(≧)。
用法:只要把条件判断式的积木,放到判断条件的缺口内即可。如下图
举例来说,可以先新增一个变量a 为0 到100 之间的随机整数,并让绿色小怪兽讲出数字,接着用逻辑判断,如果变量a 小于60 ( 返回判断为「真」(true) ),就让红色怪兽讲「不及格」,否则就讲「及格」,执行程序后就能看到对应的结果。
逻辑运算符¶
「逻辑运算符」积木为逻辑判断提供了更弹性的条件判断,当中包含了「且」与「或」,如果使用「且」,在两端判断的条件必须都满足时,才会执行动作,如果使用「或」,只要满足其中一个条件就会执行动作。
通常当逻辑判断里出现「如果.否则」的时候,就会用到逻辑运算符,而逻辑运算符常常和条件判断的积木搭配使用。 ( 有时也会遇到只有「否则如果」搭配逻辑运算符的情况 )
以刚刚的例子来说,可以增加到四个条件判断,分别是 0、1~59、60~99 和 100,当条件判断成立时,就会让小怪兽说出数字以及对应的文字。
判断数字型态¶
「判断数字型态」积木可以帮助我们快速判断奇数、偶数、整数、数字有小数点、文字和数组。
用法:只需直接放入条件判断的缺口内即可。如下图
例如我们可以设定变量 a 为两个随机数相除,再通过小怪兽讲出整数或小数。 ( 除法的积木使用了「多行输入」,可以在积木上按右键选择多行输入,教学参考:程序积木小技巧
判断空值¶
「判断空值」积木主要是和「数组」积木搭配,如果是空值返回「真」(true),否则返回「假」(false)。
会产生空值有几种情况:「无文字、数字0、空数组、空值、「假」(false)、没有值的变量」,如果满足这几种情况,就会返回「真」(true) 。
判断是否包含文字¶
「判断是否包含文字」积木可以检查某段文字内,是否包含了指定的文字或文字段落。
举例来说,如果检查「你是我的小呀小苹果」里面有包含「小苹果」,绿色怪兽就会说「找到小苹果了」,反之如果是「小柠檬」,红色怪兽就会说「没有小柠檬」。
非¶
「非」积木就如字面一样,表示「否」,通常会和「真/假」或「空值」的积木搭配使用。
如果把积木接在「非」的积木后面,状态就会反过来,例如空就会变成非空(不是空的)、真就会变假,假就会变真,以此类推。
三元逻辑运算符¶
「三元逻辑运算符」积木是针对只有「两种条件」的问题,并针对根据条件传回「两个运算式」的其中一个。
比如上面提到的及格与不及格的例子,因为只有两种条件,就可以通过三元逻辑运算符来轻松实现,且还可以使用比较少的积木来完成同样的结果。
循环¶
在程序领域里,循环 是常常使用的基本功能,循环就是循环执行程序,将需要循环执行的积木放在循环积木内,就能循环指定次数、延迟循环时间,或是执行无限次循环积木。
等待¶
「等待」积木可以让程序暂停一段指定的时间,当程序积木里遇到「等待」积木,就会等待指定的时间之后才会进行后面的动作。
以下方的例子来说,如果不加上「等待」,四只小怪兽会同时说出 hello,如果加上等待 1 秒,四只小怪兽就会以每隔一秒时间,依序说出 hello。
- 没有加上「等待」积木
注意,上述所谓的「同时」,是针对人类肉眼来说的意思,对于程序而言仍然是按照顺序进行,只是间隔时间非常短,短到人类的肉眼分辨不出来
- 加上「等待」积木
循环执行几次¶
「循环执行几次」积木,可以指定循环内的积木所循环的次数,积木预设次数为 10 次。
通过循环10次,可以让小怪兽旋转 100 度。
延续前面介绍过的「等待」,如果在循环里头不加入「等待」,就会看见怪兽瞬间旋转了100 度,如果我们再加上等待0.5 秒的积木,就会看到怪兽每隔0.5 秒旋转10 度,旋转十次。
计数循环¶
「计数循环」积木有点类似「循环执行几次」积木的进阶版,差别在于计数积木使用了一个变量,通过改变这个变量的数值,来决定循环几次、如何循环以及循环的间隔。
如下图,因为内含一个变量,所以当编辑画面里有计数的积木,在变量的目录下也会出现一个对应的变量i。
使用「计数循环积木搭配等待」,可以让绿色小怪兽每隔0.5 秒讲出变量i 的数值,这个变量i 会根据我们指定的起始数值、最终数值和间隔作数值进行递增或递减,以下图的例子而言,变量i 会每隔0.5s 进行加1,直到变成10 为止( 也就会依序念出1234...10 )。
注意,如果要「依序」念出数字,一定要加上「等待」的积木,不然就会呈现最后的数字。
循环无限次¶
「循环无限次」积木会无止尽的一直执行循环积木内容,除非使用「停止循环」积木,循环的事件才会停止。
延续前面介绍过的等待,在「循环无限次」的积木内加入「等待」,搭配小怪兽的旋转,就可以让小怪兽不断地旋转。
判断为真,就循环无限次¶
「判断为真,就循环无限次」积木等同于「循环无限次」积木加上「逻辑」判断,只要 如果 后面缺口的逻辑判断为「真」( true ),就会开始进行无限循环。
举例来说,我们可以先设定一个变量 a 为 2 到 9 之间的数字,透过判断如果 a 是偶数,就让小怪兽开始旋转,否则就不旋转。
上面的例子也可以使用「逻辑」搭配「循环无限次」来实现同样的效果。
取数组元素并执行¶
有别于上述的循环方式,「取出数组元素并执行」积木是以数组长度作为循环次数的依据,因此数组后面缺口内必须放入数组积木,执行后就会依序取出数组内容并执行对应动作。
如下图,我们可以设定变量 a 为一个数组,里头放入五种水果名称,接着设定一个变量 i,依序让变量 i 等于水果名称,再让小怪兽讲出水果名称并进行旋转的动作。
后台执行¶
「后台执行」是所有循环积木里头的功能选项,由于程序码的执行顺序缘故,「前一段程序尚未完成前,无法执行下一段程序」,也因此大多数的情况在画面上只能执行一个循环,然而后台执行可以同时使用多个循环。
举例来说,如果我们使用两个「循环十次」的积木,都不勾选后台执行,第一个放入小怪兽旋转,第二个放入小怪兽移动,网页执行后,就会看到小怪兽先旋转再移动。
如果我们把上面例子中的循环积木,都勾选后台执行,网页执行后就会发现小怪兽一边移动一边旋转。
是否有后台执行,在「循环无限次」的情况下会更容易发现差异,如果画面中有两个无限次的循环,如果没有勾选后台执行,因为行为还停留在前一个无限次循环,在后面的循环就不会执行。
文字¶
文字积木除了可以显示有意义的词汇,也可以通过相加的方式把文字组合成文本(文本是由文字组成的),或是在一段词汇文本中寻找对应的字词或字母。
在编程的领域中,文字即字符,字符是指计算机中使用的字母、数字、字和符号,文本即字符串,字符串是由一串字符组成。
建立文本¶
「建立文本」积木可以把不同的文字积木组合成一段文本。
点击蓝色小齿轮,通过拖拉组合可以增加文字缺口。
在文字缺口内放入指定的文字积木或是换行积木,就可以让文字组合出想要显示的文本。
建立文本也可以用来组合两个变量,例如变量 a 为 hello,变量 b 为 world,通过建立文本就能将两个变量组合为中间换行的 hello world。
取代文字¶
「取代文字」积木可以快速将一段文字里的某些字,替换为其他的文字,下拉选单可以选择更换第一个指定的文字,或所有指定的文字。 (取代文字不会对变量进行变更,而是产生一段全新的文本)
下图的例子可以只更换第一个「苹果」为「杨桃」,或是更换所有的「苹果」为「杨桃」。
寻找文本出现位置¶
「寻找文本出现位置」积木可以在一段文本中找出指定文本出现的位置,可以选择第一个出现的位置或最后一个出现的位置。
文字出现的位置是以「字数」来判断,以下图的例子,橘子的「橘」位于整段文字的第4 个位置,所以出现的数字为4,苹果的苹出现在第10 个位置,如果换成英文,orange 的o 位于第8 个位置,banana 的b 位于第16 个位置(逗号后面还有一个空格,空格算一个字符)。
取得指定位置的文字¶
「取得指定位置的文字」积木会取出文本中指定位置的文字,下拉选单共有五种指定位置,分别是第几个、倒数第几个、第一个、最后一个和随机位置。
以下图的例子,第 4 个字是橘,第 11 个字是果。
取得指定区间的文本¶
「取得指定区间的文本」积木会取出一段指定区间内的文本,需注意的是第一个空格的数字要比第二个空格内的数字小。
以下图的例子,第 3~8 的文字为「、橘子、西瓜」,而第 8 到最后的文字为「瓜、苹果、香蕉、西瓜」。
文字长度¶
「文字长度」积木可以取得一段文本的总字数,需要注意的是英文字以「字母」为单位,且空格也算是一个文字。
以下图为例,「一个苹果」的文字长度为 4,「An apple」因为包含空格,所以文字长度为 8。
数组¶
数组可以将数字、文字、列表或变量,按照顺序组合起来,这些按序排列的集合就称作数组,一个数组可以再细分为多个元素,或是一个数组内还包含其他数组,在进行比较复杂的运算时,也会通过数组的一些操作来实现。
数组积木清单¶
空数组¶
「空数组」积木会建立一个数组容器,也就是里面没有包含任何元素的数组。
如果要用变量进行数组的操作,首先必须把这个变量定义为数组或空数组,才能针对这个变量进行数组数值的添加、删除、编辑...等动作。
建立数组¶
「建立数组」积木可以在指定位置放入许多对应的内容,建立一个可以链接各类内容的数组。
点击蓝色小齿轮 ⚙ ,可以增加更多可放入内容的缺口。
这个数组建立完成后,可以试着让小怪兽讲出这个数组(数组的内容会用逗号分隔)。
或是可以使用下述积木,从数组中取出每个内容,并依序讲出数组内容。
建立重复内容的数组¶
「建立重复内容数组」积木可以建立具有重复内容的列表,内容可以是变量、文字、数字或数组,将其放入缺口内,就会根据设定的内容建立数组。
效果就是让「芭乐」文本词汇重复建立五次并添加到数组中,这时候绿色小怪兽就会念出五次「芭乐」。
设定数组内容¶
「设定数组内容」积木可以针对数组的内容 ( 第几个、倒数第几个、第一个、最后一个和随机 ) 进行三种编辑行为 (也就是设定、插入或移除 )。
举例来说,假设一个数组有四种水果苹果、柳丁、香蕉和芭乐,通过「设定数组内容」积木将数组中第一个水果元素换成莲雾,这时候 绿色小怪兽 讲出数组的第一个水果就变成了莲雾,然后试试移除数组的第二个内容,此时红色小怪兽讲出的数组就会变成只有三种水果(莲雾、香蕉和芭乐)。
接着使用「插入」文本桃子在「最后一个」,就可以看到数组又变成四种水果,最后一种是桃子。
取得数组内容¶
「取得数组内容」积木可以取得一个数组中某个元素的值( 第几个、倒数第几个、第一个、最后一个和随机),或是取得某个元素的值之后,同时移除该元素。
如果单纯取得某个元素的值,并不会影响原本数组的内容和长度,但如果是「取得并移除」,这个数组就不再包含这个元素,例如一开始有四种水果,如果只是取得内容,取得内容后的数组依然是四种水果,不过如果取得后移除内容,取得内容之后数组就变成了只有三种水果。
寻找数组内容¶
「取得数组内容」积木能从一个数组中,找到特定元素所在的位置,并回传该位置的编号。
通过取得数组积木来取得水果数组,就能知道苹果位在第一个位置、柳丁位在第二个位置、香蕉位在第三个位置、芭乐位在第四个位置。
务必注意,如果是「代码」而非使用「积木」,第一个位置通常都是 0 ,第二个位置是 1 ,但是为了和生活习惯保持一致,在积木中的第一个位置的显示为 1 ,第二个位置为 2 ,以此类推。
数组排序¶
「数组排序」积木会将指定的数组内容按字母、数字的规则进行排序,排序后会得到一个新的数组,不会影响原本数组的内容。
从下图的例子可以看出,绿色小怪兽会讲出按照字母排序过后的水果数组( a, b, c, .... ),而红色小怪兽讲出原本的水果数组并没有受到数组排序积木的影响。
如果选择字母排序,就会「先按照字母大小写排序,大写在前,小写在后,排序后再按照第二个字母排序」,如果选择不区分大小写,就会直接进行排序,「 如果第一个字母相同,就用第二个字母排序」,以下图的例子,大写 A 在前,小写 a 在后,排序后再按照 123、456 进行排序。
文本与数组转换¶
「文本与数组转换」积木可以将带有「分隔符」( 类似空白、逗号、分号...等分隔符号 ) 的文本转换为数组,或是将数组合并为一段文本。
如果一段文本没有变成数组,其中第二个元素就会是第二个字( 绿色小怪兽就会讲出「果」 ),如果将文字拆分为数组,第二个元素就会是数组中的第二个内容( 红色小怪兽就会讲出「橙子」 )。
反之如果是将数组合并为文字,可以将分隔符留空,就会看见数组的内容变成一整串的文本,中间不会有逗号分隔,如果带有分隔符( 例如 a ),就会看见结合成的文字中间都有 a 。
数组长度¶
「数组长度」积木可以取得数组中内容的总数,如果是空数组则数组长度为 0 。
因为数组长度表示的是「数组的缺口数」( 数组可以放入多少个元素),所以如果「有缺口」但没有放入元素,仍然会影响数组长度,例如有个四格缺口的数组,但只放入了三种水果,最后呈现出来的数组长度是 4 。
颜色¶
通过颜色积木,可以改变小怪兽互动舞台的颜色,或指定实体开发板矩阵 LED 的灯光颜色。
颜色积木清单¶
RGB 三原色¶
「RGB 三原色」积木能够指定积木中三原色的数值,直接通过数值来呈现不同的颜色。
三原色表示 红色(Red)、绿色(Green)、蓝色(Blue),三种颜色分别有 256 种从暗到亮的变化,透过三种颜色的混合,就能产生一千六百多万种的颜色。 ( 但人的眼睛无法分辨这么多种颜色 )
因为颜色有 256 种,对应的数值就是 0 ~ 255,0 是最暗,255 是最亮,输入对应的数值就能产生对应的颜色,举例来说红色 255 搭配绿色 255 就会是黄色。
通常的三原色为「色光」,红色 + 绿色 = 黄色,绿色 + 蓝色 = 青色,红色 + 蓝色 = 紫色。
搭配循环积木,就能够做出红色到黄色的颜色转换效果。
混合颜色¶
「混合颜色」积木是指两种颜色积木按照比例混合产生新的颜色,比例为 0~1 之间的数值,数字越小颜色越接近颜色 1,数字越大颜色越接近颜色 2。
如果把颜色 1 设定为红色,颜色 2 设定为蓝色,比例 0.2 的混合颜色就是偏红色的紫色。
搭配循环积木,就能够做出从红色到蓝色的颜色转换效果
函数¶
在计算机中,函数是指一段在一起的、可以做某一件事儿的程序。
函数积木可以帮助我们简化或管理较为复杂的程序逻辑,因为在写程序的时候,常常会遇到需要重复编写并执行的程序积木,如果每重复一次都得重写一次,就会导致整份程序逻辑的混乱复杂,通过函数可以将这些重复的程序集中管理,需要使用的时候再去调用函数,就可以执行内部对应的程序。
函数积木清单¶
建立函数¶
「建立函数」积木可以将许多重复会用到的程序积木包装成函数。
使用建立函数积木并不会执行函数,因为函数是定义「需要执行的内容」,建立完成函数积木内容后,在函数积木的目录里,就会出现对应的执行函数积木,当去使用这块积木才表示执行这个函数。
下图建立了 a 和 b 两个函数之后,调用函数 a 和 b,执行后,绿色小怪兽就会说出苹果,红色小怪兽就会说出香蕉。 ( 如果单纯只有建立函数而不拉取出来调用,执行后什么事情都不会发生 )
除了单纯的使用函数,我们也可以建立「函数内的参数变量」,点选函数积木前方的小齿轮,就可以新增参数变量。
新增函数内的参数变量后,执行函数时也会看到放入变量数值的缺口。 ( 函数内有几个参数变量就会有几个缺口 )
函数内的参数变量让程序增加了许多弹性,并也可以减少许多重复的程序,举例来说,通过函数和函数内参数变量,就能做出提供参数变量数值,并算出数值总和的函数。
建立带有返回值的函数¶
「建立带有返回值的函数」积木可以让执行的函数,变成单纯的数值,这对于一些复杂的程序应用相当有用。
如果使用的是「建立带有返回值的函数」,就会发现执行函数时积木前方多了一个作为组合用的形状。 ( 下图是一段建立带有函数的参数变量的函数 )
通过函数的参数变量,搭配函数返回的数值,就能做到依据提供的变量数值不同 ( x、y 不同值 ),而产生不同的结果。
在函数内判断并返回值¶
「在函数内判断并返回值」积木必须和「建立带有返回值的函数」的积木搭配,主要作为判断后要返回什么数值使用。 ( 这个积木也必须放在函数内才能正常运作,如下图示例用法。)
通过这个积木,搭配函数内的变量,就可以通过传入的变量数值,最后返回 x 和 y 哪个比较大的结果。
因为「函数内判断并返回值」积木具备逻辑判断的功能,所以也可以使用逻辑积木加上一个变量来做判断,就能做出一模一样的效果。
数学¶
数学积木包含了许多数学运算,从基本的加减乘除,到四舍五入、平均值、中位数...等应有尽有,无论是简单的程序或复杂应用,都能通过各式各样的数学运算实现。
取得范围内随机整数¶
「取得范围内随机整数」积木会指定一个数字范围,在每次执行这块积木时,就会从这个数字范围内取出随机的整数。
搭配「循环无限次」积木和「等待」积木,可以让小怪兽每隔一秒说出一个随机整数。
数学运算¶
「数学运算」积木可以针对数字进行加、减、乘、除和乘方五种运算。
如果使用多个数学运算的积木,需要注意的是每个运算积木在计算上都会使用括号,类似的运算式有可能得到不同的结果,例如下图积木看起来都是5 + 2 x 2,但因为括号位置的不同,得到的结果也不相同。
数学运算除了可以放入数字,也可以用于变量的相加,例如指定变量 a 为 5,变量 b 为 3,通过数学运算就能算出 a + b 等于 8。
四舍五入¶
「四舍五入」积木可以对带有浮点数的数字进行四舍五入、无条件舍去或无条件进位三种运算,同时亦可选择舍去或进位到第几位小数点。
将需要四舍五入的数字,放在「四舍五入」的积木后方,就可以得到四舍五入之后的结果。
尺度转换¶
「尺度转换」积木可以将某个尺度区间内的数值,转换为另外一个区间尺度对应数值。
如下图, 0.5 为 0-1 尺度区间的数值,转换为 0-100 尺度区间得到的结果就是 50。
「尺度转换」积木可以帮助我们完成许多较为复杂的尺度转换,例如 0.5 位于 -5-5 之间,转换到 250-400 之间的数值就是 332.5。
「尺度转换」积木常常会和「四舍五入」积木搭配使用,建议将「四舍五入」积木放在尺度转换积木前方,因为尺度转换后的数值有可能会带有小数点,转换后再四舍五入能得到较精确的答案。
数组运算¶
「数组运算」积木能针对以数字组成的数组,进行加总、取出最小值、取出最大值、计算平均值、取得中位数、取得比较众数、计算标准差和随机抽取的计算。
在数组运算后方接上数组积木,就可以开始行取值或运算。
常用数学函数¶
「常用数学函数」提供常用的数学计算积木,常用数学函数包含以下几种:开根号、绝对值、负数(-)、对数函数(ln)、log10 函数(log10)、指数函数(e^)和10 的几次方(10^)。
三角函数¶
「三角函数」积木里头提供了两种三角函数用法,分别是角度 ( sin、cos、tan ) 以及弧度 ( asin、acos、atan ),三角函数可以从下拉选单选择切换。
注意,因为JavaScript 网页语言特性,有些情况使用三角函数时,小数点后方会变成无限循环9999,例如sin(30) 应该等于0.5,出来却变成0.49999...,当遇到这种情况,需使用四舍五入的方式才能呈现预期的结果。
小怪兽互动¶
小怪兽基本操作¶
编辑器设计了四只可爱的小怪兽,通过程序积木编排逻辑顺序,就能控制每只小怪兽的说话、声音、互动和行为等动作,甚至能进一步与实体开发板互动,做出更多好玩的有趣应用。
讲话&不讲话¶
「讲话」和「不讲话」积木可以让小怪兽讲出指定的文字,或不要讲出文字,通过下拉选单也可以选择哪一只小怪兽讲话,或所有小怪兽一起讲话。
只要在讲话的积木后方,连接指定的文字,执行后小怪兽就会说出指定的文字。
只要把文字留空,或者使用不说话的积木,就能够让小怪兽不说话。
展示图片¶
「展示图片」积木可以让小怪兽展示一张「网络图片」。
举例来说,从百度百科上搜寻[蒙娜丽莎],可以得到这张图片的「网址」,复制图片网址,贴到小怪兽展示图片的文字空格内,执行后,就会看见小怪兽展示这张图片。
目前图片格式仅支持 jpg、jpeg、png、gif(图片网址结尾必须带有图片格式才能显示图片)
改变位置¶
「改变位置」积木可以指定小怪兽改变目前的位置,选项有往上、往下、往左、往右、随机或朝向鼠标方向。
如下图,搭配「循环十次」和「等待 0.1 秒」积木,就能够让小怪兽往右上方移动。
如果使用「无限循环」积木,搭配「朝着鼠标位置」的设定,就能够让小怪兽追着鼠标移动。
定位¶
「定位」积木能够把小怪兽摆放到指定的坐标位置。
怪兽的座标系统采用笛卡尔直角座标系统 (直角座标系统),往上y 为正,往右x 为正,而(0,0) 原点位在怪兽互动舞台的左下角,指定小怪兽xy 坐标,执行后小怪兽就会出现在指定的位置。
面朝方向¶
「面朝方向」角度可以指定小怪兽旋转的角度,顺时针为正,逆时针为负。
因为「面朝方向」是指定一个角度,如果要做到和前一个积木「旋转角度」一样的效果,可以使用变量搭配「无限循环」积木,在每一次执行时修改变量数值即可。
自动面朝鼠标方向¶
「自动面朝鼠标方向」积木能让小怪兽转到鼠标所在的方向,有自动和停止两个选项。
因为「自动面朝鼠标方向」只会执行一次,所以如果要让小怪兽不断的面向鼠标,就必须搭配无限循环的积木,如下图,执行后小怪兽就会自动面向鼠标旋转。
尺寸百分比¶
「尺寸百分比」积木可以指定小怪兽放大缩小的百分比。
由于 100% 表示原本怪兽大小,所以 200% 就会是一倍大,50% 则是会缩成 1/2 大小,下图通过尺寸百分比,分别让四只小怪兽呈现不同尺寸大小。
小怪兽互动&舞台¶
除了可以设定小怪兽的位置或大小,编辑器更能让我们与小怪兽互动,例如用鼠标点击小怪兽、小怪兽互相碰撞、碰撞舞台画面边缘...等。
鼠标点击¶
「鼠标点击」积木可以在鼠标点击小怪兽时,让小怪兽做指定的事情。
鼠标点击积木「不需要放在循环内」就可重复检测,并在后台执行。
下图的例子,点击绿色小怪兽时会说话,点击红色小怪兽会放大,点击黄色小怪兽会旋转,点击蓝色小怪兽会改变情绪。
鼠标触碰¶
「鼠标触碰」积木包含两个行为动作,分别是鼠标触碰到小怪兽要做什么事,以及鼠标离开小怪兽后要做什么事。
注意,离开的行为动作一定会接在触碰之后,鼠标触碰积木「不需要放在循环内」就可重复检测。
下图的例子,在鼠标触碰到绿色小怪兽时,小怪兽的情绪会开心,鼠标离开后小怪兽又恢复正常的情绪。
互相触碰¶
「互相触碰」积木可以检测小怪兽彼此之间是否有触碰。
「互相触碰」积木「只会检测一次」,必须搭配循环,才能重复检测。
以下图为例,搭配「无限循环」积木就能不断检测小怪兽是否互相触碰。用鼠标拉动小怪兽,当两只小怪兽相碰时,小怪兽就变成惊讶的情绪,分开后又恢复正常。
触碰舞台边缘¶
「触碰舞台边缘」积木可以检测小怪兽是否触碰到互动舞台的四个边,或指定检测碰到上、下、左、右四个边的行为。
「触碰舞台边缘」积木「只会检测一次」,必须搭配循环,才能重复检测。
以下图为例,搭配「无限循环」积木就能让小怪兽碰到舞台画面上边缘或下边缘时,变成开心的情绪,碰到左边缘或右边缘则呈现生气的情绪,没有碰到时则是正常情绪。
触碰舞台边缘就反弹¶
「触碰舞台边缘就反弹」积木是「触碰舞台边缘」积木的简化版,将碰触后的行为单一化为「反弹」,反弹表示位置的相反,如果碰到舞台左右两侧,则小怪兽移动的X 方向会相反,如果碰到舞台上下两侧,则小怪兽移动的Y 方向会相反。
「触碰舞台边缘就反弹」积木「只会检测一次」,必须搭配循环,才能重复检测。
以下图为例,搭配「无限循环」积木碰到舞台边缘时就会反弹。
更换舞台背景颜色或图片¶
「更换舞台背景颜色」和「更换舞台背景图片」,可以改变怪兽舞台背景为指定的颜色或图片,图片只要填入图片网址,执行后就会更换。 ( 图片支持 jpg、jpeg、png 和 gif )
举例来说,找一张清明上河图的图片网址,将网址贴上在背景图片的文字积木内,执行后就会看见舞台背景变成清明上河图了。
设定舞台为全屏幕¶
「设定舞台为全屏幕」积木不影响任何操作,只会在「执行时」把怪兽互动舞台变成全屏幕大小。
如果不想使用该功能,也可以手动操作,点选怪兽互动舞台右上方的小按钮,也可以进行全屏幕的切换。
系统功能¶
键盘行为¶
鼠标和键盘是电脑必备的两大输入装置,熟悉了键盘的输入方式,就可以使用键盘进行简单交互,无论是要做成钢琴键盘还是游戏控制器都轻而易举,同时也可以搭配文字的输入,做出许多意想不到的互动效果。
检测键盘行为¶
「检测键盘行为」积木可以检测电脑键盘上大多数按键的按下与放开。
检测键盘行为积木处于随时检测的状态,不需要搭配无限循环。
用过按下和放开两种行为,就可以在按下键盘的同时,让小怪兽说出对应按键名称,放开键盘后就不说话。
按下键盘的行为会「连续执行指令」,类似在打字的时候,如果按着某个按键不放,画面中就会出现一连串这个按键的文字,例如下图,设定按下键盘A 的时候小怪兽会往左旋转,执行后,持续按住A 怪兽就会持续旋转,放开A 怪兽就会停止,不需要设定放开的指令。
日期&时间¶
日期与时间的积木,可以读取电脑的日期和时间并在网页上显示,可以搭配循环、开关或键盘...等行为,做出时钟、码表、游戏计时...等应用。
对话框输入文字¶
在编辑器中如果使用了「对话框输入文字」的积木,执行后,在怪兽互动舞台的画面底部,就会出现输入文字的对话框,通过输入文字就能进一步与开发板或小怪兽互动。
对话框输入文字¶
「对话框输入文字」积木属于「执行完成才会继续执行后方程序」的类型( 点击前方问号会提示),当编辑画面中有这块积木,执行时当程序遇到这块积木会暂停,直到输入文字后才会再继续。
举例来说,下方的程序里的小怪兽在执行后不会讲话,直到输入文字后才会说话。
一问一答¶
通过输入文字的方式,能够轻松实现「一问一答」的效果,在输入文字积木之前摆放小怪兽询问姓名的文字,执行后会停留在输入文字的阶段,输入文字之后,通过「建立字串」积木,让小怪兽说出「XXX 你好」的文字组合。
音效 & 语音¶
开发板功能¶
开发板¶
这里提供了三种控制开发板的方式,分别是「模拟器」、「USB」和「Wi-Fi」,模拟器能够在没有硬件的情况下模拟硬件,USB 可以在没有网络的情况下,通过 USB 连接操控。而Wi-Fi 则可以进行无线远程操控板子,通过三种不同操控方式的互相搭配,可以在各种场景下控制开发板。
使用方式¶
下拉选单选择「模拟器」,表示使用右侧的「虚拟开发板」,开发板积木里所有能控制的元件,都会和右侧的虚拟开发板对应,例如绘制一个图案,执行后,虚拟开发板就会显示图形。
下拉选单选择「USB」,表示使用「USB 线」连接「开发板」,必须使用「编辑器(安装版)」操作,例如绘制一个图案,执行后,通过 USB 连接的开发板就会显示图案。
「编辑器(安装版)」请参考:编辑器介绍
下拉选单选择「Wi-Fi」,表示使用「Wi-Fi」连接「开发板」,也就是通过每块开发板的 Device ID 进行控制,只要知道 Device ID,不论开发板身在何处,都能远程操控。
开发板 Device ID 请参考:开发板设置
控制多块开发板¶
编辑器可同时控制多块开发板,只需要在编辑画面里放入开发板,指定开发板的操控方式,执行后就会看到所有开发板同时发生变化,下图的例子,在同一个编辑画面里,让一块模拟器开发板和两块Wi-Fi 开发板,同时呈现花朵图案。
多块开发板 最多只能包含一块「模拟器」开发板和一块「USB」开发板,「Wi-Fi」开发板则没有数量限制。
在控制多块开发板的情况下,不支持使用函数控制,要特别注意!
但不可以在多个开发板中使用 函数 控制硬件外设,如下图。
因此若是想要做到同样的效果,此时的做法应该要如下:
矩阵 LED¶
开发板的正中央内嵌了一个由 25 颗矩阵 LED 组成的的 LED 矩阵 ,每个 LED 都可通过红、绿、蓝三种颜色进行混合产生各种不同颜色,让指定位置的 LED 显示指定的颜色并组合,就能显示各种图案。
矩阵 LED 积木清单¶
矩阵 LED 积木清单包含显示颜色、关灯、绘制图案、预设图案、指定第几颗灯的颜色、跑马灯和亮度等积木。
使用矩阵 LED 积木必须搭配「开发板」积木,选择模拟器,执行后可以控制右侧模拟器的 LED 矩阵,选择 USB,执行后会通过 USB 连接方式控制实体开发板,选择 Wi-Fi 则可通过 Wi-Fi 指定 Device ID 操控开发板。
显示颜色¶
「显示颜色」积木可以让 25 颗灯同时亮起指定的颜色。 ( 若选择黑色,效果等同不亮灯 )
开发板选择模拟器,显示颜色积木选择红色,执行后,虚拟的开发板 25 颗灯都变成红色。 ( 若手边有开发板,可以使用 USB 或 Wi-Fi 连接控制 )
绘制图案¶
「绘制图案」积木能够自定义每颗灯不同的颜色,绘制一个 5x5 的图案。
点击积木上方的颜色区块就能选择不同颜色,如果是同颜色,重复点击就可以还原为黑色 ( 直接使用黑色也是同样的效果 )。
例如绘制一朵花,让花瓣为红色,花梗和叶子为绿色,执行后,虚拟的开发板就会呈现一朵彩色的花。
跑马灯¶
「跑马灯」积木可以通过跑马灯的方式,以指定的颜色显示一串文字,跑马灯可以只进行一次或无限次重复播放,并能设定文字移动的速度。 ( 不支持显示中文 )
如果设定跑马灯次数为「一次」,跑马灯积木会是「执行完成才会继续执行后面积木程序」的类型( 点击前方问号会提示),跑马灯结束后才会接着执行其他程序,若设定为「无限次」,后台程序会继续执行,但和LED 矩阵有关的行为会被跑马灯所取代,使用上要特别注意。
下图的例子,执行后会先出现红色 Hello 文字的跑马灯,结束后紧接着出现绿色笑脸。
矩阵 LED 控制灯号¶
「矩阵 LED 控制灯号」积木可以控制矩阵 LED 指定灯号的运行。
矩阵 LED 的顺序对应到 开发板的灯号顺序,开发板灯号 1~25 的顺序为从左到右、从上到下。
举例来说,若设定矩阵 LED 的三个值为红色、绿色和蓝色,开发板的第 1~3 个灯就会呈现对应的颜色。
如果是多维矩阵 LED ,会按照矩阵 LED 元素的顺序进行显示,若元素内容留空,该颗 LED 会呈现熄灯状态。
第几颗灯¶
「第几颗灯」积木可以指定第几颗灯的颜色。
第几颗灯的顺序对应到开发板的灯号顺序,开发板灯号 1~25 的顺序为从左到右、从上到下。
分别指定不同位置的灯号颜色,执行后就会看见指定位置的灯号亮起。
X、Y 座标控制灯号¶
「X、Y 座标控制灯号」积木可以通过 X 和 Y 的座标值指定灯号的颜色显示。
开发板的 X、Y 座标以左上角为 ( 1, 1 ),往右 X 加 1,往下 Y 加 1,依此类推。
分别指定不同 X、Y 的灯号颜色,执行后就会看见指定位置的灯号亮起。
按钮开关¶
在开发板正面的左右两侧,有两颗按钮开关,通过使用这两个开关,可以打造真实的游戏遥控器或智能家居控制的应用,更符合物联网的使用场景。
按钮开关积木说明¶
按钮开关积木可以指定「按下、放开、长按」三种开关行为,三种行为可分别套用到 A、B 或 A 和 B 同时操作。 ( 长按的定义为持续按下一秒 )
使用按钮开关积木必须搭配「开发板」积木,选择模拟器,执行后就可以使用鼠标点击模拟器上的按键,选择 USB,执行后会通过 USB 连接方式控制实体开发板,选择 Wi-Fi 则可通过Wi-Fi 指定 Device ID 操控开发板。
按下开关改变 LED 矩阵图案¶
在编辑画面放入按下A、按下B 和按下A+B 的积木,接着分别在各自的区块内放入LED 矩阵显示图形的积木,执行后,如果是使用模拟器,就可以用滑鼠点击 A 、B 或 A+B 按钮查看变化效果,如果是使用实体开发板,则可以直接用手指按压开关。
模拟器里的 A+B 按钮开关,只有在编辑画面有 A+B 按钮开关的积木时才会出现。
按下、放开和长按¶
通过开关的按下、放开和长按三种行为,就能做出「按下时有图案,变成长按后图案会变色,最后放开开关就会关灯」的范例,执行后,如果是使用模拟器,就可以用鼠标点击 A 按钮查看变化效果,如果是使用实体开发板,则可以直接用手指按压开关。
光线&温度¶
开发板内有两个光敏传感器,以及一个热敏电阻,光敏传感器可以检测环境光线的流明数值,热敏电阻则可检测到小数点两位的温度变化,通过对光线和温度的检测,就能做出环境监控相关的应用。
积木清单¶
检测光线分别可以检测左上和右上的亮度变化,检测的单位为流明,数值区间为 0~1000 的整数,温度检测的单位为 ℃(摄氏度),数值可到小数点两位。
检测光线和温度积木必须搭配「开发板」积木,选择模拟器,执行后可以使用鼠标拖拉模拟器的灯泡或火焰。
检测光线¶
「检测光线」积木使用时只会检测一次,搭配「无限循环」积木就能进行连续检测。
执行后,如果是使用模拟器,画面里会出现一个「灯泡」图案,拉动「灯泡」靠近画面里的光敏电阻,就能模拟光线的变化,如果是使用实体开发板,可用光线照射光敏电阻观察光线变化。
了解光线检测原理后,若搭配简单的「逻辑」判断,就能做出小夜灯的效果,以下图的例子而言,只要左边或右边的任何一个光敏传感器检测到亮度大于等于600 流明,就会熄灯,反之左右两边只要同时检测的数值小于600 流明就会亮白灯。
检测温度¶
「检测温度」积木使用时只会检测一次,搭配「无限循环」积木就能进行连续检测。
执行后,如果是使用模拟器,画面里会出现一个「火焰」图案,拉动「火焰」靠近画面里的热敏电阻,就能模拟温度的变化,如果是使用实体开发板,可用手指按压热敏电阻、或用嘴对着热敏电阻吹气,就能观察温度变化。
了解温度检测原理后,若搭配简单的逻辑判断,就能做出用颜色反映温度的效果,当温度大于等于 50 度就呈现红色,反之小于 40 度就是蓝色。
音乐&声音¶
开发板内有一个微型蜂鸣器,可以发出三个八度音阶的单一声响,通过不同音符代码的组合,或者搭配内置的范例音乐,就能让开发板发出各种美妙的旋律。
音乐&声音积木清单¶
音乐&声音的积木包含演奏某个音阶、休息、预设音乐和停止演奏...等积木。
音乐&声音积木必须搭配「开发板」积木,选择模拟器,执行后可以听见电脑喇叭发出声音,选择USB,执行后会通过USB 连接方式控制实体开发板,让开发板的蜂鸣器发出声音。
演奏音阶¶
「演奏音阶」积木可以演奏三个八度音阶,同时亦可指定每个音阶的拍子,拍子分为 1/16、1/8、1/4、1/2、1 和 2 拍。
点选音阶的选项会弹出一个虚拟的钢琴键盘,使用鼠标移到琴键上,电脑的喇叭就会发出对应的声响。
在音阶的缺口,可以分别放入「音阶」和「休止符」积木,后面的缺口只能放入「拍子」积木。
放入好几个音阶,执行后可以听到一个音阶接着一个音阶播放。
由于「演奏音阶」积木会是「演奏完成才会继续执行后方程序」的类型,若程序放在音阶之后,在所有音阶演奏完成后,才会执行后面程序。
「演奏音阶」积木也可以搭配「无限循环」积木,做到不断重复播放一段旋律的效果。
「音阶」积木指出数组的使用,根据数组的排列组合,就能自行编辑音乐并重复使用,下图的例子,分别将音阶和拍子独立成两个数组。
使用「数组」的情况下,若音阶数量少于拍子,多出来的拍子会采用最后一个音阶播放,若拍子数量少于音阶,多出来的音阶会采用最后一个拍子播放。
演奏音乐¶
「演奏音乐」积木包含超级玛丽、超级玛丽和弦、真善美、哥哥爸爸真伟大和小叮当五首音乐,可以独立使用或搭配「音阶」积木使用。
由于「演奏音乐」积木会是「演奏完成才会继续执行后面程序」的类型,若有音阶或其他程序放在演奏音乐之后,音乐演奏完成后,才会执行后面的程序。
停止/暂停/继续演奏¶
「停止/暂停/继续演奏」积木可以控制音乐演奏的行为。
下图的例子通过开发板的按钮开关控制音乐播放,A 和 B 同时按下时开始播放,播放进行中按下 A 就会暂停,按下 B 就会继续播放。
如果要将「音乐」、「音阶拍子」积木混合控制,在切换音乐之前加入「停止播放」积木,就可完全停止现有的音乐并进行切换。
运动 & 姿态¶
开发板内有一个MPU-9250 九轴传感器,除了可以检测空间内的加速度与旋转,用作体感检测、体感游戏...等应用之外,更能通过磁力计的辅助检测,实现检测姿态角度、指南针...等应用。
九轴体感检测积木清单¶
九轴体感检测积木有两种,一种可检测指定的动作,另一种则可取得九轴感测器的数值。
九轴体感检测积木必须搭配「开发板」积木,选择模拟器时无法取得九轴体感数值,但可以通过指定动作的按钮模拟对应动作,选择USB,执行后会通过 USB 连接方式控制实体开发板,选择 Wi-Fi 则可通过 Wi-Fi 指定 Device ID 操控。
检测指定的动作¶
「检测指定的动作」积木能检测静止、晃动、正面朝上、背面朝上、向后向前翻转、向左向右翻转、向左向右旋转、指向东西南北...等14 种开发板动作。
下图的例子,开发板往右旋转会出现向右的绿色箭头,开发板往左旋转会出现向左的蓝色箭头,如果开发板晃动则会出现红色笑脸。
如果是使用模拟器,执行后再开发板的右侧会出现一排按钮,并用文字提示正在检测的指定动作,以上图的例子而言,表示正在检测向右旋转、向左旋转以及晃动。
取得九轴传感器的数值¶
「取得九轴传感器的数值」积木能够取得加速度、磁力计、陀螺仪以及水平旋转、前后左右翻转的数值。 ( 模拟器无法模拟此块积木,必须使用实体开发板 )
加速度计主要检测x、y 和z 三轴直线移动时「瞬间」加速度变化,将开发板正面朝上,金手指引脚朝向自己,垂直上下的方向为z 轴( 往上为负,往下为正),水平左右为x 轴( 往左为负,往右为正) 水平前后为y 轴( 往自己的方向为负,远离自己的方向为正)。
由于检测的数值为「加速度」,在启动或停止的瞬间,可能会产生反向的加速度( 就如行驶的公车突然煞车或启动,乘客会往前倾或后仰),因此在开发时要透过一些逻辑判断来排除,或避免瞬间太大的启动与停止动作。
由于「取得九轴传感器的数值」积木使用时只会检测一次,搭配无限循环便可连续检测,执行后上下左右挥动 开发板,就能看见小怪兽讲出加速度的数值。
因为所在位置以及传感器初始化校准的不同,每块开发板在启用加速度检测时,都会有些细微的误差,Z 通常都会是负一千多( 单位为mg,1 g 通常为一个重力参数),X 和 Y 通常会在200 ~ -200 之间,此时可以拿起开发板上下左右挥动,就会看见数值发生变化,由于所检测的数值为「加速度」,因此当开发板没有移动或等速移动的时候,加速度会保持在一个稳定的数值区间内。
陀螺仪则是检测旋转时「瞬间」的角度变化,如下图所示,将开发板正面朝上,金手指引脚朝向自己,绕着z 轴旋转为yaw ( 顺时针旋转为正,逆时针旋转为负),绕着x 轴旋转为roll ( 顺时针朝自己旋转为负,逆时针旋转为正) 绕着y 轴旋转为pitch ( 顺时针旋转为正,逆时针旋转为负)。
搭配无限循环便可连续检测,执行后转动开发板,就能看见小怪兽讲出陀螺仪的数值,因为是瞬间角度变化,所以当我们停止转动,角度就会回归启动时的数值 ( 预设是0,若数值不为零,请重插开发板USB 线,重新启动再试一次)。
姿态角度主要通过加速度计和陀螺仪的数值,组合成可以检测开发板前后翻转( roll )、左右翻转( pitch ) 和水平旋转( yaw ),将开发板正面朝上,金手指引脚朝向自己,绕着z 轴旋转为yaw ( 逆时针旋转角度递增,区间为-180~180 度),绕着x 轴旋转为roll ( 顺时针旋转角度递增,区间为-180~180 度) 绕着y轴旋转为pitch ( 逆时针旋转角度递增,区间为-180~180 度)。
搭配无限循环便可连续检测,执行后转动开发板,就能看见小怪兽讲出姿态角度的数值
磁力计可以检测所在磁场的变化( 主要是针对地球磁场),将开发板正面朝上,金手指引脚朝向自己,垂直上下的方向为 z 轴( 往上为正,往下为下) ,水平左右为 y 轴( 往左为正,往右为负) 水平前后为 x 轴( 往自己的方向为负,远离自己的方向为正)。
使用磁力计之前,需要对开发板进行「8 字校正」,将开发板插上电并拿起开发板,在空中画出8 的形状进行校正,若遇到不准确的状况,进行8字校正后就会准确许多。
搭配无限循环便可连续检测,执行后转动或移动开发板,就能看见小怪兽讲出磁力计的数值( 测试时可以拿磁铁靠近,会发现显著的数值变化,但因为磁铁会干扰磁力计,使用磁铁后需要重新进行8 字校正还原初始状态 )。
输入 & 输出¶
在 Web:Bit 开发板底部边缘有一排有 25 个金属接触点,这些金属接触点称为「引脚」,或通俗一点也可称呼「金手指」。 引脚包含了 5 个标注 0、1、2、3V 和 GND 的大引脚,以及其他 20 个未标示号码的小引脚,除了可以使用 鳄鱼夹 操作大引脚,也可以使用拓展板 搭配杜邦线操作小引脚,通过引脚的搭配,就能灵活的操作各种外接元件与传感器。
I/O 引脚对照表(以下引脚均为 pin Name,例如1为P1)¶
I/O 引脚积木清单¶
I/O 引脚积木包含模拟(Analog)与数字(Digital )的相关「输入」和「输出」共四种积木。
「I/O 引脚」积木必须搭配「开发板」积木,且并不支持模拟器,只支持 USB 与 Wi-Fi 控制。
读取数值 ( 数字输入 )¶
使用「数字输入」的积木,读取的数值只会有 1 和 0 两种信号,预设在完全没有接传感器的状态下数值为 1 ,「程式」积木通过一个「无限循环」的积木,不断读取引脚信号。
可以使用「杜邦线 + 面包板 + 电阻」进行测试,并通过「上拉电阻」的方法,在程式执行后,将杜邦线连接指定引脚(如 1 )和 GND ( 接地 ),程式便会收到 0 的信号。
读取数值 ( 模拟输入 )¶
使用「模拟输入」的积木,读取的数值为 0 ~ 1 之间的浮点数,程式积木通过一个「无限循环」积木,不断读取引脚信号。( 模拟输入仅支持 1 号和 2 号引脚 )
可以使用「光敏电阻 + 杜邦线 + 面包板 + 电阻」进行测试,下方范例并采取「下拉电阻」的方法,在程式执行后,程式便会收到 0 ~ 1 的模拟信号,光线越强数字越大,光线越弱数字越小。
输出数值¶
「输出」的积木分成两种,一种是 模拟输出 ( PWM ),可以输出 0 ~ 1 之间的浮点数,另外一种是 数字输出 ,仅能输出 0 和 1 两种数值,以下方的例子而言,通过一个循环的方式调用「模拟输出」积木,不断输出 0 ~ 1 之间的浮点数作为 LED 的亮度,就能做出呼吸灯的效果。( 直接将 LED 长的一端引脚接在拓展板的 1 号引脚,短脚接在 GND )
如果使用「数字输出」积木,虽然无法设计 LED 呼吸灯的效果,但仍然可以通过「无限循环」积木,设计出灯光闪烁的范例。
网络功能¶
网络广播¶
网络广播功能,不仅能让与开发板彼此交换信息,更可以实现一对多、多对一、虚实互动、远距广播...等多样化的操控,通过广播功能的实现,便能将物联网的应用发挥到极致。
发送广播消息¶
「发送广播消息」积木可以指定一个频道名称,以及要向这个频道发送的文字,只要频道名称相同,所有在该频道上的装置或人员,都能收到广播消息,发送广播消息不限制只有实体装置能发送,不论是实体装置、虚拟装置、没有开发板的程序...等,都能够向指定频道发送消息。
「发送广播消息」积木属于「发送完成才会继续执行后面程序」的类型( 点击前方问号会提示),当编辑画面中有这块积木,执行时当程序遇到这块积木会暂停,直到发送完广播消息后才会再继续。
接收广播消息¶
「接收广播消息」积木可以指定一个频道名称,就能不断收听这个频道的变化,只要有人或开发板向这个频道发送消息,就能够通过广播消息的积木显示,接收广播消息不限制只有实体装置能接收,不论是实体装置、虚拟装置、没有开发板的程序...等,都能够接收指定频道的消息。
「接收广播消息」积木属于「不间断收听频道」的类型 ( 点击前方问号会提示 ),不需要放在循环内,就会不断地收听频道消息。
举例来说,使用者A 可以在「点击小怪兽」的同时,向频道test 发送广播消息,而使用者B 和C 负责收听test 频道,如果有收到,就让的小怪兽显示收到的广播消息。
又或者可以使用 开发板的按钮开关,按下 A 的时候向 test 频道发送文字 A,按下 B 的时候发送文字 B。
收听 test 频道的的开发板可以撰写逻辑判断,当收到 A 的时候显示红色的 A,收到 B 的时候显示蓝色的 B。
两块开发板的程序都执行后,点击负责发送广播的开发板的按钮开关,就可以看到另外一块开发板显示对应的消息。
使用 MicroPython 编程¶
通过烧写 MicroPython 固件,就可以在开发板中使用 Python 语言进行编程。
在下述目录将提供丰富的示例代码以及专业 IDE 的支持(如:VsCode、PyCharm)。
使用 Arduino 编程¶
提示
Arduino 将不会阐述过多基础内容,请具备 C/C++ 的语言开发基础。
提供了入门 Arduino 的软件工具和最佳示例,降低进入 ESP32 嵌入式专业开发的门槛。
