37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)实验一百七十一:BBCmicrobitmicro:bit,bitgo,bitclubpython图形编程开发板
软件方面,支持微软开发的PXT图形化编程界面:支持Windows、macOS、iOS、安卓等多种操作系统编程环境基于Web服务,无需额外下载编译器电脑端通过USB烧写、仿真程序移动端通过蓝牙无线烧写、仿真程序还支持包括Javasript、Python、MbedC在内的多种主流的编程语言:MicrosoftTouchDevelopIDEMicrosoftBlocksCodeKingdomsJavascriptMicroPythonmbedenabled硬件方面参数如下:nRF51822处理器16MHz32位ARMCortex-M0内核蓝牙4.0低功耗/2.4GHzRF无线16kBRAM256kBFlashKL26Z单片机48MHzARMCortex-M0+内核128KBFlash地磁传感器-MAG3110,I2C,获取三轴地磁数据加速度传感器-MMA8652,I2C,获取三轴加速度数据3V电源接口复位按键MicroUSB接口-可接入电脑烧写/仿真,串口通信5x5LED点阵-可显示文字、图形等按键A/B-可编程按键I/O扩展接口-含SPI、UART、I2C、AD、PWM等接口
I/OI/O包括环孔连接器:3个GPIO(P0、P1、P2),1个电源(3V),1个接地(GND),可以使用鳄鱼夹或4mm香蕉插头;边缘连接器的针脚标号为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路I2C总线(P19-P20);可设置出:3个PWM输出,1对UART串行收发[11]。P3、P4、P6、P7、P9、P10结合于LED阵列显示屏,P5、P11结合于按钮A、B。
micro:bit电原理图
从属芯片Micro:bit有一个真正扮演从属角色的芯片,是美国Freescale(已由荷兰NXP购并)的KinetisKL26微控制器芯片,这颗晶片受nRF51822所控管,而它提供整个Micro:bit系统板两个主要作用,一是运作电压调节,另一是USB介面传输的仲介。Micro:bit是透过MicroUSB连接器取得运作电力,但电压为5V,主控芯片nRF51822最高只能承受3.6V,无福消受5V,所以是由KL26充当电压调节器,透过KL26转成3.3V,再供系统板上各部位取用电力,最大可供应120mA电流,这一供电线路上也有装设瞬态电压抑制器(TransientVoltageSuppressor,TVS)以好避免静电放电(ElectroStaticDischarge,ESD)可能造成的破坏与影响。
主控芯片Micro:bit的主控芯片是挪威NordicSemiconductor公司的nRF51822,其实是颗低功耗蓝牙(BluetoothLowEnergy,BLE)的无线通讯收发器芯片,在一般的系统设计上这颗芯片多是扮演从属(slave)的角色,将无线收发讯息传递给系统上的主控芯片(host),但在Micro:bit上它就是个主控芯片,有点「蜀中无大将,廖化当先锋」的感觉。nRF51822芯片只有16KB的RAM、128KB的ROM,官方的资料显示,此芯片的主要想定应用是蓝牙滑鼠/键盘/触控板、游戏或家电遥控器、智慧手环、Beacon等。nRF51822在Micro:bit上至少要执行三件事,一是蓝牙的通讯协定堆叠,二是作业系统程式(根基于ARM主导的mbedOS),三是使用者(user/developer)开发并载入的应用程式。nRF51822芯片本身也有GPIO、PWM、I2C、ADC等功能,其中Micro:bit上的加速度感测器、磁阻感测器即是透过I2C介面与nRF51822芯片连接。
ArudinoIDE可以应对很多高级复杂的项目,这是其他所欠缺的,比如MicroPython会遇到内存不足的问题,而MakeCode封装了组件从而是开发变得简单,但也因此失去了自由书写代码的能力。这里先尝试添加NRF5x开发板支持,因为micro:bit所使用的nRF51控制器并没有被ArduinoIDE原生支持,需要手动添加。
如果这不是您的第一个,请确保使用逗号分隔网址。
没想到体积还挺大的,下载了快二个小时......
从菜单栏打开工具>开发板>开发板选择————选择BBCmicro:bit板子。
设置SoftDevice为S110。
端口设置为BBCmicro:bit
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十一:BBCmicrobitmicro:bit,bitgo,bitclubpython图形编程开发板**
项目:使用ArduinoIDE尝试给Micro:bit编程
Arduino参考开源代码
项目:点亮Micro:bit当中那颗LED
/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百七十一:BBCmicrobitmicro:bit,bitgo,bitclubpython图形编程开发板项目:点亮Micro:bit当中那颗LED*/#defineLED_ROW227#defineLED_COL310voidsetup(){//putyoursetupcodehere,torunonce:pinMode(LED_ROW2,OUTPUT);pinMode(LED_COL3,OUTPUT);}voidloop(){//putyourmaincodehere,torunrepeatedly:digitalWrite(LED_ROW2,1);digitalWrite(LED_COL3,0);}Arduino实验场景图
Micro:bit通过手机安卓线连接电脑后,显示为U盘。
hex是Micro:bit的程序格式,出厂演示代码(OutOfBoxExperience-v2.hex)用C++编写的,因此不会在MakeCode或python编辑器中加载,直接在电脑上拖放操作就行。
1.LED闪烁2.滚动显示HELLO字符串3.指示玩家按A键4.指示玩家按B键5.滚动显示SHAKE!字符串,摇晃主板把所有的LED灯都摇亮6.滚动显示CHASETHEDOT字符串,用常亮的光点去吃掉闪烁的光点7.滚动显示GREAT!NOWGETCODING!字符串.8.各种图案不断的变换出现
就这样,沒了吗?A+B两键同时按下去看看,哇!有彩蛋!是个类似贪吃蛇的小游戏。
常用的micro:bit程序编辑器按照底层核心技术主要分为四类:
Scratch编辑器(图形指令)微软makecode编辑器(图形指令)Python代码编辑器(代码指令)Ming+综合编辑器(图形指令+Arduno+microPython)
1、Scratch3.0编辑器(离线版)
在WIN10的应用商店下载免费的Scratchlink,并安装
通过蓝牙同步,不用下载,程序可以保存在电脑本地。
偶然发现WIN10应用商店里面有《MakeCode》的离线版本《MakeCodeformicro:bit》,安装了,挺方便的