雙A學習18112.藍芽0~255控制PWM燈強弱
Arduino加Android=雙A,
UNO裝上藍芽模塊與手機或平板連線,
此篇用HC05接UNO R3,由Win7及Arduino1.6.6安裝
再透過APP控制UNO,此篇要控制P9腳位LED燈的亮度,
務必將燈接在有PWM~符號的腳位上
並接上一220或330電阻到負腳位,
若要控制電機馬達需再加其他零件,因UNO的輸出電流只300mA,
圖↓
如不了解PWM及藍芽使用,請先學習之前的頁面,
用HC05或HC06都可以,硬體接好連電腦後藍芽板快閃,
開啟UNO IDE程式先上傳空程式確認連線無誤,
由於手機透過藍芽傳輸時會將字元轉換為ASCII碼,
雖然在監控視窗可看到字元或數字,
但對UNO來說只是字碼而非字元,
在ASCII碼裡,"0"字元碼為48,
因此需先將接收的ASCII碼值轉換為整數值0~255,
再傳給LED燈控制亮度
// 手機傳輸0~255控制PWM燈強弱
#include <SoftwareSerial.h> // 引用程式庫
SoftwareSerial BT(10,11); // 對應藍芽TX和RX
String num = "" ;
int i = 0 ;
long val ;
void setup(){
Serial.begin(9600); // 電腦鮑率
BT.begin(38400); // 藍芽鮑率
pinMode( 9 , OUTPUT); // 被控燈腳位需有pwm
}
void loop(){
command();
}
long command(){
while(BT.available()){
if(i==0){
num = "";
}
num += BT.read()-48; // 扣除ASCII碼值
i++;
}
val = num.toInt(); // 字串轉換成整數值
i=0 ;
Serial.println(val);
analogWrite(9,(val));
}
以上UNO軟硬體完成後,安卓手機可自行編寫,
或在APP商城有很多藍芽對Arduino用的程式,
以下使用Arduino bluetooth controller,
圖
下載APP後
有4種功能,及調光調速,也有字串的輸入,
安裝APP後開啟藍芽,搜尋HC05連線輸入密碼後燈慢快閃,
點選數字棒功能來拖拉控制燈的亮度,
打開電腦監控視窗可顯示數值,
www.ee543.com
沒有留言:
張貼留言