內容簡介
使用Arduino為工具,配合生活科技產品的溫度、光線感測器、LED、點陣LED、七段顯示器、LCD、紅外線遙控器等,介紹程式設計的基本輸出入、決策、迴圈與陣列。神奇的迴圈與陣列是初學者學習程式設計最容易卡關的章節,作者利用四位數七段LED、點陣LED來加強迴圈與陣列的演練,是學習程式設計的最佳工具,並可理解生活科技的原理。更多的部分內容,請看泉勝網站www.goodbooks.com.tw
作者介紹
作者簡介
洪國勝
洪國勝老師高職資訊科教師退休,程式設計寫作與教學年資30年,在旗標、泉勝、松崗、文魁、台科大、全華著有C#、C/C++、Java、Arduino、VB6、VB2017、PHP、JavaScript、C++Builder、JBuilder、Delphi、大學物理學等程式設計圖書,詳見泉勝網站(www.goodbooks.com.tw)。
洪國勝
洪國勝老師高職資訊科教師退休,程式設計寫作與教學年資30年,在旗標、泉勝、松崗、文魁、台科大、全華著有C#、C/C++、Java、Arduino、VB6、VB2017、PHP、JavaScript、C++Builder、JBuilder、Delphi、大學物理學等程式設計圖書,詳見泉勝網站(www.goodbooks.com.tw)。
目錄
第一章 導論
1_1什麼是程式設計?
1_2 為何選Arduino
1_3 開發環境的認識與操作
第二章基本輸出入
2_1 序列埠監控視窗
2_2 亂數
2_3數位輸出入
2_4 類比輸出
2_5 類比輸入
第三章 基本語法
3_1 保留字與識別字
3_2 資料種類與資料型態
3_3 變數和常數的宣告
3_4資料型態轉換
第四章 運算子與運算式
4_1 運算子
4_2 運算式
4_3 實例探討(跑馬燈、電子時鐘)
第五章 決策流程指令
5-1 if...else 指令
5_2 switch 指令
5_3實例探討(夜間自動照明、電子搶答器、猜拳、紅綠燈)
第六章 迴圈指令
6_1 for 指令
6_2 巢狀迴圈
6_3 while 指令
6_4 實例探討(電子時鐘的時間設定)
第七章 陣列
7_1一維陣列
7_2二維陣列
7_3實例探討(電子鐘的輸出)
第八章 自訂函式與外部中斷
8_1自訂函式
8_2外部中斷(設定時間)
8_3字串處理(動態火車時刻表)
第九章 掃描輸出入元件
9_1四位數七段顯示器
9_2 8*8點矩陣LED
9_3 4*4鍵盤(製作計算器)
第十章進階輸出入裝置
10_1蜂鳴器(播放樂曲、製作電子琴)
10_2 超音波距離感測器(測量距離)
10_3 LCD(電子時鐘、叫號器的輸出)
10_4紅外線遙控器(解析家用遙控器的控制)
10_5溫度感測器(讀取室內溫度)
第十一章 綜合實例探討
第十二章資訊科技應用專題(16*64字幕機)
附錄一 本書實驗工具與材料簡介
附錄二 本書教學印刷實驗板簡介
1_1什麼是程式設計?
1_2 為何選Arduino
1_3 開發環境的認識與操作
第二章基本輸出入
2_1 序列埠監控視窗
2_2 亂數
2_3數位輸出入
2_4 類比輸出
2_5 類比輸入
第三章 基本語法
3_1 保留字與識別字
3_2 資料種類與資料型態
3_3 變數和常數的宣告
3_4資料型態轉換
第四章 運算子與運算式
4_1 運算子
4_2 運算式
4_3 實例探討(跑馬燈、電子時鐘)
第五章 決策流程指令
5-1 if...else 指令
5_2 switch 指令
5_3實例探討(夜間自動照明、電子搶答器、猜拳、紅綠燈)
第六章 迴圈指令
6_1 for 指令
6_2 巢狀迴圈
6_3 while 指令
6_4 實例探討(電子時鐘的時間設定)
第七章 陣列
7_1一維陣列
7_2二維陣列
7_3實例探討(電子鐘的輸出)
第八章 自訂函式與外部中斷
8_1自訂函式
8_2外部中斷(設定時間)
8_3字串處理(動態火車時刻表)
第九章 掃描輸出入元件
9_1四位數七段顯示器
9_2 8*8點矩陣LED
9_3 4*4鍵盤(製作計算器)
第十章進階輸出入裝置
10_1蜂鳴器(播放樂曲、製作電子琴)
10_2 超音波距離感測器(測量距離)
10_3 LCD(電子時鐘、叫號器的輸出)
10_4紅外線遙控器(解析家用遙控器的控制)
10_5溫度感測器(讀取室內溫度)
第十一章 綜合實例探討
第十二章資訊科技應用專題(16*64字幕機)
附錄一 本書實驗工具與材料簡介
附錄二 本書教學印刷實驗板簡介
序
序言
由於已經由高職資訊科退休,適逢此108 課綱,國、高中職、大學新增程式設計必修課程,所以就寫了這本書當作全民自造與程式設計入門教材。那為什麼選Arduino 作為全民自造與程式設計教材呢?因為Arduino 的優點如下:
1. C 語言還是目前程式設計主流,大學端設計的『大學程式設計先修檢測APCS』也以C 語言為程式設計語言,且Arduino 又採用C 語法,所以學習Arduino可完全無縫銜接大學程式設計課程。
2. 輸出入較多元,實際反應生活科技與資訊科技的發展現況。一般的程式語言VB、C#、C/C++、Java 等較偏重資料處理,但是Arduino 就較全面了,因為它的輸出入較多元,有感測器、有聲有光,有LED、字幕機、LCD、遙控器等,這樣能融入生活科技的教學,這些自造應用與範例都可以誘導學生學習程式設計且改善日常生活。
3. 可以輔助且征服迴圈與陣列。因為迴圈與陣列真的太抽象與神奇了,尤其是雙層或三層迴圈,此為程式設計的瓶頸,常會讓學生昏頭轉向鑽不出來,四分之三的學生就此不見笑容,所以本書大量採用生活科技與資訊科技真實的四位數七段與8*8 點陣LED 的掃描輸出,逐一解釋一層、兩層與三層迴圈的效果。透過實際的自造與過程,這樣學生才能領略程式設計的奧妙與樂趣。
4. 有完整線上使用手冊。Arduino 是目前所有程式語言中,使用手冊編輯最完整的軟體,不僅分類完整,還有範例程式,所以非常適合初學者。
5. 使用手冊的英文非常淺顯。要國際化就要學英文,Arduino 使用手冊的英文又非常淺顯,學程式設計又可順道學習英文,這樣對於往後閱讀科技原文書有很大幫助。
6. 價格非常便宜。微控板與零件不到1000 元,學生就可自造完成霹靂燈、時鐘、遙控器、溫度計、電子琴、字幕機等專題,讓學生有興趣、有信心,且不用額外購買燒錄器,學生在家就可自造電路。
7. 軟硬體都採用開放式開發,所有軟硬體技術都公開,網路與書籍資料充沛,大家一起互相成就,進步非常迅速。8. 本書參考108 國民中學『資訊科技』課綱中的『程式設計』篇編輯而成,而且增加更多實用簡單資訊科技範例,非常適合國中生作為程式設計入門教科書,以便銜接高中程式設計與APCS 檢測。其次,若國中沒有修過程式設計的高中生,也建議先以這本書為入門,等有信心,再繼續研讀『高中進階程式設計與APCS 先修檢測』,並繼續參加APCS 檢測。
由於已經由高職資訊科退休,適逢此108 課綱,國、高中職、大學新增程式設計必修課程,所以就寫了這本書當作全民自造與程式設計入門教材。那為什麼選Arduino 作為全民自造與程式設計教材呢?因為Arduino 的優點如下:
1. C 語言還是目前程式設計主流,大學端設計的『大學程式設計先修檢測APCS』也以C 語言為程式設計語言,且Arduino 又採用C 語法,所以學習Arduino可完全無縫銜接大學程式設計課程。
2. 輸出入較多元,實際反應生活科技與資訊科技的發展現況。一般的程式語言VB、C#、C/C++、Java 等較偏重資料處理,但是Arduino 就較全面了,因為它的輸出入較多元,有感測器、有聲有光,有LED、字幕機、LCD、遙控器等,這樣能融入生活科技的教學,這些自造應用與範例都可以誘導學生學習程式設計且改善日常生活。
3. 可以輔助且征服迴圈與陣列。因為迴圈與陣列真的太抽象與神奇了,尤其是雙層或三層迴圈,此為程式設計的瓶頸,常會讓學生昏頭轉向鑽不出來,四分之三的學生就此不見笑容,所以本書大量採用生活科技與資訊科技真實的四位數七段與8*8 點陣LED 的掃描輸出,逐一解釋一層、兩層與三層迴圈的效果。透過實際的自造與過程,這樣學生才能領略程式設計的奧妙與樂趣。
4. 有完整線上使用手冊。Arduino 是目前所有程式語言中,使用手冊編輯最完整的軟體,不僅分類完整,還有範例程式,所以非常適合初學者。
5. 使用手冊的英文非常淺顯。要國際化就要學英文,Arduino 使用手冊的英文又非常淺顯,學程式設計又可順道學習英文,這樣對於往後閱讀科技原文書有很大幫助。
6. 價格非常便宜。微控板與零件不到1000 元,學生就可自造完成霹靂燈、時鐘、遙控器、溫度計、電子琴、字幕機等專題,讓學生有興趣、有信心,且不用額外購買燒錄器,學生在家就可自造電路。
7. 軟硬體都採用開放式開發,所有軟硬體技術都公開,網路與書籍資料充沛,大家一起互相成就,進步非常迅速。8. 本書參考108 國民中學『資訊科技』課綱中的『程式設計』篇編輯而成,而且增加更多實用簡單資訊科技範例,非常適合國中生作為程式設計入門教科書,以便銜接高中程式設計與APCS 檢測。其次,若國中沒有修過程式設計的高中生,也建議先以這本書為入門,等有信心,再繼續研讀『高中進階程式設計與APCS 先修檢測』,並繼續參加APCS 檢測。