mBlock 單元十八:藍牙小夜燈 ( mBlock Unit 18: Control a Lamp from Android Phone )

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

本文為延續Arduino Nano 藍牙小夜燈,將Arduino程式部分換成mBlock來設計,也說明如何用mBlock設計可與藍牙模組互動的程式積木。首先修改mBlock的串口預設速率115200為HC-05藍牙模組的預設速率9600。

方法如下:
1. 開啟擴展管理器,點選擴充-->擴展管理器

2. 點選已安裝,在選擇Arduino的查看原始碼

3. 用文字編輯器(筆者是使用Notepad++),修改Arduino.s2e檔案中的 Serial.begin(115200),換成自己需要的速率,以HC-05藍芽模組而言,預設值是9600,所以筆者就改成9600。

設定好之後,就可以設計如下的程式積木:

這樣就可以使用mBlock設計與藍牙模組互動的程式積木了。

想一想除了藍牙模組外,此設計方式還可以與什麼硬體互動呢?

程式語言常見的語法

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

有學生問:「Java有哪些常見的語法?」
於是筆者把這個問題換成「程式語言常見的語法有哪些?」

據筆者所知,程式語言所用的語法分為底下幾類:

  1. 變數(Variables)。
  2. 程式流程控制(Flow Control)。
  3. 函式(Functions)。
  4. 邏輯(Logic)。
  5. 數學運算(Math)。
  6. 物件導向(Object-Oriented)
  7. 其他(Others)。
本文只會提到第 1, 2, 3, 4, 5 點搭配離線版Blockly程式積木編輯器做說明,至於第6, 7點請有興趣的人自行Google。

1. 變數
建立score變數的例子。有些程式語言的變數有分成整數、浮點數、字元、等分別,例如Java(請參考Java Gossip:型態)。

2. 程式流程控制
分為判斷與迴圈
判斷
判斷score是否有超過及格分數。

迴圈
使用迴圈判斷1到10這十個數字中,那些是偶數,那些不是偶數。迴圈是用不斷做某些事。

3. 函式
簡單的問候(Hello, [姓名])函式。函式有點像是數學中的函數

4. 邏輯
Java語言可參考Java 快速導覽 - 運算子語言

5. 數學運算
此部分離線版Blockly程式積木編輯器已很直覺了,不多做說明。

建議讀者用離線版Blockly程式積木編輯器玩玩看,因為它提供了三種程式語言語法(Syntax)的對照。

Arduino Nano 藍牙小夜燈 ( Control a Lamp from Android Phone )

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

感謝 NFU Dream Maker 所提供的免費課程,讓筆者完成DIY的藍牙小夜燈,底下是筆者重新設計Arduino程式與Android APP兩部分的分享。

硬體材料:
1. Arduino Nano 板子 x 1
2. NFU Dream Maker 所設計的 PCB x 1
3. RGB LED x 3
4. 電阻 x 3
5. HC-05 藍牙模組 x 1

硬體電路:


紅色燈接 --> D9
綠色燈接 --> D10
藍色燈接 --> D11
上圖省略藍牙的VCC、GND接線

完成圖:

Arduino程式:
https://goo.gl/hIcj8x

MIT App Inventor程式:
https://goo.gl/CKoxH0

Android APK 下載處:
https://goo.gl/Vdrsjl


示範影片: