駭客一詞曾經指的是那些聰明的程式撰寫人員。但今天,許多人認為『駭客』是指利用電腦安全漏洞,入侵電腦系統的人。本系列不是讓您成為一位入侵別人電腦的罪犯,而是回到最早『駭客初衷』,讓您擁有駭客的觀點、技術、能力,駭入每一個產品設計思維,並且成功的重製、開發、超越原有的產品設計,這才是一位對社會有貢獻的『駭客』。
在這知識經濟時代,也該有個知識創新革命。本系列『駭客系列』由此概念而生。面對越來越多的知識學子,為了追趕最新的技術潮流,往往沒有往下紮根,去了解許多知識背後所必須醞釀的知識基礎,追求到許多最新的技術邊緣,往往忘記了如果沒有配套的基礎科技知識,所學到的知識與科技,在失去這些基礎科技資源的支持之下,往往無法產生實際生產技術與創造能力。
如許多學習程式設計的學子,為了最新的科技潮流,使用著最新的科技工具與軟體元件,當他們面對許多原有的軟體元件沒有支持的需求或軟體架構下沒有直接直持的開發工具,此時就產生了莫大的開發瓶頸,這些都是為了追求最新的科技技術而忘卻了學習原有基礎科技訓練所致。
筆著鑒於這樣的困境,思考著『如何駭入眾人現有知識寶庫轉換為我的知識』的思維,如果我們可以駭入產品結構與設計思維,那麼了解產品的機構運作原理與方法就不是一件難事了。更進一步我們可以將原有產品改造、升級、創新,並可以將學習到的技術運用其他技術或新技術領域,透過這樣學習思維與方法,可以更快速的掌握研發與製造的核心技術,相信這樣的學習方式,會比起在已建構好的開發模組或學習套件中學習某個新技術或原理,來的更踏實的多。
目前許多學子在學習程式設計之時,恐怕最不能了解的問題是,我為何要寫九九乘法表、為何要寫遞迴程式,為何要寫成函式型式…等等疑問,只因為在學校的學子,學習程式是為了可以了解『撰寫程式』的邏輯,並訓練且建立如何運用程式邏輯的能力,解譯現實中面對的問題。然而現實中的問題往往太過於複雜,授課的老師無法有多餘的時間與資源去解釋現實中複雜問題,期望能將現實中複雜問題淬鍊成邏輯上的思路,加以訓練學生其解題思路,但是眾多學子宥於現實問題的困惑,無法單純用純粹的解題思路來進行學習與訓練,反而以現實中的複雜來反駁老師教學太過學理,沒有實務上的應用為由,拒絕深入學習,這樣的情形,反而自己造成了學習上的障礙。
本系列的書籍,針對目前學習上的盲點,希望讀者當一位產品駭客,將現有產品的產品透過逆向工程的手法,進而了解核心控制系統之軟硬體,再透過簡單易學的Arduino單晶片與C語言,重新開發出原有產品,進而改進、加強、創新其原有產品固有思維與架構。如此一來,因為學子們進行『重新開發產品』過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。
本書要以『Arduino 飲水機電子控制器開發』來進行產品設計,主要是改造晶工牌飲水機,將其機械動作等零件轉化成電子化控制零件來開發飲水機電子控制器市面常使用Led飲水機控制器為主要開發標基本概念,主要的目的是希望學子可以學到全自動化的基礎觀念與基礎能力。作者們的巧思,希望讀者可以了解與學習到作者寫書的初衷。
作者簡介:
曹永忠 (Yung-Chung Tsao),國立中央大學資訊管理學系博士,專研於軟體工程、軟體開發與設計、物件導向程式設計。現為自由作家,長期投入資訊系統設計與開發、企業應用系統開發、軟體工程、新產品開發管理、商品及人像攝影等領域,並持續發表作品及相關專業著作。Email:prgbruce@gmail.com
網址:http://www.cs.pu.edu.tw/~yctsao/">http://www.cs.pu.edu.tw/~yctsao/
許智誠 (Chih-Cheng Hsu),美國加州大學洛杉磯分校(UCLA) 資訊工程系博士,曾任職於美國IBM等軟體公司多年,現任教於中央大學資訊管理學系,主要研究為軟體工程、設計流程與自動化、數位教學、雲端裝置、多層式網頁系統、系統整合。Email: khsu@mgt.ncu.edu.tw">khsu@mgt.ncu.edu.tw
蔡英德 (Yin-Te Tsai),國立清華大學資訊科學系博士,目前是靜宜大學資訊傳播工程學系教授兼靜宜大學主任秘書兼靜宜大學主任秘書與計算機及通訊中心主任,主要研究為演算法設計與分析、生物資訊、軟體開發。Email:yttsai@pu.edu.tw
目錄
自序 2
自序 4
目 錄 6
圖目錄 10
表目錄 14
駭客系列 16
Arduino 起源 19
Arduino特色 21
Arduino硬體-Duemilanove 21
Arduino硬體-UNO 23
Arduino硬體-Mega 2560 24
程式設計 26
區塊式結構化程式語言 27
註解 30
變數 30
型態轉換 36
邏輯控制 40
算術運算 47
輸入輸出腳位設定 51
時間函式 70
數學函式 72
亂數函式 77
通訊函式 78
如何燒錄Bootloader 85
章節小結 104
飲水機介紹 106
工作原理介紹 106
飲水機控制流程 109
章節小結 118
飲水機機構 120
市售飲水機介紹 120
喝熱水使用者行為分析 122
喝溫水使用者行為分析 125
喝冰水使用者行為分析 129
研究主題 132
章節小結 133
電力開關控制 136
繼電器 136
電磁繼電器的工作原理和特性 138
繼電器運作線路 140
繼電器模組 142
章節小結 144
溫度感測 146
熱敏電阻 146
白金感溫電阻 147
MAX6675 K型熱電偶感測器 149
DS18B20數位溫度感測器 152
DallasTemperature函式庫介紹 158
章節小結 159
溫濕度控制 161
溫濕度控制 161
DHT11溫濕度感測模組 161
DHT22溫濕度感測模組 166
章節小結 170
LCD 1602 172
LCD 1602 172
LCD 1602函數用法 179
章節小結 182
LCD 2004螢幕 184
LCD 2004 184
LCD 2004函數用法 190
章節小結 193
語音擴展板 195
何謂MP3 195
聲音壓縮 196
WAV的介紹 198
如何使用WT588D-U 語音模組 201
透過外界參數使用WT588D-U 語音模組 207
音效檔轉檔 209
章節小結 212
飲水機開發 214
讀取熱水槽溫度 214
讀取溫水槽與冰水槽溫度 217
顯示三槽溫度於液晶顯示幕上 219
安裝加熱、冷卻裝置啟動繼電器模組 225
使用者飲水出水閥控制 237
章節小結 260
飲水機電子控制器進階開發 262
加入語音模組 263
整合語音功能到飲水機電子控制器 265
章節小結 284
本書總結 284
作者介紹 286
附錄 287
Arduino開發IDE安裝 287
Arduino函式庫安裝 301
LCD 1602 函式庫 315
LCM 1602 原廠資料 329
LCM 2004 原廠資料 345
繼電器原廠資料 360
四通道繼電器模組線路圖 362
DS18B20原廠資料 363
DS18B20函數庫 385
DHT-11 原廠資料 433
DHT-11函式庫 442
DHT-11函式庫 451
WT588D-U語音模組(英文版) 457
WT588D-語音模組(中文版) 483
WT588D 語音燒錄器操作手冊 501
WT588D 語音燒錄器操作手冊(英文版) 512
參考文獻 528
自序 2
自序 4
目 錄 6
圖目錄 10
表目錄 14
駭客系列 16
Arduino 起源 19
Arduino特色 21
Arduino硬體-Duemilanove 21
Arduino硬體-UNO 23
Arduino硬體-Mega 2560 24
程式設計 26
區塊式結構化程式語言 27
註解 30
變數 30
型態轉換 36
邏輯控制 40
算術運算 47
輸入輸出腳位設定 51
時間函式 70
數學函式 72
亂數函式 77
通訊函式 78
如何燒錄Bootloader 85
章節小結 104
飲水機介紹 106
工作原理介紹 106
飲水機控制流程 109
章節小結 118
飲水機機構 120
市售飲水機介紹 120
喝熱水使用者行為分析 122...
購物須知
電子書閱讀方式
您所購買的電子書,系統將自動儲存於「我的電子書櫃」,您可透過PC(Windows / Mac)、行動裝置(手機、平板),輕鬆閱讀。
- Windows / Mac 電腦
- 請先安裝瀏覽器,並以Chrome開啟我的電子書櫃後,點選『線上閱讀』,即可閱讀您已購買的電子書。建議使用 Chrome、Microsoft Edge有較佳的線上瀏覽效果。
- 手機/平板
- 請先安裝 電子書APP後,依照提示登入「會員中心」→「電子書管理」→「電子書APP通行碼/載具管理」,取得APP通行碼再登入APP,下載您所購買的電子書。完成下載後,點選任一書籍即可開始離線閱讀。 APP 適用版本:iOS 14.2 或以上版本,Android 6.0 以上版本。
注意事項:
使用讀冊生活電子書服務即為同意讀冊生活電子書服務條款。
下單後電子書可開啟閱讀的時間請參考:不同的付款方式,何時可開啟及閱讀電子書?
因版權保護,您在TAAZE所購買的電子書/雜誌僅能以TAAZE專屬的閱讀軟體開啟閱讀,無法以其他閱讀器或直接下載檔案。
退換貨說明:電子書、電子雜誌商品,恕不提供10天猶豫期退貨,若您對電子書閱讀有疑慮,建議您可於購買前先行試讀。並於訂購本商品前請務必詳閱電子書商品退換貨原則。