Arduino手機互動程式設計基礎篇 | 被動收入的投資秘訣 - 2024年5月

Arduino手機互動程式設計基礎篇

作者:曹永忠許智誠蔡英德
出版社:千華駐科技有限公司
出版日期:2020年11月06日
ISBN:9789575926632
語言:繁體中文
售價:475元

  在克里斯.安德森(Chris Anderson)所著「自造者時代:啟動人人製造的第三次工業革命」提到,過去幾年,世界來到了一個重要里程碑:實體製造的過程愈來愈像軟體設計,開放原始碼創造了軟體大量散布與廣泛使用,如今,實體物品上也逐漸發生同樣的效應。網路社群中的程式設計師從Linux作業系統出發,架設了今日世界上絕大部分的網站(Apache WebServer),到使用端廣受歡迎的FireFox瀏覽器等,都是開放原始碼軟體的最佳案例。

  現在自造者社群(Maker Space)也正藉由開放原始碼硬體,製造出電子產品、科學儀器、建築物,甚至是3C產品。其中如Arduino開發板,銷售量已遠超過當初設計者的預估。連網路巨擘Google Inc.也加入這場開放原始碼運動,推出開放原始碼電子零件,讓大家發明出來的硬體成品,也能與Android軟體連結、開發與應用。

  目前全球各地目前有成千上萬個「自造空間」(makerspace)─光是上海就有上百個正在籌備中,多自造空間都是由在地社群所創辦。如聖馬特奧市(SanMateo)的自造者博覽會(Maker Faire),每年吸引數10萬名自造者前來朝聖,彼此觀摩學習。但不光是美國,全球各地還有許多自造者博覽會,台灣一年一度也於當地舉辦Maker Fair Taiwan,數十萬的自造者(Maker)參予了每年一度的盛會。

  本系列「Maker系列」由此概念而生。面對越來越多的知識學子,也希望成為自造者(Make),追求創意與最新的技術潮流,筆著因應世界潮流與趨勢,思考著「如何透過逆向工程的技術與手法,將現有產品開發技術轉換為我的知識」的思維,如果我們可以駭入產品結構與設計思維,那麼了解產品的機構運作原理與方法就不是一件難事了。更進一步我們可以將原有產品改造、升級、創新,並可以將學習到的技術運用其他技術或新技術領域,透過這樣學習思維與方法,可以更快速的掌握研發與製造的核心技術,相信這樣的學習方式,會比起在已建構好的開發模組或學習套件中學習某個新技術或原理,來的更踏實的多。

  本系列的書籍,因應自造者運動的世界潮流,希望讀者當一位自造者,將現有產品的產品透過逆向工程的手法,進而了解核心控制系統之軟硬體,再透過簡單易學的Arduino單晶片與C語言,重新開發出原有產品,進而改進、加強、創新其原有產品的架構。如此一來,因為學子們進行「重新開發產品」過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。

  作者出版了許多的Arduino系列的書籍,深深覺的,基礎乃是最根本的實力,所以回到最基礎的地方,希望透過最基本的程式設計教學,來提供眾多的Makers在入門Arduino時,如何開始,如何攥寫自己的程式,主要的目的是希望學子可以學到程式設計的基礎觀念與基礎能力。作者們的巧思,希望讀者可以了解與學習到作者寫書的初衷。
 

作者簡介

曹永忠 (Yung-Chung Tsao)

  國立中央大學資訊管理學系博士,目前在國立暨南國際大學電機工程學系與國立高雄科技大學商務資訊應用系兼任助理教授與自由作家,專注於軟體工程、軟體開發與設計、物件導向程式設計、物聯網系統開發、Arduino開發、嵌入式系統開發。長期投入資訊系統設計與開發、企業應用系統開發、軟體工程、物聯網系統開發、軟硬體技術整合等領域,並持續發表作品及相關專業著作。

  Email:[email protected]
  Line ID:dr.brucetsao
  WeChat:dr_brucetsao
  作者網站:www.cs.pu.edu.tw/~yctsao/myprofile.php
  原始碼網址:github.com/brucetsao/ESP_Bulb
  Github網站:github.com/brucetsao/
  臉書社群(Arduino.Taiwan):www.facebook.com/groups/Arduino.Taiwan/

許智誠 (Chih-Cheng Hsu)

  美國加州大學洛杉磯分校(UCLA)資訊工程系博士,曾任職於美國IBM等軟體公司多年,現任教於中央大學資訊管理學系專任副教授,主要研究為軟體工程、設計流程與自動化、數位教學、雲端裝置、多層式網頁系統、系統整合、金融資料探勘、Python建置(金融)資料探勘系統。

  Email:[email protected]
  作者網頁:www.mgt.ncu.edu.tw/~khsu/

蔡英德 (Yin-Te Tsai)

  國立清華大學資訊科學博士,目前是靜宜大學資訊傳播工程學系教授,靜宜大學資訊學院院長及靜宜大學人工智慧創新應用研發中心主任。曾擔任台灣資訊傳播學會理事長,台灣國際計算器程式競賽暨檢定學會理事,台灣演算法與計算理論學會理事、監事。主要研究為演算法設計與分析、生物資訊、軟體開發、智慧計算與應用。

  Email:[email protected]
  作者網頁:www.csce.pu.edu.tw/people/bio.php?PID=6#personal_writing

 

自序
自序
自序
目 錄
Maker系列
Arduino 簡介
什麼是Arduino
Arduino特色
Arduino硬體-Yun 雲
Arduino硬體-Duemilanove
Arduino硬體-UNO
Arduino硬體-Mega 2560
Arduino硬體- Arduino Pro Mini控制器
Arduino硬體- Arduino ATtiny85 控制器
Arduino硬體- Arduino LilyPad控制器
Arduino硬體- Arduino Esplora 控制器
Arduino硬體- Appsduino UNO 控制板
Arduino硬體- Appsduino Shield V2.0擴充板
86Duino One 開發版
86Duino ZERO 開發版
86Duino EduCake 開發版
章節小結
珐錏科技產品介紹
珐錏科技股份有限公司介紹
fayalab產品介紹
faya-nugget 電子積塊
Arduino 開發環境
Arduino開發IDE安裝
Arduino函式庫安裝
章節小結
Arduino 程式語法
官方網站函式網頁
Arduino程式主要架構
區塊式結構化程式語言
註解
變數
型態轉換
邏輯控制
算術運算
輸入輸出腳位設定
時間函式
數學函式
亂數函式
通訊函式
系統函式
章節小結
fayalab nugget 系列
5 * 7 Matrix Display
滑動顯示5x7 Led點陣顯示器
8 LED module
4-digits 7-segment display
Light Sensor
可變電阻感測器(Slider Potentiometer)
觸摸感測器(Touch slider)
Temperature Sensor(AD590)
Encoder Switch
Joystick
3V Motor
章節小結
基礎程式設計
如何執行AppInventor程式
上傳電腦原始碼
Arduino藍芽通訊
手機安裝藍芽裝置
安裝Bluetooth RC APPs應用程式
BluetoothRC應用程式通訊測試
Arduino藍芽模組控制
手機藍芽基本通訊功能開發
手機相機程式開發
手機語音辨視
傳送文字念出語音
章節小結
互動設計
控制球速度
使用Arduino控制手機顯示圖片大小
用手機語音辨視驅動不同燈號
用手機語音辨視驅動燈號進階版
智慧家庭-使用手機控制風扇
用Arduino控制手機打磚塊遊戲
智慧家庭-使用手機進行溫度監控
智慧家庭-使用手機查詢溫度
章節小結
本書總結
作者介紹
參考文獻
 



  Arduino系列的書出版至今,已經過三年,出書量也近八十本大關,當初出版電子書是希望能夠在教育界開一門Maker自造者相關的課程,沒想到一寫就已過三年,繁簡體加起來的出版數也已也近八十本的量,這些書都是我學習當一個Maker累積下來的成果。

  這本書可以說是我的書另一個里程碑,很久以前,這個系列開始以駭客的觀點為主,希望Maker可以擁有駭客的觀點、技術、能力,駭入每一個產品設計思維,並且成功的重製、開發、超越原有的產品設計,這才是一位對社會有貢獻的『駭客』。

  如許多學習程式設計的學子,為了最新的科技潮流,使用著最新的科技工具與軟體元件,當他們面對許多原有的軟體元件沒有支持的需求或軟體架構下沒有直接支持的開發工具,此時就產生了莫大的開發瓶頸,這些都是為了追求最新的科技技術而忘卻了學習原有基礎科技訓練所致。

  筆著鑒於這樣的困境,思考著『如何駭入眾人現有知識寶庫轉換為我的知識』的思維,如果我們可以駭入產品結構與設計思維,那麼了解產品的機構運作原理與方法就不是一件難事了。更進一步我們可以將原有產品改造、升級、創新,並可以將學習到的技術運用其他技術或新技術領域,透過這樣學習思維與方法,可以更快速的掌握研發與製造的核心技術,相信這樣的學習方式,會比起在已建構好的開發模組或學習套件中學習某個新技術或原理,來的更踏實的多。

  目前許多學子在學習程式設計之時,恐怕最不能了解的問題是,我為何要寫九九乘法表、為何要寫遞迴程式,為何要寫成函式型式…等等疑問,只因為在學校的學子,學習程式是為了可以了解『撰寫程式』的邏輯,並且訓練和建立如何運用程式邏輯的能力,解譯現實中面對的問題。然而現實中的問題往往太過於複雜,授課的老師無法有多餘的時間與資源去解釋現實中複雜問題,期望能將現實中複雜問題淬鍊成邏輯上的思路,加以訓練學生其解題思路,但是眾多學子宥於現實問題的困惑,無法單純用純粹的解題思路來進行學習與訓練,反而以現實中的複雜來反駁老師教學太過學理,沒有實務上的應用為由,拒絕深入學習,這樣的情形,反而自己造成了學習上的障礙。

  本系列的書籍,針對目前學習上的盲點,希望讀者當一位產品駭客,將現有產品的產品透過逆向工程的手法,進而了解核心控制系統之軟硬體,再透過簡單易學的Arduino單晶片與C語言,重新開發出原有產品,進而改進、加強、創新其原有產品固有思維與架構。如此一來,因為學子們進行『重新開發產品』過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。

  這三年多以來的經驗分享,逐漸在這群學子身上看到發芽,開始成長,覺得Maker的教育方式,極有可能在未來成為教育的主流,相信我每日、每月、每年不斷的努力之下,未來Maker的教育、推廣、普及、成熟將指日可待。

  最後,請大家可以加入Maker的Open Knowledge的行列。
 
曹永忠 於貓咪樂園


相關書籍