用blinker连接蓝牙控制led灯
根据这个网站以及论坛上的实例改的程序https://www.arduino.cn/thread-83177-1-1.html
附上完整代码,想用代码控制led灯开关
#define BLINKER_BLE
#include <Blinker.h>
#define BUTTON_1 "ButtonKey"
#define ledPin 12
BlinkerButton Button1(BUTTON_1);
void button1_callback(const String & state)
{
//digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
BLINKER_LOG("get button state: ", state);
if (state == "on") {
BLINKER_LOG("Toggle on!");
Button1.icon("icon_1");
Button1.color("#FFFFFF");
Button1.text("Your button name or describe");
Button1.print("on");
digitalWrite(ledPin,HIGH);
}
if (state == "off") {
BLINKER_LOG("Toggle off!");
Button1.icon("icon_1");
Button1.color("#FFFFFF");
Button1.text("Your button name or describe");
Button1.print("off");
digitalWrite(ledPin,LOW);
}
}
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.print(BlinkerTime);
Blinker.print("millis", BlinkerTime);
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
Blinker.begin(0,1);
Button1.attach(button1_callback);
Blinker.attachData(dataRead);
}
void loop()
{
Blinker.run();
}
代码调试是成功的,但是在blinker的使用问题上出现了问题,附图
按键一直都是on状态,我也不知道是我的设置出现了问题还是程序就编写的不对
使用blinker的过程中每按一次这个红色的开关手机就会震动一下,arduino上面的tx灯闪一下,就没有然后了。。。。
有大佬知道怎么解决么
本帖最后由 MrBattery 于 2019-3-7 21:51 编辑
换成这个代码也是一样的没法用,不知道为什么,按键名称也改成相应的了
#define BLINKER_PRINT Serial
#define BLINKER_BLE
#include <Blinker.h>
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
int counter = 0;
void button1_callback(const String & state) {
BLINKER_LOG("get button state: ", state);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
counter++;
Number1.print(counter);
}
void setup() {
Serial.begin(115200);
#if defined(BLINKER_PRINT)
BLINKER_DEBUG.stream(BLINKER_PRINT);
#endif
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
Blinker.begin();
Blinker.attachData(dataRead);
Button1.attach(button1_callback);
}
void loop() {
Blinker.run();
}
一、0、1引脚已经用作和PC通信了,请不要再连接蓝牙模块;二、请确认你蓝牙模块的波特率,并按文档所示配置。
如果不理解以上的话,那请按照文档操作即可。
奈何col 发表于 2019-3-8 01:21
一、0、1引脚已经用作和PC通信了,请不要再连接蓝牙模块;二、请确认你蓝牙模块的波特率,并按文档所示配置 ...
我将引脚换成了2,3,步骤也都是按照网上的来的,程序也是网上的,但还是不成功 解决了。。。
按照大佬说的不用01,换成了23
另外把语句改成Blinker.begin(2,3,115200);(用的JDY-08)
(终于可以继续做下去了。。。)
MrBattery 发表于 2019-3-8 11:01
解决了。。。
按照大佬说的不用01,换成了23
serial。begin()莫名奇妙 哈哈 我 下次也要注意 请问楼主是把JDY-08买来之后能直接连上手机端的Blinker吗?我买的JDY08总是显示连接超时... 同楼上,一直显示连接超时:dizzy:
页:
[1]