黎明國中 106 學年度 運算思維 生科與資訊課程 摩斯密碼 花現 GNP i
目錄 第 1 章 Arduino 搖桿... 1 1-1 搖桿連接 Arduino 擴充版... 1 1-2 藍芽連接 Arduino 擴充版... 1 1-3 Arduino 連接電腦... 1 1-4 Arduino 搖桿控制 LED 燈程式... 1 1-5 LED 燈傳遞 摩斯密碼 程式... 3 1-6 搖桿啟動 LED 燈傳遞 摩斯密碼 程式... 5 1-7 搖桿啟動 LED 燈傳遞 摩斯密碼 程式 ( 全域變數 )... 7 1-8 搖桿啟動 LED 燈傳遞 摩斯密碼 程式 ( 副程式 )... 9 1-9 連接網路磁碟機... 11 第 2 章 Arduino 藍芽傳送與接收... 12 2-1 Arduino 藍芽傳送與接收程式... 12 2-2 Arduino 藍芽傳送與接收實測... 12 第 3 章 Arduino 摩斯密碼傳送器與接收器... 13 3-1 Arduino 搖桿訊號藍芽傳送器... 13 3-2 Arduino 搖桿訊號藍芽接收器... 13 ii
第 1 章 Arduino 搖桿 1-1 搖桿連接 Arduino 擴充版 步驟 : 搖桿連接 Arduino 擴充版示意圖 1-4 Arduino 搖桿控制 LED 燈程式 步驟 01: 安裝 Arduino 開發環境官方網站 https://www.arduino.cc 軟體下載 https://www.arduino.cc/en/main/software 1-2 藍芽連接 Arduino 擴充版 步驟 : 藍芽連接 Arduino 擴充版示意圖 步驟 02: 撰寫搖桿控制 LED 燈程式 1-3 Arduino 連接電腦 請問 INPUT_PULL 改成 INPUT, 會有什麼不同? 安裝驅動程式 http://www.wch.cn/download/ch341ser_exe.html CH341SER.EXE 步驟 03: 選擇正確的 COM Port 號碼 開始 執行 devmgmt.msc 使用裝置管理員, 尋找下方紅色字串 USB-SERIAL CH340 (COM 數字 ) 其中 COM 數字 即 Arduino 用的 COM Port 號碼步驟 04: 編譯程式並上傳到 Arduino 1
Switch connected using pull-down resistor Switch connected using pull-up resistor 2
1-5 LED 燈傳遞 摩斯密碼 程式 01 const int ledpin = 13; // choose the pin for the LED 02 //const int inputpin = 12; // choose the input pin (for a pushbutton) 03 04 void setup() { 05 pinmode(ledpin, OUTPUT); // declare LED as output 06 //pinmode(inputpin, INPUT_PULLUP); // declare pushbutton as input 07 08 09 //NorseCode (S) BEGIN************************************************ 10 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 11 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 12 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 13 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 14 15 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 16 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 17 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 18 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 19 20 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 21 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 22 23 //NorseCode (S) END************************************************ 24 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 25 delay(3000); // 等待 3000 毫秒 ( 也就是熄滅 3 秒 ) 26 //NorseCode (S) END************************************************ 27 28 29 //NorseCode (O) BEGIN************************************************ 30 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 31 delay(3000); // 等待 3000 毫秒 ( 也就是發亮 3 秒 ) 32 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 33 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 34 35 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 36 delay(3000); // 等待 3000 毫秒 ( 也就是發亮 3 秒 ) 37 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 38 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 3
39 40 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 41 delay(3000); // 等待 3000 毫秒 ( 也就是發亮 3 秒 ) 42 43 //NorseCode (O) END************************************************ 44 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 45 delay(3000); // 等待 3000 毫秒 ( 也就是熄滅 3 秒 ) 46 //NorseCode (O) END************************************************ 47 48 49 //NorseCode (S) BEGIN************************************************ 50 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 51 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 52 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 53 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 54 55 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 56 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 57 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 58 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 59 60 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 61 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 62 63 digitalwrite(ledpin, LOW); 64 65 //NorseCode (S) END************************************************ 66 //digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 67 //delay(3000); // 等待 3000 毫秒 ( 也就是熄滅 3 秒 ) 68 //NorseCode (S) END************************************************ 69 } 70 71 void loop() { 72 //int val = digitalread(inputpin); // read input value 73 } 4
1-6 搖桿啟動 LED 燈傳遞 摩斯密碼 程式 01 const int ledpin = 13; // choose the pin for the LED 02 const int inputpin = 12; // choose the input pin (for a pushbutton) 03 04 void setup() { 05 pinmode(ledpin, OUTPUT); // declare LED as output 06 pinmode(inputpin, INPUT_PULLUP); // declare pushbutton as input 07 } 08 09 void loop() { 10 int val = digitalread(inputpin); // read input value 11 if (val == LOW) // check if the input is HIGH 12 { 13 LED_run(); 14 } 15 } 16 17 void LED_run() { 18 //NorseCode (S) BEGIN************************************************ 19 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 20 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 21 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 22 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 23 24 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 25 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 26 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 27 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 28 29 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 30 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 31 32 //NorseCode (S) END************************************************ 33 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 34 delay(3000); // 等待 3000 毫秒 ( 也就是熄滅 3 秒 ) 35 //NorseCode (S) END************************************************ 36 37 38 //NorseCode (O) BEGIN************************************************ 5
39 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 40 delay(3000); // 等待 3000 毫秒 ( 也就是發亮 3 秒 ) 41 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 42 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 43 44 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 45 delay(3000); // 等待 3000 毫秒 ( 也就是發亮 3 秒 ) 46 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 47 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 48 49 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 50 delay(3000); // 等待 3000 毫秒 ( 也就是發亮 3 秒 ) 51 52 //NorseCode (O) END************************************************ 53 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 54 delay(3000); // 等待 3000 毫秒 ( 也就是熄滅 3 秒 ) 55 //NorseCode (O) END************************************************ 56 57 58 //NorseCode (S) BEGIN************************************************ 59 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 60 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 61 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 62 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 63 64 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 65 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 66 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 67 delay(1000); // 等待 1000 毫秒 ( 也就是熄滅 1 秒 ) 68 69 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 70 delay(1000); // 等待 1000 毫秒 ( 也就是發亮 1 秒 ) 71 72 digitalwrite(ledpin, LOW); 73 } 6
1-7 搖桿啟動 LED 燈傳遞 摩斯密碼 程式 ( 全域變數 ) 01 const int ledpin = 13; // choose the pin for the LED 02 const int inputpin = 12; // choose the input pin (for a pushbutton) 03 04 int x =500; 05 06 void setup() { 07 pinmode(ledpin, OUTPUT); // declare LED as output 08 pinmode(inputpin, INPUT_PULLUP); // declare pushbutton as input 09 } 10 11 void loop() { 12 int val = digitalread(inputpin); // read input value 13 if (val == LOW) // check if the input is HIGH 14 { 15 LED_run(); 16 } 17 } 18 19 void LED_run() { 20 //NorseCode (S) BEGIN************************************************ 21 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 22 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 毫秒 ) 23 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 24 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 毫秒 ) 25 26 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 27 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 毫秒 ) 28 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 29 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 毫秒 ) 30 31 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 32 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 毫秒 ) 33 34 //NorseCode (S) END************************************************ 35 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 36 delay(3*x); // 等待 3*x 毫秒 ( 也就是熄滅 3*x 毫秒 ) 37 //NorseCode (S) END************************************************ 38 39 7
40 //NorseCode (O) BEGIN************************************************ 41 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 42 delay(3*x); // 等待 3*x 毫秒 ( 也就是發亮 3*x 秒 ) 43 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 44 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 45 46 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 47 delay(3*x); // 等待 3*x 毫秒 ( 也就是發亮 3*x 秒 ) 48 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 49 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 50 51 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 52 delay(3*x); // 等待 3*x 毫秒 ( 也就是發亮 3*x 秒 ) 53 54 //NorseCode (O) END************************************************ 55 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 56 delay(3*x); // 等待 3*x 毫秒 ( 也就是熄滅 3*x 秒 ) 57 //NorseCode (O) END************************************************ 58 59 60 //NorseCode (S) BEGIN************************************************ 61 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 62 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 秒 ) 63 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 64 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 65 66 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 67 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 秒 ) 68 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 69 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 70 71 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 72 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 秒 ) 73 74 digitalwrite(ledpin, LOW); 75 } 8
1-8 搖桿啟動 LED 燈傳遞 摩斯密碼 程式 ( 副程式 ) 01 const int ledpin = 13; // choose the pin for the LED 02 const int inputpin = 12; // choose the input pin (for a pushbutton) 03 04 //int x =500; 05 06 void setup() { 07 pinmode(ledpin, OUTPUT); // declare LED as output 08 pinmode(inputpin, INPUT_PULLUP); // declare pushbutton as input 09 } 10 11 void loop() { 12 int val = digitalread(inputpin); // read input value 13 if (val == LOW) // check if the input is HIGH 14 { 15 LED_run(300); 16 } 17 } 18 19 void LED_run(int x) { 20 //NorseCode (S) BEGIN************************************************ 21 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 22 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 毫秒 ) 23 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 24 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 毫秒 ) 25 26 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 27 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 毫秒 ) 28 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 29 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 毫秒 ) 30 31 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 32 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 毫秒 ) 33 34 //NorseCode (S) END************************************************ 35 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 36 delay(3*x); // 等待 3*x 毫秒 ( 也就是熄滅 3*x 毫秒 ) 37 //NorseCode (S) END************************************************ 38 9
39 40 //NorseCode (O) BEGIN************************************************ 41 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 42 delay(3*x); // 等待 3*x 毫秒 ( 也就是發亮 3*x 秒 ) 43 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 44 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 45 46 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 47 delay(3*x); // 等待 3*x 毫秒 ( 也就是發亮 3*x 秒 ) 48 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 49 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 50 51 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 52 delay(3*x); // 等待 3*x 毫秒 ( 也就是發亮 3*x 秒 ) 53 54 //NorseCode (O) END************************************************ 55 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 56 delay(3*x); // 等待 3*x 毫秒 ( 也就是熄滅 3*x 秒 ) 57 //NorseCode (O) END************************************************ 58 59 60 //NorseCode (S) BEGIN************************************************ 61 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 62 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 秒 ) 63 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 64 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 65 66 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 67 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 秒 ) 68 digitalwrite(ledpin, LOW); // 設定 PIN13 腳位為低電位 = 0V,LED 處於熄滅狀態!! 69 delay(x); // 等待 x 毫秒 ( 也就是熄滅 x 秒 ) 70 71 digitalwrite(ledpin, HIGH); // 設定 PIN13 腳位為高電位 = 0V,LED 處於發亮狀態!! 72 delay(x); // 等待 x 毫秒 ( 也就是發亮 x 秒 ) 73 74 digitalwrite(ledpin, LOW); 75 } 10
1-9 連接網路磁碟機 步驟 01: 請下載 1-9- 連接網路磁碟機程式 步驟 04: 連接成功後, 會看到一個新增的磁碟代號 步驟 02: 請輸入帳號 步驟 03: 請輸入密碼 11
第 2 章 Arduino 藍芽傳送與接收 2-1 Arduino 藍芽傳送與接收程式 2-2 Arduino 藍芽傳送與接收實測 01 #include <SoftwareSerial.h> 02 03 const int rxpin = 2; // pin used to receive 04 const int txpin = 3; // pin used to send to 05 SoftwareSerial bluetooth(rxpin, txpin); 06 07 void setup() { 08 Serial.begin(9600); 09 bluetooth.begin(9600); 10 Serial.println("Serial ready"); 11 bluetooth.println("bluetooth ready"); 12 } 13 14 void loop() { 15 16 if (bluetooth.available()) 17 { 18 char c = (char)bluetooth.read(); 19 Serial.write(c); 20 } 21 22 if (Serial.available()) 23 { 24 char c = (char)serial.read(); 25 bluetooth.write(c); 26 } 27 28 } 12
第 3 章 Arduino 摩斯密碼傳送器與接收器 3-1 Arduino 搖桿訊號藍芽傳送器 01 #include <SoftwareSerial.h> 02 03 // set pin numbers joystick axes 04 const int xaxis = 2; // joystick X axis (A2) 05 const int yaxis = 3; // joystick Y axis (A3) 06 const int DGpin = 12; 07 08 const int rxpin = 2; // pin used to receive 09 const int txpin = 3; // pin used to send to 10 SoftwareSerial bluetooth(rxpin, txpin); 11 12 13 void setup() { 14 //Serial.begin(9600); 15 bluetooth.begin(9600); 16 pinmode(dgpin, INPUT_PULLUP); 17 } 18 19 void loop() { 20 // read the two axes: 21 int xreading = analogread(xaxis); 22 int yreading = analogread(yaxis); 23 int DGReading = digitalread(dgpin); 24 25 bluetooth.print(xreading,dec); 26 bluetooth.print(","); 27 28 bluetooth.print(yreading,dec); 29 bluetooth.print(","); 30 31 bluetooth.print(dgreading,dec); 32 bluetooth.println(); 33 } 3-2 Arduino 搖桿訊號藍芽接收器 1 #include <SoftwareSerial.h> 2 3 const int rxpin = 2; // receive 4 const int txpin = 3; // send to 5 6 SoftwareSerial bluetooth(rxpin, txpin); 7 8 void setup() { 9 Serial.begin(9600); 10 bluetooth.begin(9600); 11 } 12 13 void loop() { 14 15 if (bluetooth.available()) 16 { 17 char c = (char)bluetooth.read(); 18 Serial.write(c); 19 } 20 21 } 13
3-3 觀察接收到的訊號 步驟 01: 請打開序列埠監控視窗 步驟 02: 請觀察傳送器傳來的資料 步驟 03: 請移動搖桿, 並觀察數字的變化 請問第一組數字的範圍是? 代表的是什麼意思? 請問第二組數字的範圍是? 代表的是什麼意思? 請問第二組數字的範圍是? 代表的是什麼意思? 14
第 4 章花現 GNP 之 Greenfoot JAVA 解碼器 4-1 Greenfoot JAVA 解碼器連接 接收器 步驟 01: 請下載 4-1- 花現 GNP 之 GreenfootJAVA 解碼程式 步驟 04: 請將 Display line numbers 打勾 步驟 02: 請按兩下 ArduinoWorld 開啟程式碼 步驟 05: 請將第 16 行 PORT = "COM11" 設定正確 的 Arduino COM Port 號碼 步驟 03: 請按兩下 Options Preferences 15
4-2 Greenfoot JAVA 解碼器優化 步驟 01: 請對 Other Classes 之 DeCode 按兩下 步驟 02: 編輯 DeCode 內的 switch 結構以增加字 母傳送效率 步驟 03: 計時比賽 16
17