Jason 正在研究 DIY 一隻6關節機械臂。
前因後果可以看這裏
對我來說這個計劃相當的龐大,所以現時先分成幾個階段實行:
第1階段>透過手機遙控 Arduino 上的 LED 開關。
第2階段>透過手機遙控 Arduino 上的 LED 光暗。
第3階段>透過手機遙控 Arduino 上的 Servo Motor。
第4階段>還在構思中...
好!今天就先為大家介紹第1階段的研究成果,大家有興趣的話也可以跟著做一個哦。
(不過,請先確保自己對 Arduino, App Inventor 有基本的技術力哦!)
首先要準備一下材料:
Arduino UNO R3 x 1
HC-06 Bluetooth Module x 1
LED x 1
杜邦線 DuPont Cables x 適量
製作步驟如下:
[Part 1 硬件的準備工作]
首先將
HC-06 的 VCC 連接到 Arduino 的 5V 接腳;
HC-06 的 GND 連接到 Arduino 的 GND 接腳;
HC-06 的 TXD 連接到 Arduino 的 TX(1) 接腳;
HC-06 的 RXD 連接到 Arduino 的 RX(0) 接腳。
LED 的 + 連接到 Arduino 的 Pin 13;
LED 的 + 連接到 Arduino 的 GND。
(由於我用的 Arduino 有內置電阻,所以沒有加電阻。
如果大家不知道自己的 Arduino 有否內置電阻,可自行加入);
[Part 2 編寫 Arduino 程式部份]
進入 Arduino IDE 並編寫下列程式碼:
--------------------------------------
#include <SoftwareSerial.h>
SoftwareSerial I2CBT(1, 0); // 藍牙 TX, RX pin
int ledPin = 13; // LED pin
void setup() {
I2CBT.begin(9600); // 藍牙 baud rate
pinMode(ledPin, OUTPUT); // LED pin 設定為輸出模式
}
void loop() {
// 檢查是否有資料可供讀取
if (I2CBT.available() > 0) {
// 讀取進來的 byte
int inByte = I2CBT.read();
// 根據收到的字元決定要打開或關掉 LED
switch (inByte) {
case 'a':
digitalWrite(ledPin, HIGH);
break;
case 'b':
digitalWrite(ledPin, LOW);
break;
}
}
}
--------------------------------------
[Part 3 編寫 App Inventor 2 程式部份]
進入 App Inventor 2 並編寫下列程式碼:
[Part 4 執行手機應用程式]
首先啟動 Arduino 並確保已上傳 Part 2 的程式碼;
然後在手機連接 Arduino 的 HC-06 藍牙模組;
透過 AI2 傳送程式到你的 Android 手機;(我當大家有足夠的水平,所以不詳述步驟啦)
在手機介面按「Connect Bluetooth Device」,然後選擇之前已連線的 HC-06 藍牙模組;
然後就可以在手機按「LED ON」/「LED OFF」控制 LED 的開關了!
[Part 5 下載程式碼]
本篇教學文中所用到的 Arduino 以及 App Inventor 2 程式碼可到此下載