【雙A計劃】 Part5:Paperduino 藍牙控制 LED 閃爍

大家好  我是偉和,本篇將會教導各位如何利用App Inventor控制Paperduino。就是先前的 Arduino 換成自製的 Paperduino,小小一片的功能也是很不錯的。

*引用網址「[paperduino]android control led」

雙A計畫文章總覽:

中文系列文章

English version

 

作者/攝影   偉和
難度

★★★☆☆

材料表

【推薦套件】自學者的天堂|Arduino 入門到雲端基本套件包

範例影片如下:

手機端 (與 雙A計畫Part1 相同)

手機畫面:用來選擇藍牙裝置的 BTList;控制 LED 的按鈕以及斷線用的按鈕。

手機程式

初始化:一開始手機程式讓使用者只能按藍牙選單,在選擇藍牙完成前,其他按鈕將不可以有任何動作

藍牙清單設定

選擇裝置之前:將清單內的元素填入手機中已配對好的藍牙裝置

選擇裝置之後:先確認連線是否成功,連線成功後將LED控制按鈕及斷線按鈕開啟

斷線按鈕:當斷線按鈕按下後,將手機與藍牙裝置斷線,並將藍牙清單按鈕開啟,其他按鈕關閉

 LED控制按鈕

若按下時文字顯示”press on”,則將文字改為”press off”並向藍牙裝置發送字元’a’;反之,則將文字改為”press on”並向藍牙裝置發送字元’b’

Paperduino端

這也與 雙A計畫 Part 1 是相同的,差別只在於設定藍牙 TX, RX的腳位不同而已

paperduino BT LED blinking
#include <SoftwareSerial.h> //引用SoftwareSerial函式庫

int led = 1; //LED在DI1
SoftwareSerial BT(3, 4); //設定藍牙在Paperduino上TX、RX的腳位

void setup() {
BT.begin(9600);//設定與藍芽通訊的鮑率
pinMode(led, OUTPUT);
}

void loop() {
int insize;
byte cmmd[20];
if ((insize = BT.available() > 0)) //判斷是否有接收到藍牙訊息
{
for (int i = 0; i < insize; i++)
cmmd[i] = BT.read(); //讀取藍牙資訊
switch (cmmd[0])
{
case 'a'://若接受到字元'a'時,則讓LED亮
digitalWrite(led, HIGH);
break;
case 'b'://若接受到字元'b'時,則讓LED亮
digitalWrite(led, LOW);
break;
}
}
}

4 thoughts on “【雙A計劃】 Part5:Paperduino 藍牙控制 LED 閃爍

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *