您的位置:首页 > Web前端 > Node.js

mbed 初试(LinkNode 板卡)(2016-04-21)

2016-04-21 00:13 453 查看
前言

  感谢论坛,感谢 LinkSrite,论坛活动申请了一个 LinkNode,体验了一下 mbed。

  翻看完官方 wiki,大概了解了一下 mbed 的开发,然后做了 blink 和 pwm 的测试,发现 mbed 和熟悉的 arduino 极像,并且功能更强大的样子,在线 IDE 用起来倒是方便,库的引用也是随用随引,就是网络对操作响应速度上有一些影响,体验上会略差一点,真要经常用的时候,还是比较倾向于本地的 IDE 更顺手。

测试

那么闲话不多说,试一下官方 wiki 上的 blink 吧,程序略过,视频奉上:

然后升级一下 blink,既然有两个颜色,红和蓝,不如 blink 成警车灯一样的效果吧,顺带测试串口:

// 像警车灯一样红蓝闪烁的 blink 实验
#include <mbed.h>

DigitalOut LED_R(P0_20);
DigitalOut LED_B(P0_19);
Serial pc(P0_23, P0_25);

int main()
{
while (true)
{
LED_R=1;
LED_B=0;
wait(0.5);
LED_R=0;
LED_B=1;
wait(0.5);

pc.printf("Blink!\n");
}
}


视频:

然后就是 PWM 呼吸灯,直接来双色渐变呼吸效果吧:

// pwm 两个 LED 测试

#include <mbed.h>

Serial pc(P0_23, P0_25);
PwmOut LED_R(P0_20);
PwmOut LED_B(P0_19);

float delta  = 0.05;
float deltaR = delta;
float deltaB = 0;

int main()
{
LED_R.write(0);
LED_B.write(0);

while (true)
{
LED_R = LED_R + deltaR;
LED_B = LED_B + deltaB;

wait(0.02);
if (LED_R.read() >= 0.999)
{
deltaR = -deltaR;
}
else if (LED_R.read() <= 0.001)
{
deltaR = 0;
deltaB = delta;
LED_R  = 0.002;
}

if (LED_B.read() >= 0.999)
{
deltaB = -deltaB;
}
else if (LED_B.read() <= 0.001)
{
deltaB = 0;
deltaR = delta;
LED_B  = 0.002;
}

pc.printf("LED_R: %f, delta: %f, LED_B: %f, delta: %f\n", float(LED_R), deltaR, float(LED_B), deltaB);
}
}


视频:

参考文档

LinkNode wik:http://linksprite.com/wiki/index.php5?title=Mbed_BLE_Sensors_Tag

LinkNode 官方文档:https://www.gitbook.com/book/yaoq/linknode/details

mbed 在线 IDE:https://www.mbed.com/zh-cn/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: