發表文章

目前顯示的是 11月, 2016的文章

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 中文顯示 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

為什麼數字5會比數字1大呢?

玩過撲克牌的人都知道Ace是代表數字1,通常Ace是最大的數字。在玩大老二時,換數字2為最大,那麼為什麼數字5會通常比數字1大呢?此問題可藉由數線的觀念來說明,在數線上越右邊的數字越大,越左邊的數字越小,而數字5在數字1的右邊,所以數字5比數字1大。 若你問我為什麼 數字5 會在 數字1 在右邊? 「恭喜你,你有在思考了!而且你問倒我了!」 數學家們為了方便所有的人可以討論,於是制訂了數學的遊戲規則,這些規則有些最後因為有嚴謹的證明,於是成了定理,除了數學以外,像是物理、化學等,都有遊戲規則在,有時候這些規則又有別名:「 法律、習俗、慣例、文化 」等。 當你的思考突破了這些框架時,你可能會發現自己的思考方向與周遭的人格格不入,此時,先別急著擔心,因為你有可能是下一位偉大的人物。 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

mBlock 單元十五:追光自走車 ( mBlock Unit 15: Light-Tracking Car )

圖片
筆者在做完 Arduino 紅外線自走車 與 Arduino 藍芽自走車 後,在網路上看到有用光敏電阻來控制自走車的方向,於是做了個練習,完成可以玩的追光自走車。 硬體電路: 硬體材料: 1. Arduino UNO R3 板子 x 1 2. 220歐姆電阻 x 3 3. 公對公杜邦線 x 16 4. 5V 直流馬達 x 2 5. 光敏電阻 x 3 6. L298N 馬達驅動板 x 1 7. 小車底盤 x 1 8. 小車輪子 x 2 9. 萬向輪 x 1 10. 緊固件 x 4 11. 長螺絲 x 4 12. 短螺絲 (長8根、短2根) 13. 螺帽 x 10 14. 行動電源 x 1 15. USB Cable線 x 1 16. 橡皮筋多條 17. 手電筒 x 1 完成圖: 程式積木: 定義五個變數,車子前進方向 direction 、左邊光源亮度 leftLight 、讓車子產生動作的光源最低亮度 lightThreshold 、前方光源亮度 middleLight 、右邊光源亮度 rightLight 。 示範影片: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

mBlock 單元十四:RGB LED ( mBlock Unit 14: RGB LED )

圖片
RGB LED的說明可參考竹林資訊站的 Arduino第六課(RGB三色LED) 一文。 硬體電路: 硬體材料: 1. Arduino UNO R3 板子 x 1 2. 杜邦線公對公 x 4 3. 220歐姆電阻 x 3 4. 麵包板 x 1 完成圖: 程式積木: 示範影片: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

mBlock 單元十三:光感應開門系統 ( mBlock Unit 13: Light-responsive Door )

圖片
本文參考 mBlock & Arduino(9)伺服馬達控制 與 mBlock & Arduino(8)光敏電阻、亮度感應器 兩篇文章。 設計燈光亮度大於一定的程度時( 本文設定光敏電阻讀出來的數值大於90 ),門把就會開啟,只不過實際上是不會有人使用這種系統,因為太不安全了。 硬體電路: 硬體材料: 1. Arduino UNO R3 板子 x 1 2. 杜邦線母對母 x 3 3. 220歐姆電阻 x 1 4. Arduino Sensor Shield x 1 5. 光敏電阻 x 1 完成圖: 程式積木: 示範影片: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

mBlock 單元十二:主動式紅外線感測器 ( mBlock Unit 12: PIR Sensor )

圖片
今天要來試試看主動式紅外線感測器的功能,詳細的說明請參考: Arduino第十六課(主動式紅外線感測器) 硬體電路: 硬體材料: 1. Arduino UNO R3 板子 x 1 2. 杜邦線公對母 x 3 3. TCRT5000紅外反射光電開關 x 1 完成圖: 程式積木: 示範影片: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

樹莓派3初體驗

圖片
最近從新安裝 樹莓派 3 Model B 的作業系統( NOOBS ),順便筆記一下。 用到的硬體有: 1. Raspberry Pi 3 Model B 2. Micro SD Card 與轉接卡 3. Micro USB Power Supply 4. RF 無線滑鼠鍵盤 5. 公對公HDMI線 6. 可用Wifi上網與讀取Micro SD Card的筆電 7. HDMI LED液晶螢幕(我是用家中的電視40吋...) 軟體: 1. SD Card Formatter, https://www.sdcard.org/downloads/formatter_4/ 2. 解壓縮軟體7-Zip, http://www.7-zip.org/download.html 3. NOOBS作業系統壓縮檔, https://downloads.raspberrypi.org/NOOBS_latest 安裝步驟 1. 格式化Micro SD Card。 2. 下載NOOBS壓縮檔。 直接點此網址: https://downloads.raspberrypi.org/NOOBS_latest ,或是 https://www.raspberrypi.org/downloads/noobs/  網頁上的下載圖案: 3. 解壓縮NOOBS壓縮檔,並將所有解壓縮的檔案複製到Micro SD Card上,也就是在SD Card裡的內容會如下圖: 4. 將完成好的 Micro SD Card 接上樹莓派,接上滑鼠鍵盤等,開機,等畫面出現下圖時, 5. 選擇Raspbian來安裝: 6. 安裝中: 7. 安裝完畢: 8. 開機畫面: 9. 設定Wifi: 10. 設定語系與時區: 11. 請開啟 Terminal ,下更新套件的指令: sudo apt-get update 12. 安裝中文輸入法,指令為 sudo apt-get install scim scim-tables-zh scim-chewing 13. 完成後,重開機就可以用Ctrl-Space切換輸入法來輸入中文。 14. 若想使用線上版的Scrat...