可以看下具体效果:哔哩哔哩: https://www.bilibili.com/video/BV1nY4y147Xs/?vd_source=a30fa5a9bb2f775cf5d61ace59b054a9
这种教程 哔哩哔哩上有很多
代码
//整体效果是:滑块控制舵机的位置(0~180),按下按键舵机到达指定位置。
//如果只是由滑块控制舵机详细操作见代码!
#include <Servo.h>
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "********"; // 电灯科技key
char ssid[] = "*****"; // WiFi 名称
char pswd[] = "********"; // wifi 密码
// 新建组件对象(按键+滑块)
BlinkerButton Button1("btn-max"); //位置1 按钮 数据键名
BlinkerButton Button2("btn-close");
BlinkerSlider Slider1("max-num"); //位置1 滑块 数据键名 范围0-180
Servo myservo;
int servo_max=360;
int servo_close=0;
void button1_callback(const String & state) { //位置1 按钮
BLINKER_LOG("get button state: ", servo_max);
myservo.write(360);
digitalWrite(D3, HIGH);
Blinker.vibrate();
}
void button2_callback(const String & state) { //位置1 按钮
BLINKER_LOG("get button state: ", servo_close);
myservo.write(0);
digitalWrite(D3, LOW);
Blinker.vibrate();
}
void slider1_callback(int32_t value)
{
BLINKER_LOG("get slider value: ", value);
servo_max = value;
Slider1.color("#1E90FF");
Slider1.print();
//digitalWrite(D3, value);
myservo.write(value);//如果包含这句,APP中的按键是不起作用的,只有滑块管用。
}
void setup() {
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
Button2.attach(button2_callback);
Slider1.attach(slider1_callback);
myservo.attach(D2);
myservo.write(10);
pinMode(D3, OUTPUT);
}
void loop() {
Blinker.run();
}