本書以“大眾創業,萬眾創新”為時代背景,以物聯網和智能開源硬件發展為技術背景,總結信息時代的創新模式、創新方法和創新產品。以ConceiveDesignImplementOperate(CDIO)方法為指導,構建創新產品,將北京郵電大學信息工程專業同學的創新產品開發案例進行總結,主要內容有Arduino設計基礎及開發案例,包括智能控制類開發案例,生活便捷類開發案例,物聯網絡類開發案例,人機交互類開發案例和其他創意類開發案例。
本書主要對創新產品的實際開發案例進行描述,包括軟件設計流程圖、硬件電路圖、各種傳感器和模塊,從功能、使用方法、電路連接和實例程序等方面介紹其使用方法; 綜合應用各種技術,提高產品的總體性能和可實現性。本書案例的內容由總到分、先模塊后代碼,創新思維與實踐案例相結合,以滿足不同層次人員的需求。同時,本書附有實際項目的硬件設計圖和軟件實現代碼,可供讀者自我學習和提高使用。
本書可作為大學信息與通信工程及相關專業的本科生教材,也可以作為智能硬件愛好者的創新手冊使用,還可以為創客的需求產生、分析產品、設計生產、實現產品等方面提供幫助。對于從事物聯網、創新開發和設計的專業技術人員,也可以作為主要的技術參考書。
本書從構思、設計到實現,深入理解Arduino項目開發!《Arduino案例實戰》系統論述了Arduino開源硬件的開發方法和技術。書中以豐富Arduino設計實例,介紹了智能硬件的物聯網應用。在處理嵌入式系統的開發過程中,使用Arduino開源平臺,將事半功倍,極大提高效率。本書涉及的主題:
(1) 智能控制類開發案例
(2) 人機交互類開發案例
(3) 生活便捷類開發案例
(4) 物聯網絡類開發案例
(5) 其他創意類開發案例
本書突出的特點:
(6) 典型場景的創新應用
(7) 智能開源的編程實踐
(8) 不同領域的經典案例
(9) 多種產品的功能實現
注:本書提供配套學習資源,下載地址為清華大學出版社本書頁面。
作者簡介
李永華 現執教于北京郵電大學,擁有超過10年的嵌入式開發經驗,致力于物聯網和智能硬件的研究開發工作。在教學中以興趣為導向,激發學生的創造性;以素質為基礎,提高自身教學水平;以科研為手段,促進教學理念轉變。通過信息工程專業綜合改革,探索了以“學生學為中心”的教學模式,營造生動活潑的學習方法,提高學生獨立思考問題、發現問題、解決問題的能力,激發學生的創造激情。在研發及教學實踐中指導學生實現200余個創新案例,并指導著一支物聯網開發團隊,曾在物聯網、開源硬件等技術領域進行了多場學術報告,并且出版了《AllJoyn技術原理及物聯網程序開發指南》《Arduino實戰指南——游戲開發、智能硬件、人機交互、智能家居與物聯網設計30例》《Arduino軟硬件協同設計實戰指南》等多部物聯網技術方向的著作。
目錄
前言Ⅰ
第1章Arduino項目設計基礎
1.1開源硬件概述
1.2Arduino開源硬件
1.2.1Arduino開發板
1.2.2Arduino擴展板
1.3Arduino軟件開發平臺
1.3.1Arduino平臺特點
1.3.2Arduino IDE的安裝
1.3.3Arduino IDE的使用
1.4Arduino編程語言
1.4.1Arduino編程基礎
1.4.2數字I/O口的操作函數
1.4.3模擬I/O口的操作函數
1.4.4高級I/O PulseIn(pin,state,timeout)
1.4.5時間函數
1.4.6中斷函數
1.4.7串口通信函數
1.4.8Arduino的庫函數
1.5Arduino硬件設計平臺
1.5.1Fritzing軟件簡介
1.5.2Fritzing使用方法
1.5.3Arduino電路設計
1.5.4Arduino樣例與編程
第2章變聲器
2.1項目背景
2.2創新描述
2.3功能及總體設計
2.3.1功能介紹
2.3.2總體設計
2.3.3模塊介紹
2.4產品展示
2.5故障及問題分析
2.6元器件清單
第3章自動澆花機
3.1項目背景
3.2創意描述
3.3功能及總體設計
3.3.1功能介紹
3.3.2總體設計
3.3.3模塊介紹
3.4產品展示
3.5故障及問題分析
3.6元器件清單
第4章移動花盆
4.1項目背景
4.2創意描述
4.3功能及總體設計
4.3.1功能介紹
4.3.2總體設計
4.3.3模塊介紹
4.4產品展示
4.5故障及問題分析
4.6元器件清單
第5章智能花盆
5.1項目背景
5.2創意描述
5.3功能及總體設計
5.3.1功能介紹
5.3.2總體設計
5.3.3模塊介紹
5.4產品展示
5.5故障及問題分析
5.6元器件清單
第6章植物精靈
6.1項目背景
6.2創意描述
6.3功能及總體設計
6.3.1功能介紹
6.3.2總體設計
6.3.3模塊介紹
6.4產品展示
6.5故障及問題分析
6.6元器件清單
第7章測溫加熱杯
7.1項目背景
7.2創意描述
7.3功能及總體設計
7.3.1功能介紹
7.3.2總體設計
7.3.3模塊介紹
7.4產品展示
7.5故障及問題分析
7.6元器件清單
第8章Audio Visualizer
8.1項目背景
8.2創意描述
8.3功能及總體設計
8.3.1功能介紹
8.3.2總體設計
8.3.3模塊介紹
8.4產品展示
8.5故障及問題分析
8.6元器件清單
第9章溫濕度環境監測儀
9.1項目背景
9.2創意描述
9.3功能及總體設計
9.3.1功能介紹
9.3.2總體設計
9.3.3模塊介紹
9.4產品展示
9.5故障及問題分析
9.6元器件清單
第10章基于體表溫度的自動調速風扇
10.1項目背景
10.2創意描述
10.3功能及總體設計
10.3.1功能介紹
10.3.2總體設計
10.3.3模塊介紹
10.4產品展示
10.5故障及問題分析
10.6元器件清單
第11章多功能加濕器
11.1項目背景
11.2創意描述
11.3功能及總體設計
11.3.1功能介紹
11.3.2總體設計
11.3.3模塊介紹
11.4產品展示
11.5故障及問題分析
11.6元器件清單
第12章基于語音芯片的MP3
12.1項目背景
12.2創意描述
12.3功能及總體設計
12.3.1功能介紹
12.3.2總體設計
12.3.3模塊介紹
12.4產品展示
12.5故障及問題分析
12.6元器件清單
第13章Virtual Drum Kit(虛擬架子鼓)
13.1項目背景
13.2創意描述
13.3功能及總體設計
13.3.1功能介紹
13.3.2總體設計
13.3.3模塊介紹
13.4產品展示
13.5故障及問題分析
13.6元器件清單
第14章智能實物架子鼓
14.1項目背景
14.2創意描述
14.3功能及總體設計
14.3.1功能介紹
14.3.2總體設計
14.3.3模塊介紹
14.4產品展示
14.5故障及問題分析
14.6元器件清單
第15章音樂心情助手
15.1項目背景
15.2創意描述
15.3功能及總體設計
15.3.1功能介紹
15.3.2總體設計
15.3.3模塊介紹
15.4產品展示
15.5故障及問題分析
15.6元器件清單
第16章基于計算機的模擬架子鼓
16.1項目背景
16.2創意描述
16.3功能及總體設計
16.3.1功能介紹
16.3.2總體設計
16.3.3模塊介紹
16.4產品展示
16.5故障及問題分析
16.6元器件清單
第17章The Beats音樂游戲
17.1項目背景
17.2創意描述
17.3功能及總體設計
17.3.1功能介紹
17.3.2總體設計
17.3.3模塊介紹
17.4產品展示
17.5故障及問題分析
17.6元器件清單
第18章音樂燈
18.1項目背景
18.2創意描述
18.3功能及總體設計
18.3.1功能介紹
18.3.2總體設計
18.3.3模塊介紹
18.4產品展示
18.5故障及問題分析
18.6元器件清單
第19章智能門禁刷卡系統
19.1項目背景
19.2創意描述
19.3功能及總體設計
19.3.1功能介紹
19.3.2總體設計
19.3.3模塊介紹
19.4產品展示
19.5故障及問題分析
19.6元器件清單
第20章高溫預警模擬
20.1項目背景
20.2創意描述
20.3功能及總體設計
20.3.1功能介紹
20.3.2總體設計
20.3.3模塊介紹
20.4產品展示
20.5故障及問題分析
20.6元器件清單
參考文獻
第5章智能花盆
5.1項目背景
在日常生活中,人們一方面想在家中養些花花草草,讓他們在白天能夠吸收二氧化碳清新室內空氣的同時凈化有毒氣體; 另一方面因為工作太忙或者經常出差,沒空澆水導致花草長勢不好甚至枯死,又影響了室內的裝飾效果。
本項目設計者為李明正、高原、趙靂歐。
因此,設計一種能實時監測多盆花的土壤溫濕度,實現智能澆水的智能花盆,讓花卉在人們無暇顧及時也能得到及時的照顧。
5.2創意描述
相比于普通的花盆,首先,它可以通過按鍵輸入閾值(即所養花卉的適宜濕度),通過實時監控土壤濕度并與閾值作比較來決定是否開啟自動澆水以及澆水量; 其次,通過一個程序完成同時控制多個花盆的功能,使養花更方便、更智能。
它的創新點有: 按鍵輸入閾值,方便快捷; 實時監控土壤濕度,澆水量準確,節約水資源,避免過量澆水對花卉的傷害; 同時控制多個花盆,對多個花卉的生長狀況一目了然,掌控更方便。
5.3功能及總體設計
本作品主要分為三個部分進行設計: 按鍵模塊、澆水系統以及LCD顯示模塊。按鍵部分的主要功能是可以選擇花盆手動設置閾值; 澆水系統由水泵、水箱、自制“噴頭”、繼電器以及電源構成,保證澆水隨時待命; LCD顯示模塊可以在設置過程中顯示下一步的選項,實時顯示土壤濕度以及空氣的溫濕度。
5.3.1功能介紹
本項目的智能花盆可以通過手動按鍵分別設置多盆花卉的適宜土壤濕度,滿足同時照顧多盆花卉的需要。通過每十秒對土壤連續十次的濕度采樣取均值與閾值比較來判斷花卉是否處于缺水狀態,進而控制水泵抽水澆水,直至均值達到閾值時停止。同時LCD可以顯示空氣中的溫濕度,也可以讓主人根據花卉的生長條件進行相應的操作。
5.3.2總體設計
要實現上述功能,需要將作品分成三個部分來設計: 按鍵部分、澆水系統以及LCD顯示部分。
1. 整體框架圖
項目的整體框架,如圖51所示。
圖51項目整體框架圖
其中,4×4按鍵板、LCD顯示屏、DHT11溫濕度傳感器以及整個澆水系統都連接在Arduino板上,由MK227土壤溫濕度傳感器控制繼電器常開端是否閉合,控制水泵是否工作。
2. 系統流程圖
系統流程如圖52所示。