极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 89699|回复: 48

【Arduino】108种传感器模块系列实验(122)---micro:bit 开发板

[复制链接]
发表于 2019-9-16 12:16:19 | 显示全部楼层 |阅读模式
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验一百二十二: BBC microbit micro:bit,bit go,bit club python图形编程开发板




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2019-9-16 13:02:54 | 显示全部楼层
本帖最后由 eagler8 于 2019-9-16 15:29 编辑


Micro:bit
(全称BBC micro:bit),是一款由英国广播公司(BBC)推出的,用于青少年编程教育的ARM开发板。采用了基于ARM Cortex-M0的nRF51822处理器,集成蓝牙功能,板载5×5 LED点阵、两个可编程按键、加速度计、三轴地磁和温度计等资源。还引出了20+5pin的扩展接口,可轻松胜任各种编程相关的教学与开发场景,包括编写电子游戏、机器人控制、科学实验和可穿戴装置开发等; 仅有信用卡一半大小(4cm×5cm),可以集成到诸多便携的项目中。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 13:09:22 | 显示全部楼层
在线编程
BBC还提供了在线的编程网站(https://makecode.microbit.org/),可以通过图形化的编程界面,或者通过python或javascript等你自己喜欢的编程语言进行编程。最后,可以通过蓝牙把编写好的程序上传到microbit板子上查看实际效果。下面动图显示的就是如何通过图形化的界面编写一个简单的心跳小程序。最棒的一点是micro bit官网提供了板子的仿真程序,可以实时预览编程效果,所以不必购买真正的小板子也能开始使用micro bit,而且这一切都是免费的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 13:16:08 | 显示全部楼层

软件方面,支持微软开发的PXT图形化编程界面:
支持Windows、macOS、iOS、安卓等多种操作系统
编程环境基于Web服务,无需额外下载编译器
电脑端通过USB烧写、仿真程序
移动端通过蓝牙无线烧写、仿真程序
还支持包括Javasript、Python、Mbed C在内的
多种主流的编程语言:
Microsoft TouchDevelop IDE
Microsoft Blocks
CodeKingdoms Javascript
MicroPython
mbed enabled

硬件方面参数如下:
nRF51822处理器
16 MHz 32位 ARM Cortex-M0内核
蓝牙4.0低功耗/2.4GHz RF无线
16kB RAM
256kB Flash
KL26Z单片机
48 MHz ARM Cortex-M0+内核
128 KB Flash
地磁传感器 - MAG3110,I2C,获取三轴地磁数据
加速度传感器 - MMA8652,I2C,获取三轴加速度数据
3V电源接口
复位按键
Micro USB接口 - 可接入电脑烧写/仿真,串口通信
5x5 LED点阵 - 可显示文字、图形等
按键A/B - 可编程按键
I/O扩展接口 - 含SPI、UART、I2C、AD、PWM等接口

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 13:27:40 | 显示全部楼层

I/O
I/O包括环孔连接器:3个GPIO(P0、P1、P2),1个电源(3V),1个接地(GND),可以使用鳄鱼夹或4 mm香蕉插头;边缘连接器的针脚标号为micro:bit设备抽象层(DAL)指定的:P3、P0、P4-P7、P1、P8-P12、P2、P13-P16、3V(3个)、P19-P20、GND(3个),共19个可设置的GPIO,其中设置了:6个模拟输入(P0-P4、P10),可选的1路SPI总线(P13-P15),1路I²C总线(P19-P20);可设置出:3个PWM输出,1对UART串行收发[11]。 P3、P4、P6、 P7、P9、P10结合于LED阵列显示屏, P5、P11结合于按钮A、B。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 13:36:54 | 显示全部楼层
micro:bit电原理图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 15:17:19 | 显示全部楼层
从属芯片
Micro:bit有一个真正扮演从属角色的芯片,是美国Freescale(已由荷兰NXP购并)的Kinetis KL26微控制器芯片,这颗晶片受nRF51822所控管,而它提供整个Micro:bit系统板两个主要作用,一是运作电压调节,另一是USB介面传输的仲介。Micro:bit是透过Micro USB连接器取得运作电力,但电压为5V,主控芯片nRF51822最高只能承受3.6V,无福消受5V,所以是由KL26充当电压调节器,透过KL26转成3.3V,再供系统板上各部位取用电力,最大可供应120mA电流,这一供电线路上也有装设瞬态电压抑制器(Transient Voltage Suppressor, TVS)以好避免静电放电(ElectroStatic Discharge, ESD)可能造成的破坏与影响。



严格来说,Micro:bit有三处取得电力的来源,Micro USB是一处,也可透过电池连接器(battery connector)或端缘接脚连接器(edge connector,Micro:bit上的特有词,因为Micro:bit系统板在电路板的边缘设置一排接脚,这个边缘就称之为edge)来取得,且透过二极体对供电来源进行切换,避免某一处供电来源对其他供电来源进行供电,避免错误。另一功用是传输仲介,Micro:bit接上电脑后,在电脑上开发好的程式要传到Micro:bit上,是先透过Micro USB连接器连到KL26,而后KL26再将程式传给nRF51822,反之亦然。在Micro:bit的官方网页上,主控芯片也称为应用程式处理器,因为使用者/开发者开发出的应用程式是由主控芯片所执行(多数系统均如此设计),而从属的KL26也因其作用而被称为介面处理器,此处所言的介面正是指USB/Micro USB介面。有趣的是,通常系统板上是以运算力最强的芯片充当主控芯片,因为该芯片最有效能余裕掌控与协调系统全局,但在Micro:bit上却不是,KL26无论在核心、核心频率、记忆体资源等各方面都高过nRF51822,但却只用来供电与USB介面仲介,KL26的GPIO与相关周边电路均没派上用场。另外,KL26支援USB 2.0与OTG(On-The-Go),而且支援USB Mass Storage Device的类别(class),所以接上电脑后可以在「我的电脑」里看到一个新加入的USB随身碟,其实就是指Micro:bit系统板。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 15:19:06 | 显示全部楼层
主控芯片
Micro:bit的主控芯片是挪威Nordic Semiconductor公司的nRF51822,其实是颗低功耗蓝牙(Bluetooth Low Energy, BLE)的无线通讯收发器芯片,在一般的系统设计上这颗芯片多是扮演从属( slave)的角色,将无线收发讯息传递给系统上的主控芯片(host),但在Micro:bit上它就是个主控芯片,有点「蜀中无大将,廖化当先锋」的感觉。nRF51822芯片只有16KB的RAM、128KB的ROM,官方的资料显示,此芯片的主要想定应用是蓝牙滑鼠/键盘/触控板、游戏或家电遥控器、智慧手环、Beacon等。nRF51822在Micro:bit上至少要执行三件事,一是蓝牙的通讯协定堆叠,二是作业系统程式(根基于ARM主导的mbed OS),三是使用者(user/developer)开发并载入的应用程式。nRF51822芯片本身也有GPIO、PWM、I2C、ADC等功能,其中Micro:bit上的加速度感测器、磁阻感测器即是透过I2C介面与nRF51822芯片连接。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 15:35:19 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 17:58:29 | 显示全部楼层
Arudino IDE可以应对很多高级复杂的项目,这是其他所欠缺的,比如MicroPython会遇到内存不足的问题,而MakeCode封装了组件从而是开发变得简单,但也因此失去了自由书写代码的能力。这里先尝试添加NRF5x 开发板支持,因为micro:bit所使用的nRF51控制器并没有被Arduino IDE原生支持,需要手动添加。

在Arduino中,转到“首选项”并添加  https://sandeepmistry.github.io/ ... 5_boards_index.json 到“其他Board Manager URL”文本框中。

如果这不是您的第一个,请确保使用逗号分隔网址。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 18:24:44 | 显示全部楼层
没想到体积还挺大的,下载了快二个小时......





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 20:31:59 | 显示全部楼层
从菜单栏打开工具>开发板>开发板选择————选择BBC micro:bit板子。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 20:33:59 | 显示全部楼层
设置SoftDevice为S110。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 20:35:59 | 显示全部楼层
端口设置为BBC micro:bit

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-16 20:38:15 | 显示全部楼层
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百二十二: BBC microbit micro:bit,bit go,bit club python图形编程开发板
  4. 项目:使用Arduino IDE尝试给 Micro:bit 编程
  5. */

  6. const int COL1 = 3;     
  7. const int LED = 26;   

  8. void setup() {  
  9.   Serial.begin(9600);
  10.   
  11.   Serial.println("microbit is ready!");

  12.   pinMode(COL1, OUTPUT);
  13.   digitalWrite(COL1, LOW);
  14.   pinMode(LED, OUTPUT);   
  15. }

  16. void loop(){
  17.   Serial.println("world blink!");
  18.   
  19.   digitalWrite(LED, HIGH);
  20.   delay(500);
  21.   digitalWrite(LED, LOW);
  22.   delay(500);
  23. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 08:30 , Processed in 0.051274 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表