使用Blinker經過Arduino板控制9g舵機開關窗

使用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上傳程序控制舵機開關窗的講解,感興趣的能夠嘗試作一下。

相關文章
相關標籤/搜索