5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: eagler8
打印 上一主题 下一主题

尝试Micro:bit学习机器人图形化编程

[复制链接]
21
 楼主| 发表于 2018-3-25 20:02 | 只看该作者


6.重力传感器(加速度传感器)
   重力传感器是经由I2C 跟处理器连结,并提供了三轴的感应数据并包含了手势感测的算法 (比如:垂落检测,失联,失落,摇晃)

项目
说明
Model
Features
3 axis, 2/4/8g ranges
Resolution
10 bits (0..1023)
Max output data rate
800Hz
On board gestures
‘freefall’
Other gestures
Other gestures are implemented by software algorithms in the runtime.


欢迎继续阅读楼主其他信息

22
 楼主| 发表于 2018-3-25 20:02 | 只看该作者


7.磁力传感器
   磁力传感器也是透过I2C 跟处理器连结,提供了磁力感测数值,并提供指南针功能指南针必须在使用前进行校准,校准过程是由运行时软件自动启动的。

项目
说明
Model
Max update rate
80Hz
Full Scale range
1000uT
Sensitivity
0.10uT


23
 楼主| 发表于 2018-3-25 20:03 | 只看该作者


8.温度感测
   nRF51 处理器提供了板子上的实时温度感测(Run time ambient temperature sensing )

项目
说明
Type
on-core nRF51
Sensing range
-25C .. 75C
Resolution
0.25C steps
Accuracy
+/-4C (uncalibrated)
More Info


24
 楼主| 发表于 2018-3-25 20:03 | 只看该作者


9.数字输入输出(GPIO)
    金手指 (edge connector) 上有许多 GPIO 。处理器上有许多的多任务讯号针脚(pin define) ,有些已经设定成GPIO 功能连接至金手指,如何进一步使用这些针脚请参阅 (nRF51 data sheet)

项目
说明
Rings
3 large IO rings and two large power rings, 4mm plug and crocodile clip compatible
GPIO features
19 assignable GPIO pins
2 are assigned to the on board I2C interface
6 are used for display or light sensing feature
2 are used for on board button detection
1 is reserved for an accessibility interface
19 may be assigned as digital input or digital output
19 may be assigned for up to 3 simultaneous PWM channels
19 may be assigned for 1 serial transmit and 1 serial receive channel
6 may be assigned as analog input pins
3 may be assigned to an optional SPI communications interface
3 may be assigned for up to 3 simultaneous touch sensing inputs
ADC resolution
10 bit (0..1023)
Edge Connector
Pitch
1.27mm, 80 way double sided.
Pads
5 pads, with 4mm holes
More Info


25
 楼主| 发表于 2018-3-25 20:04 | 只看该作者


10.电力供应
    给microbit的电力,主要是由接口IC透过USB 提供,亦可由电池盒连接器提供,在金手指上亦有电力供应的功能,需要熟悉电路设计的人操作

项目
说明
Operating range
1.8V .. 3.6V
USB current
120mA max
Onboard Peripherals budget
30mA
Battery connector
JST X2B-PH-SM4-TB
Battery current
TBC
Max current provided via edge connector
90mA
More Info


26
 楼主| 发表于 2018-3-25 20:04 | 只看该作者


11.界面
    这接口IC提供USB链接功能、拖拉式程序刷新(drag and drop flash program)及跟主计算机做序列通讯(serial communication)

项目
说明
Model
Core variant:
Flash ROM
32KB
RAM
4KB
Speed
16MHz
Debug capabilities
SWD
More Info


27
 楼主| 发表于 2018-3-25 20:05 | 只看该作者


12.USB通讯
    Micro:bit有一个USB通讯栈,它内置在接口芯片的固件中。这个堆栈提供了将文件拖放到微位驱动器上的能力,以便将代码加载到应用程序处理器中。它还允许串行数据流到和从micro:比特应用程序处理器通过USB到外部主机计算机,并支持用于主机程序调试的cm-dap协议。

项目
说明
Connector
USB micro, MOLEX_47346-0001
USB version
1.1 Full Speed device
Speed
12Mbit/sec
USB classes supported
More Info


28
 楼主| 发表于 2018-3-25 20:05 | 只看该作者
本帖最后由 eagler8 于 2018-3-25 20:07 编辑

13.除错
    接口处理器可以使用特殊的主机工具来调试运行在应用程序处理器上的代码。它通过4个信号线连接到应用程序处理器。KL26接口处理器代码也可以通过它的集成SWD软件调试接口进行调试,例如在生产时将初始引导加载程序代码加载到这个处理器中,或者恢复丢失的引导加载程序。

项目
说明
Protocol
CMSIS-DAP
Options
JLink/OB (via different firmware)
More Info

29
 楼主| 发表于 2018-3-25 20:11 | 只看该作者
本帖最后由 eagler8 于 2018-3-25 20:13 编辑


Micro:bit 软件生态系统介绍

      软件分成在micro:bit (Target Computer 如下图右边)上执行的及主计算机(Host Computer 如下图左边)上两类

      一般程序写好后透过USB 转到micro:bit , 整个流程由两个芯片完成,一是 KL26Z负责程序刷新(code flashing) ,另一nRF51822则执行完成用户完成的程序。






30
 楼主| 发表于 2018-3-25 20:12 | 只看该作者
本帖最后由 eagler8 于 2018-3-25 20:13 编辑


一:高水平的编程语言

    Micro:bit 的高阶程序语言分成编译及直译两类:
1.编译语言:ARM汇编程序或其他类型的字节码之前被复制到micro:bit。
2.直译语言:脚本和一个解释器都复制到micro:bit。因为翻译是micro:bit本身,这些语言通常还允许输入命令程序让micro:bit“住”在USB。

二:编译语言

    当然,编译的C / C++ 在这里并不被视为高级语言。
    为了可以确定在线的编译环境可支持一百万片micro:bit 的板子,微软用TypeScript 写了浏览器版编译程序,在这编译程序上微软使用了以下的技术:
1.Blocks (at micro:bit.co.uk)
2.TouchDevelop
3.CodeKingdoms Javascript (at microbit.co.uk)
4.Blocks and Javascript as part of pxt (at pxt.micro:bit.org)
    整个完整流程说明在浏览器编译页面 In browser compiler更细部令人惊艳的细节在 TouchDevelop in 208 bits
    浏览编译程序不会编译整个程序,只有用户编写的部分,其他底层执行的部分已经预先用mbed编译好,并整合进在线编译程序。当用户编写完他的程序,编译程序便会编译并结合底层软件,让用户下载!



31
 楼主| 发表于 2018-3-25 20:14 | 只看该作者


三:直译语言

    在microbit.co.uk 正式的编译程序中,只有 Python 是直译的。这是用MicroPython 直译器项目所完成,细部数据可以 MicroPython的页面链接中找到。
    另外还有Javascript 直译器项目 port of the Javascript interpreter Espruino支持 micro:bit!

四:程序环境及整合接口

    这里有许多程序环境可让用户对microbit做不同层面的程序设计。
    较普遍的编译环境都列在https://microbit.org/code,脱机的编译环境有Mu offline Python editor
    这里已经尽可能将micro bit 相关的编译环境列出来,若你有知道,但不在这上面的,请让我们知道。
microbit.co.uk editors based on TouchDevelop backend:
PXT for micro:bit (successor to the TouchDevelop-based editors above)


32
 楼主| 发表于 2018-3-25 20:15 | 只看该作者

五:从程序环境到 micro:bit 

    每一个编译环境都会产生一个.hex 的档案,这是micro:bit 可以认得的格式。由于主计算机会将Microbit认为是USB随身碟(是由DAPLink 模拟出来),当编译出来Hex 檔拖拉至microbit。当闪灯结束,程序便开始执行。
    另一"刷程序"(flash’ code) 是用手机AP透过蓝芽传输至 micro:bit ,更多的信息请参考here ,有关蓝芽手机程序更多信息请参考here

六:micro:bit底层软件架构

           当你为micro:bit 写完你的应用程序,刷你的程序进micro:bit 。这hex 档除了包含你写的部分也包含了许多底成软件模块,这些软件模块在底下一、一做介绍:
1.the micro:bit Runtime (有时称这部分为装置抽象层),是由Lancaster University 用C++ 写成。装置抽象层形成不同语言共同使用的部分,但在不同语言下使用的频繁度及包装的紧密度不同。(有兴趣的读者可以用以下列处的链接下载语言编译程序的程序代码研究,或初步去看各语言的reference 作了解)
2.ARM mbed 这部分提供了mbed 对不同ARM based MCU 的周边有标准的SDK ,这也包含了BLE 的抽象层及API ,这也代表的microbit 的软件可以执行在其他的mbed 支持的硬件上
3.Nordic nRF51-SDK mbed 是建构在Nordic nRF51-SDK的上层, 由 Nordic 发展的组件可以帮助程序人员使用它们的硬件。
4.MicroPython interpreter 若你是使用python的程序人员,它是用micro python 及mbed 开发出来的,所以microPython 是可以使用在许多不同硬件平台。



33
 楼主| 发表于 2018-3-25 20:37 | 只看该作者



34
 楼主| 发表于 2018-3-25 20:54 | 只看该作者
本帖最后由 eagler8 于 2018-3-25 21:38 编辑

发现外国人喜欢直接用鳄鱼夹来连接




35
 楼主| 发表于 2018-3-25 21:22 | 只看该作者
本帖最后由 eagler8 于 2018-3-26 05:26 编辑

国内相关平台开发了不少Micro:bit的专门扩展板,大致有这几种:
1、小喵科技(Kittenbot )的扩展板 Robotbit
官网:http://www.kittenbot.cn/













36
 楼主| 发表于 2018-3-25 21:28 | 只看该作者
本帖最后由 eagler8 于 2018-3-26 05:29 编辑


2、乐幻索尔的扩展板
官网:http://www.lobot-robot.com/index.html






37
 楼主| 发表于 2018-3-25 21:38 | 只看该作者
本帖最后由 eagler8 于 2018-3-26 05:31 编辑

3、亚博智能开发的扩展板
官网:http://www.lobot-robot.com









38
 楼主| 发表于 2018-3-25 21:39 | 只看该作者






39
 楼主| 发表于 2018-3-25 21:40 | 只看该作者





40
 楼主| 发表于 2018-3-25 21:46 | 只看该作者
本帖最后由 eagler8 于 2018-3-26 08:05 编辑

4、上海智位(Dfrobot)的横插口扩展板,功能少许些

官网:http://www.dfrobot.com.cn/community/portal.php




DF还推出了micro:bit电机驱动扩展板,该办集成了4路电机驱动、2路步进电机驱动的基础上;还引出了8路舵机接口,9路IO口、2路I2C接口(都是采用Gravity标准接口)。在支持很多模块和传感器的同时还便于拔插。板子采用3.5mm插头方式和接线两种电源接口方式(电压范围:3.5~5.5V)。



这款刚推出










您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

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