發表文章

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有哪些常見的語法?」 於是筆者把這個問題換成「程式語言常見的語法有哪些?」 據筆者所知,程式語言所用的語法分為底下幾類: 變數(Variables)。 程式流程控制(Flow Control)。 函式(Functions)。 邏輯(Logic)。 數學運算(Math)。 物件導向(Object-Oriented) 。 其他(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 示範影片: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

mBlock 單元十七:藍牙自走車 ( mBlock Unit 17: Arduino Bluetooth Car )

圖片
本文將本部落格的兩篇文章: Arduino 藍芽自走車 與 mBlock 單元十六:超音波避障自走車 合併,並將藍牙模組換成HC-06,且在Arduino程式設計部分使用mBlock程式積木的方式來設計程式。 硬體材料: 1. Arduino Nano 板子 x 1 2. 伺服馬達(Servo Motor) x 1 3. 超音波感測器(Ultrasonic Sensor) x 1 4. FabLab NKNU 3D 列印小車 x 1 5. FabLab NKNU 擴充板 x 1 6. 母對母杜邦線 x 16 7. 微型金屬減速馬達 x 2 8. 18650 3.7V 4200mA 鋰電池 x 2 9. 18650 兩節電池盒 x 1 10. HC-06 藍牙模組 x 1 硬體電路: (注:此電路圖省略了伺服馬達、超音波感測器、藍牙模組HC-06的正極與負極的接線) D2與D3 --> 左邊馬達的正負極 D4與D5 --> 右邊馬達的正負極(馬達接錯沒關係,程式可以改) D9 --> 伺服馬達的 Pulse D13 --> 超音波的trig D12 --> 超音波的echo 藍牙模組與Arduino Nano腳位接法:    Nano RX (D0) --> HC-06 TX    Nano TX (D1) --> HC-06 RX 完成圖: 程式積木: 注意HC-06藍牙模組 Serial 的預設傳輸速度為9600,於是筆者使用mBlock設計好程式積木後,再使用Arduino IDE 將 Serial.begin(115200) 改為 Serial.begin(9600)。 示範影片: Android App 專案網址: http://ai2.appinventor.mit.edu/#5786977178484736 Android APK 下載處: Google Drive 或 Google Play 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

RPG遊戲之一元二次方程式

圖片
筆者曾用上圖的方式去教一位學生,因為一元二次方程式的係數 a 不得為零,主角HP為零時,遊戲也就結束了。此方法還可以延伸到其他遊戲裡去,也可擴展到多元多次方程式裡。 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

mBlock 單元十六:超音波避障自走車 ( mBlock Unit 16: Obstacle Avoiding Car )

圖片
此避障車是由 雲林自造教育中心 所提供,而由 FabLab-NKNU 高師大自造者基地 所設計的,筆者拿來用mBlock來實作程式,當成入門超音波避障的基礎, 判斷避障的方法很陽春,也歡迎網友提供更好的方法 。 硬體材料: 1. Arduino Nano 板子 x 1 2. 伺服馬達(Servo Motor) x 1 3. 超音波感測器(Ultrasonic Sensor) x 1 4. FabLab NKNU 3D 列印小車 x 1 5. FabLab NKNU 擴充板 x 1 6. 母對母杜邦線 x 16 7. N20-300 微型金屬減速馬達 x 2 8. 18650 3.7V 4200mA 鋰電池 x 2 9. 18650 兩節電池盒 x 1 硬體電路: (注:此電路圖省略了伺服馬達與超音波感測器的正極與負極的接線) D2與D3 --> 左邊馬達的正負極 D4與D5 --> 右邊馬達的正負極(馬達接錯沒關係,程式可以改) D9 --> 伺服馬達的 Pulse D13 --> 超音波的trig D12 --> 超音波的echo 完成圖: 程式積木: 示範影片: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

樹莓派3 設定中文顯示

圖片
首先在Terminal下輸入指令: sudo raspi-config 選擇 Internationalisation Options 選擇 Change Locale 將畫面往下拉,將所有 zh_TW 開頭的全部選擇,然後用Tab鍵移到OK(確定)按下Enter。 選擇 zh_TW.UTF-8 接著在Terminal下輸入底下指令: sudo apt-get update sudo apt-get install task-chinese-t-desktop 安裝好後重開機,系統就可以顯示中文了。 參考資料: raspberry pi3 Raspbian Jessie 中文顯示 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。