駭客一詞曾經指的是那些聰明的程式撰寫人員。但今天,許多人認為『駭客』是指利用電腦安全漏洞,入侵電腦系統的人。本系列不是讓您成為一位入侵別人電腦的罪犯,而是回到最早『駭客初衷』,讓您擁有駭客的觀點、技術、能力,駭入每一個產品設計思維,並且成功的重製、開發、超越原有的產品設計,這才是一位對社會有貢獻的『駭客』。
在這知識經濟時代,也該有個知識創新革命。本系列『駭客系列』由此概念而生。面對越來越多的知識學子,為了追趕最新的技術潮流,往往沒有往下紮根,去了解許多知識背後所必須醞釀的知識基礎,追求到許多最新的技術邊緣,往往忘記了如果沒有配套的基礎科技知識,所學到的知識與科技,在失去這些基礎科技資源的支持之下,往往無法產生實際生產技術與創造能力。
如許多學習程式設計的學子,為了最新的科技潮流,使用著最新的科技工具與軟體元件,當他們面對許多原有的軟體元件沒有支持的需求或軟體架構下沒有直接直持的開發工具,此時就產生了莫大的開發瓶頸,這些都是為了追求最新的科技技術而忘卻了學習原有基礎科技訓練所致。
筆著鑒於這樣的困境,思考著『如何駭入眾人現有知識寶庫轉換為我的知識』的思維,如果我們可以駭入產品結構與設計思維,那麼了解產品的機構運作原理與方法就不是一件難事了。更進一步我們可以將原有產品改造、升級、創新,並可以將學習到的技術運用其他技術或新技術領域,透過這樣學習思維與方法,可以更快速的掌握研發與製造的核心技術,相信這樣的學習方式,會比起在已建構好的開發模組或學習套件中學習某個新技術或原理,來的更踏實的多。
目前許多學子在學習程式設計之時,恐怕最不能了解的問題是,我為何要寫九九乘法表、為何要寫遞迴程式,為何要寫成函式型式…等等疑問,只因為在學校的學子,學習程式是為了可以了解『撰寫程式』的邏輯,並訓練且建立如何運用程式邏輯的能力,解譯現實中面對的問題。然而現實中的問題往往太過於複雜,授課的老師無法有多餘的時間與資源去解釋現實中複雜問題,期望能將現實中複雜問題淬鍊成邏輯上的思路,加以訓練學生其解題思路,但是眾多學子宥於現實問題的困惑,無法單純用純粹的解題思路來進行學習與訓練,反而以現實中的複雜來反駁老師教學太過學理,沒有實務上的應用為由,拒絕深入學習,這樣的情形,反而自己造成了學習上的障礙。
本系列的書籍,針對目前學習上的盲點,希望讀者當一位產品駭客,將現有產品的產品透過逆向工程的手法,進而了解核心控制系統之軟硬體,再透過簡單易學的Arduino單晶片與C語言,重新開發出原有產品,進而改進、加強、創新其原有產品固有思維與架構。如此一來,因為學子們進行『重新開發產品』過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。
這本書以市面常使用Led字幕機為主要開發標基本概念,不同的是該立體魔術方塊(Led Cube)為N * N個Led 組立而成,主要的原理是透過視覺暫留的原理,從一列的Led發光二極體,到一面的Led發光二極體,最後到整層的Led發光二極體,產生出立體的視覺效果,如同使用N片的Led發光二極體陣列一般,其中的巧思,令人心儀。所以本書要以『Arduino 光立體魔術方塊開發』來進行產品設計,相信整個研發過程會更加了解。
作者簡介:
曹永忠 (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
圖目錄 9
表目錄 11
駭客系列 12
Arduino 起源 15
Arduino特色 17
Arduino硬體-Duemilanove 17
Arduino硬體-UNO 19
Arduino硬體-Mega 2560 20
程式設計 22
區塊式結構化程式語言 23
註解 26
變數 26
型態轉換 32
邏輯控制 36
算術運算 42
輸入輸出腳位設定 47
時間函式 63
數學函式 65
亂數函式 70
通訊函式 72
章節小結 78
視覺暫留 80
視覺暫留的應用 80
視覺暫留應用 81
章節小結 82
光立體魔術方塊開發 84
字幕機 84
手搖字幕機 85
何謂光立體魔術方塊開發 86
光立體魔術方塊開發的架構 89
研究主題 90
章節小結 90
藍芽控制 92
藍芽名字由來 92
甚麼是藍芽 93
藍芽起源 93
藍芽的運作原理-跳頻展頻技術 94
藍芽的特性 96
藍芽的應用 97
藍芽模組測試 99
藍芽的進階應用 106
Android手機藍芽模組設定 114
開發手機藍芽連線的接收端程式 117
使用個人電腦模擬藍芽連線的發射端 122
章節小結 127
光立體魔術方塊開發 129
光立體魔術方塊組立 129
驅動Led發光二極體發光立體陣列 130
光立體魔術方塊開發第一次實驗 132
光立體魔術方塊開發第二次實驗 136
光立體魔術方塊開發第三次實驗 141
光立體魔術方塊開發第四次實驗 143
光立體魔術方塊開發第五次實驗 146
光立體魔術方塊開發第六次實驗 158
章節小結 182
光立體魔術方塊開發進階製作 184
光立體魔術方塊進階開發第一次實驗 184
光立體魔術方塊進階開發第二次實驗 187
光立體魔術方塊進階開發第三次實驗 192
光立體魔術方塊進階開發第四次實驗 201
光立體魔術方塊進階開發第五次實驗 208
章節小結 216
本書總結 217
作者介紹 218
附錄 219
Arduino函式庫安裝 219
光立體魔術方塊(Led Cube)組裝手冊 233
Appinventor參考資料 275
參考文獻 373
自序 2
自序 4
目 錄 6
圖目錄 9
表目錄 11
駭客系列 12
Arduino 起源 15
Arduino特色 17
Arduino硬體-Duemilanove 17
Arduino硬體-UNO 19
Arduino硬體-Mega 2560 20
程式設計 22
區塊式結構化程式語言 23
註解 26
變數 26
型態轉換 32
邏輯控制 36
算術運算 42
輸入輸出腳位設定 47
時間函式 63
數學函式 65
亂數函式 70
通訊函式 72
章節小結 78
視覺暫留 80
視覺暫留的應用 80
視覺暫留應用 81
章節小結 82
光立體魔術方塊開發 84
字幕機 84
手搖字幕機 85
何謂光立體魔術方塊開發 86
光立體魔術方塊開發的架構 89
研究主題 90
章節小結...
購物須知
電子書閱讀方式
您所購買的電子書,系統將自動儲存於「我的電子書櫃」,您可透過PC(Windows / Mac)、行動裝置(手機、平板),輕鬆閱讀。
- Windows / Mac 電腦
- 請先安裝瀏覽器,並以Chrome開啟我的電子書櫃後,點選『線上閱讀』,即可閱讀您已購買的電子書。建議使用 Chrome、Microsoft Edge有較佳的線上瀏覽效果。
- 手機/平板
- 請先安裝 電子書APP後,依照提示登入「會員中心」→「電子書管理」→「電子書APP通行碼/載具管理」,取得APP通行碼再登入APP,下載您所購買的電子書。完成下載後,點選任一書籍即可開始離線閱讀。 APP 適用版本:iOS 14.2 或以上版本,Android 6.0 以上版本。
注意事項:
使用讀冊生活電子書服務即為同意讀冊生活電子書服務條款。
下單後電子書可開啟閱讀的時間請參考:不同的付款方式,何時可開啟及閱讀電子書?
因版權保護,您在TAAZE所購買的電子書/雜誌僅能以TAAZE專屬的閱讀軟體開啟閱讀,無法以其他閱讀器或直接下載檔案。
退換貨說明:電子書、電子雜誌商品,恕不提供10天猶豫期退貨,若您對電子書閱讀有疑慮,建議您可於購買前先行試讀。並於訂購本商品前請務必詳閱電子書商品退換貨原則。