使用Blinker經過Arduino板控制9g舵機開關窗
在本項目設計當中,採用Blinker能夠遠程在同一WiFi下來控制esp8266開發板上的舵機,來實現開關窗的效果。工具
1、準備
1.麪包板
2.9g舵機
oop
3.esp8266開發板ui
4.杜邦線
5.手機下載點燈科技的Blinker軟件
spa
2、硬件鏈接
Arduino指的是esp8266開發板,PWM在這裏鏈接esp8266的D4引腳
設計
3、Arduino程序
完整代碼程序
code
#include <Servo.h> #define BLINKER_WIFI #include <Blinker.h> char auth[] = "12c5526815fa"; char ssid[] = "TP-LINK_801B"; char pswd[] = "12345678"; BlinkerButton Button1("btn-max"); BlinkerButton Button2("btn-min"); Servo myservo; servo_max=180,servo_min=90; void button1_callback(const String & state) { BLINKER_LOG("get button state: ", servo_max); myservo.write(servo_max); Blinker.vibrate(); } void button2_callback(const String & state) { BLINKER_LOG("get button state: ", servo_min); myservo.write(servo_min); Blinker.vibrate(); } void setup() { Serial.begin(115200); BLINKER_DEBUG.stream(Serial); Blinker.begin(auth, ssid, pswd);//以上關於8266芯片的初始化 Button1.attach(button1_callback); Button2.attach(button2_callback); myservo.attach(2); //將舵機設置在2引腳 } void loop() { Blinker.run(); }
各部分代碼程序闡述blog
在Arduino軟件上將舵機庫、Blinker庫加載進去圖片
#include <Servo.h> //舵機庫文件 #define BLINKER_WIFI #include <Blinker.h> //blinker庫文件
保證手機和esp8266開發板在同一WiFi下,設置WiFi,在這裏我是手機鏈接的家裏無線網,因此在設置WiFi時用的家裏的WiFi,在數據上傳是來控制舵機時也必須用得是同一wifi開發
char auth[] = "12c5526815fa"; //Blinker中接入設備時的密鑰 char ssid[] = "TP-LINK_801B"; //WiFi名稱 char pswd[] = "12345678"; //WiFi密碼
對blinker軟件上的按鍵進行數據名建立,以及定義舵機名稱,舵機開窗時的角度設置爲90,關窗的角度設置爲0get
BlinkerButton Button1("btn-max"); //開窗數據鍵名 BlinkerButton Button2("btn-min"); //關窗數據鍵名 Servo myservo;//定義(建立)一個舵機名稱爲myservo int servo_max=90,servo_min=0;
對兩個Blinker上的控制按鈕進行程序設計
void button1_callback(const String & state) //在按下開窗數據鍵名的按鈕時,執行如下程序 { BLINKER_LOG("get button state: ", servo_max); myservo.write(servo_max); //寫入設置好的角度90 Blinker.vibrate(); //使手機震動 } void button2_callback(const String & state) //在按下開窗數據鍵名的按鈕時,執行如下程序 { BLINKER_LOG("get button state: ", servo_min); myservo.write(servo_min); //寫入設置好的角度0 Blinker.vibrate(); //使手機震動 }
進行esp8266的初始化及引腳的鏈接設置
void setup() { Serial.begin(115200); BLINKER_DEBUG.stream(Serial); Blinker.begin(auth, ssid, pswd); //以上是關於8266芯片的初始化 Button1.attach(button1_callback); Button2.attach(button2_callback); myservo.attach(2); //定義舵機PWM線鏈接的是esp8266開發板上的D4引腳 }
這段程序讓Blinker軟件進入工做狀態
void loop() { Blinker.run(); //Binker運行 }
4、Arduino軟件的一些設置**
Arduino軟件中工具欄中,開發板選擇「Generic ESP8266 module」,
5、Blinker控制
我沒有聯網,因此顯示的離線,在連上網以後會顯示在線
如下爲esp8266的開發板加載,解壓後自動加載在Arduino軟件中
連接:https://pan.baidu.com/s/1CuWQYw1JNj0hyliLY9WNfw
提取碼:qu5d
舵機庫文件連接,須要百度網盤自取
連接:https://pan.baidu.com/s/1fln43ObjvU5jtIbVDDQc9w
提取碼:qu6d
以上爲整個利用Blinker實現Arduino上傳程序控制舵機開關窗的講解,感興趣的能夠嘗試作一下。