速开发micro:bit和App互动程序

micro:bit编程、教学、展示
STEM
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

速开发micro:bit和App互动程序

#1

帖子 shaoziyang »

怎样创建一个可以和 iOS / Android 应用互动的 microbit程序?以前很复杂,现在用 blynk 就很容易,这里介绍使用Arduino IDE进行开发。整个教程不超过30分钟。

安装需要的软件
  • 下载并安装 Arduino IDE.
  • 安装 Arduino 的 nRF5 support package。请参考 这个说明.
  • 安装 BLEPeripheral 库。可以使用 Arduino 库管理 或者 手动安装.
  • 安装 Blynk 库。安装说明.
  • 安装 Blynk 手机app,并创建账号。
配置 Arduino IDE 和 Micro:Bit
Arduino IDE:
  • 选择 Tools -> Board -> BBC micro:bit
  • 选择 Tools -> SoftDevice -> S110
  • 选择 Tools -> Programmer -> CMSIS-DAP
  • 连接 Micro:Bit
  • 选择: Tools -> nRF5 Flash SoftDevice (需要接受协议)

上传程序
使用 Blynk app,创建 New Project。选择 BBC Micro:bit 设备,BLE 连接方式。

在你的邮箱中会收到新的授权令牌。

打开Arduino的 micro:bit 例程:
File > Examples > Blynk > Boards_Bluetooth > BBC_MicroBit

在程序中,替换 "YourAuthToken"为你收到的令牌:

完成后,点击 "上传" 按钮。

在你的程序中,添加 BLE 小部件然后点开,打开 BLE 设置。
  • 点击 "连接 BLE 设备",
  • 选择 "Blynk" 设备,
  • Blynk App 将报告连接的设备。

读取模拟传感器
在 Blynk App中,添加 数值显示小部件(Value Display widget)并连接到 Analog Pin 1. 运行程序,就可以查看传感器输入.

读取按键
添加下面程序行到Arduino的 setup 函数,并上传到microbit。

代码: 全选

  // Configure on-board buttons
  pinMode(PIN_BUTTON_A, INPUT_PULLUP);
  pinMode(PIN_BUTTON_B, INPUT_PULLUP);
添加 数值显示小部件 并连接到 Digital Pin 5.
这个引脚是 Button A,而 Button B 使用引脚 11。运行 你的程序就可以查看按键状态。

开关 LEDs  
这个功能需要添加更多代码,添加下面代码到 loop 和 setup 函数之前:

代码: 全选

#define LED_ROW2 27
#define LED_COL3 10

BLYNK_WRITE(V0)
{
  pinMode(LED_ROW2, OUTPUT);
  pinMode(LED_COL3, OUTPUT);
  if (param.asInt() == 1)        /* When button widget is "ON" */
  {
    digitalWrite(LED_ROW2, 1);
    digitalWrite(LED_COL3, 0);
  }
  else
  {
    digitalWrite(LED_ROW2, 0);
    digitalWrite(LED_COL3, 0);
  }
}
为什么我们需要使用2引脚驱动一个LED?因为microbit上使用了扫描方式驱动LED,使用了12个GPIO驱动 25 个LED。详细的原理介绍请见micro:bit 显示原理

再添加一个按钮小部件 ,(选择模式: 开关),关联到虚拟引脚 0。运行程序,按下 按钮小部件。就可以看的LED开和关了。
 

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章