在树莓派上玩转 micro:bit 与 MicroPython

   日期:2024-01-22     浏览:48    评论:0    
核心提示:micro:bit 是一款由英国广播公司(BBC)推出的,用于青少年编程教育的ARM开发版。它板载蓝牙模块、加速度计、电子罗盘、三个按钮,5×5 点阵。在 Python 基金会的帮助下 micro:bit 支持 MicroPython 语言。本文将介绍如何在树莓派上安装 MicroPython 编辑器 mu,并将用 MicroPython 编写的程序上传到 micro:bit 上运行。

micro:bit 是一款由英国广播公司(BBC)推出的,用于青少年编程教育的ARM开发版。它板载蓝牙模块、加速度计、电子罗盘、三个按钮,5×5 点阵。在 Python 基金会的帮助下 micro:bit 支持 MicroPython 语言。本文将介绍如何在树莓派上安装 MicroPython 编辑器 mu,并将用 MicroPython 编写的程序上传到 micro:bit 上运行。

所需硬件

micro:bit 主板(购买)
microUSB 数据线
47‎欧电阻
母对母跳线
鳄鱼夹线
LED
树莓派及相关配件(购买)

安装软件

在终端下输入下面的命令安装软件:

sudo apt-get update && sudo apt-get install mu -y

打开 mu 编辑器

MicroPython 是基于 Python 3 的精简版本,主要用于微控制器(MCU)上。mu 是一款专为儿童设计的开源代码编辑器,可以在树莓派上运行。

在树莓派系统(桌面版)的主菜单中打开 mu。

将树莓派和 micro:bit 连接起来(使用microUSB数据线)。

系统会弹出下面的对话框:

点击取消即可。

使用 mu

mu 软件的设计考虑到使用者的年龄层,操作界面非常直观。

1.New 按钮将打开一个新文件。
2.Load 按钮用于打开您已经写入的现有代码。
3.Save 按钮保存您在可见卷标中的任何工作。
4.Flash 按钮将把你的代码刷写到micro:bit上。
5.Repl 按钮打开一个交互式外壳。
6.Zoom 按钮将改变窗口中文本的大小。
7.Theme 按钮可在明暗之间切换。 你可以选择你的偏好。
8.Help 按钮将打开Epiphany网络浏览器,并带您进入帮助页面。
9.Quit 按钮将推出 mu。

使用 REPL

REPL 是一个交互式的 Shell,它在micro:bit本身上运行。
点击Repl按钮,等待底部的交互式 Shell 打开:

您可以点击进入REPL并立即开始编写代码。尝试以下两行:

from microbit import *
display.scroll('Woop, woop')

看到文本滚动到micro:bit的LED矩阵吗?如果没有,您可以再次键入第二行滚动消息第二次:

display.scroll('Woop, woop')

REPL是编写单行代码以测试它们的好地方,但对于较大的脚本则需要使用代码文件了。
编写并刷入代码
再次点击Repl按钮关闭REPL。
在主窗口中,您现在可以编写一个简单的小脚本来使用micro:bit的按钮:

from microbit import *
while True:
    if button_a.is_pressed():
        display.scroll('A PRESSED')
    if button_b.is_pressed():
        display.scroll('B PRESSED')

现在您可以通过保存按钮来保存以上代码为 what_pressed.py 文件。
接下来,您需要使用神秘的 Flash 按钮。按下按钮,出现对话框:

micro:bit 的底部的琥珀色 LED 应该闪烁起来了,这是因为文件正在加载到 micro:bit 上。
轻触按键查看 LED 点阵中滚动的文字。

更多好玩的

另外,micro:bit 上还有 GPIO 金手指、加速度计和罗盘。
如果将 LED、电阻用鳄鱼夹线串接起来,如下所示。

我们可以通过以下代码实现晃动 micro:bit 让外部的 LED 闪烁,与此同时板载的点阵显示特定的图形。

from microbit import *

shake = False
while True:
    if shake:
        pin0.write_digital(1)
        display.show(Image.SQUARE)
    else:
        pin0.write_digital(0)
        display.clear()
    if accelerometer.was_gesture('shake'):
        shake = not shake
        sleep(500)

将以上代码刷入到 micro:bit 然后晃动它看看效果吧~

via

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服