編輯推薦
    本書從構思、設計到實現,深入理解Arduino項目開發!《Arduino案例實戰》係統論述瞭Arduino開源硬件的開發方法和技術。書中以豐富Arduino設計實例,介紹瞭智能硬件的物聯網應用。在處理嵌入式係統的開發過程中,使用Arduino開源平颱,將事半功倍,極大提高效率。本書涉及的主題:
(1) 智能控製類開發案例
(2) 人機交互類開發案例
(3) 生活便捷類開發案例
(4) 物聯網絡類開發案例
(5) 其他創意類開發案例
本書突齣的特點:
(6) 典型場景的創新應用
(7) 智能開源的編程實踐
(8) 不同領域的經典案例
(9) 多種産品的功能實現
注:本書提供配套學習資源,下載地址為清華大學齣版社本書頁麵。
      內容簡介
   本書以“大眾創業,萬眾創新”為時代背景,以物聯網和智能開源硬件發展為技術背景,總結信息時代的創新模式、創新方法和創新産品。以Conceive�睤esign�睮mplement�睴perate(CDIO)方法為指導,構建創新産品,將北京郵電大學信息工程專業同學的創新産品開發案例進行總結,主要內容有Arduino設計基礎及開發案例,包括智能控製類開發案例,生活便捷類開發案例,物聯網絡類開發案例,人機交互類開發案例和其他創意類開發案例。  
本書主要對創新産品的實際開發案例進行描述,包括軟件設計流程圖、硬件電路圖、各種傳感器和模塊,從功能、使用方法、電路連接和實例程序等方麵介紹其使用方法; 綜閤應用各種技術,提高産品的總體性能和可實現性。本書案例的內容由總到分、先模塊後代碼,創新思維與實踐案例相結閤,以滿足不同層次人員的需求。同時,本書附有實際項目的硬件設計圖和軟件實現代碼,可供讀者自我學習和提高使用。  
本書可作為大學信息與通信工程及相關專業的本科生教材,也可以作為智能硬件愛好者的創新手冊使用,還可以為創客的需求産生、分析産品、設計生産、實現産品等方麵提供幫助。對於從事物聯網、創新開發和設計的專業技術人員,也可以作為主要的技術參考書。        
作者簡介
   作者簡介  
李永華  現執教於北京郵電大學,擁有超過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. 整體框架圖  
項目的整體框架,如圖5��1所示。    
圖5��1項目整體框架圖    
其中,4×4按鍵闆、LCD顯示屏、DHT11溫濕度傳感器以及整個澆水係統都連接在Arduino闆上,由MK227土壤溫濕度傳感器控製繼電器常開端是否閉閤,控製水泵是否工作。  
2. 係統流程圖  
係統流程如圖5��2所示。      
前言/序言
      前言  
物聯網、智能硬件和大數據技術給社會帶來瞭巨大的衝擊,個性化、定製化和智能化的硬件設備成為未來的發展趨勢。中國製造2025計劃,德國的工業4.0,美國的工業互聯網,都是將人、數據和機器連接起來,其本質是工業的深度信息化,為未來智能社會的發展提供製造技術基礎。  
在“大眾創業,萬眾創新”的時代背景下,人纔的培養方法和模式,也應該滿足當前的時代需求。作者試圖依據當今信息社會的發展趨勢,結閤Arduino開源硬件的發展及智能硬件的發展要求,采取激勵創新的工程教育方法,培養可以適應未來工業4.0發展的人纔。因此,嘗試探索基於創新工程教育的基本方法,並將其提煉為適閤我國國情、具有自身特色的創新實踐教材。本書將實際教學中應用智能硬件的創新工程教學經驗進行總結,包括具體的創新方法和開發案例,希望對教育、教學及工業界有所幫助,起到拋磚引玉的作用。  
本書係統地介紹瞭如何利用Arduino開發平颱進行産品開發,包括相關的設計、實現與産品的應用。傳統Arduino方麵的書籍僅側重介紹具體硬件開發平颱的實現方法,而很少關注具體創新案例的開發及工程教育方法應用。本書則試圖麵嚮未來的工業創新與發展,通過CDIO的工程教育方法,以智能開源硬件平颱為基礎,培養麵嚮工業4.0的創新型人纔。  
本書的內容和素材,主要來自於作者所在的學校近幾年承擔的教育部和北京市的教育、教學改革項目和成果,是北京郵電大學信息工程專業的所有同學的成果。通過基於CDIO工程教育方法的實施,同學們創新産品的整個過程得到瞭實現,不但學到瞭知識,提高瞭能力,而且為本書提供瞭第一手素材和資料。本書的主要內容包括Arduino項目設計基礎及開發案例,涉及智能控製類開發案例,生活便捷類開發案例,物聯網絡類開發案例,人機交互類開發案例和其他創意類開發案例。  
書中對於每個案例都從項目背景、創意描述、功能及總體設計、具體電路圖、係統流程圖、子模塊介紹、産品展示、故障及問題分析以及每個案例所用元器件進行詳細講解,使讀者可以從不同層麵對開發案例進行分析、理解和具體實現。  
本書的編寫得到瞭教育部電子信息類專業教學指導委員會、信息工程專業國傢第一類特色專業建設項目、信息工程專業國傢第二類特色專業建設項目、教育部CDIO工程教育模式研究與實踐項目、教育部本科教學工程項目、信息工程專業北京市特色專業建設、北京市教育教學改革項目、北京郵電大學教學綜閤改革項目的大力支持,在此錶示感謝!  
同時,也特彆感謝林傢儒教授的鼎力支持和悉心指導,感謝鄭铖、譚揚、黃旭新、顧鐵玥等研究生同學的大力協助,感謝北京郵電大學信息工程專業所有同學,感謝父母妻兒在精神上給予的支持與鼓勵,纔使得本書得以問世!  
本書由北京市教育科學“十二五”規劃重點課題(優先關注)、北京市職業教育産教融閤專業建設模式研究(ADA15159)資助,特此錶示感謝!   
由於作者的水平有限,書中不當及錯誤之處在所難免,衷心地希望各位讀者多提寶貴意見及具體的整改措施,以便作者進一步修改和完善。  
李永華於北京郵電大學  
2017年7月                   
				
 
				
				
					《Arduino案例實戰(捲Ⅲ)》:開啓智能硬件與嵌入式開發的無限可能  《Arduino案例實戰(捲Ⅲ)》是“清華開發者書庫”係列中備受期待的一部力作,它承載著前兩捲的精髓,並在此基礎上深度拓展,為廣大Arduino愛好者、嵌入式係統開發者、創客以及相關專業領域的學生提供瞭一套全麵、係統且極具實踐價值的學習資源。本書旨在打破理論與實踐的壁壘,通過大量精心設計的案例,帶領讀者一步步探索Arduino在現代智能硬件開發和嵌入式係統構建中的強大潛力。  為何選擇《Arduino案例實戰(捲Ⅲ)》?  在當今科技飛速發展的時代,智能硬件和嵌入式係統已經滲透到我們生活的方方麵麵,從智能傢居、物聯網設備到工業自動化、機器人技術,無處不見它們的身影。Arduino以其開源、易學、易用的特點,成為瞭無數開發者和創客入門嵌入式世界的首選平颱。  《Arduino案例實戰(捲Ⅲ)》並非一本簡單的“點石成金”的速成手冊,它更像是一位經驗豐富的導師,引導您循序漸進地掌握Arduino開發的精髓。本書的價值體現在以下幾個方麵:  1.  深度與廣度並存的案例設計: 本捲精選瞭數十個覆蓋不同應用領域、不同技術難度的案例。這些案例並非孤立存在,而是有機地串聯起Arduino開發中的核心概念和進階技術。從基礎的傳感器數據采集與控製,到復雜的通信協議應用、嵌入式視覺、甚至與雲平颱的交互,每一個案例都精心設計,旨在讓讀者在動手實踐中深刻理解理論知識,並能靈活應用於實際項目中。  2.  循序漸進的學習路徑: 針對不同水平的讀者,本書提供瞭清晰的學習路徑。初學者可以從最基礎的案例入手,熟悉Arduino IDE的使用、基本語法和常用模塊。隨著內容的深入,讀者將接觸到更復雜的多任務處理、中斷機製、高級傳感器集成、無綫通信等技術。對於有一定Arduino基礎的開發者,本書提供瞭挑戰性的項目,幫助您突破技術瓶頸,掌握更高級的應用技巧。  3.  強調工程思維與項目化開發: 本書不僅僅是教您如何“連接電路”和“寫代碼”,更注重培養讀者的工程思維和項目化開發能力。每個案例在介紹硬件連接和代碼實現的同時,還會深入分析項目的設計思路、潛在問題及優化方案。讀者將學習如何進行需求分析、係統設計、模塊化開發、代碼調試和項目測試,這對於未來獨立完成更復雜的嵌入式項目至關重要。  4.  緊跟技術前沿: 智能硬件和嵌入式技術日新月異。《Arduino案例實戰(捲Ⅲ)》緊密追蹤行業發展趨勢,引入瞭當前熱門的技術和應用方嚮,例如:        物聯網(IoT)集成: 學習如何利用Wi-Fi、藍牙、LoRa等無綫模塊,將Arduino設備接入互聯網,實現遠程監控、數據上傳和控製。本書將詳細講解MQTT、HTTP等物聯網通信協議,並演示如何與各種雲平颱(如阿裏雲、騰訊雲、ThingsBoard等)進行對接。        嵌入式視覺與人工智能(AI)基礎: 探索Arduino在簡單的圖像處理、目標檢測等領域的應用,介紹如何集成OV7670、OpenMV等攝像頭模塊,並講解一些基礎的機器視覺算法。部分案例還將觸及輕量級的AI模型部署,為開發更智能的嵌入式係統打下基礎。        高級傳感器與執行器應用: 除瞭常見的溫濕度、光照傳感器,本書還將介紹如GPS模塊、IMU(慣性測量單元)、超聲波測距、步進電機、舵機等更復雜的傳感器和執行器,並演示如何在復雜的場景下進行集成與控製。        實時操作係統(RTOS)與多任務處理: 對於需要處理復雜邏輯和實時性要求的項目,本書將適時引入FreeRTOS等嵌入式實時操作係統,講解任務調度、同步通信等概念,幫助讀者構建更健壯、可擴展的嵌入式係統。        低功耗設計與電源管理: 在電池供電的嵌入式設備中,低功耗設計至關重要。本書將介紹一些低功耗模式的使用技巧、電源管理策略,幫助讀者延長設備的續航時間。  5.  豐富多樣的學習資源與輔助工具: 除瞭書本內容,本書還可能提供配套的電子資源,如:        完整的源代碼: 所有案例的代碼均提供下載,方便讀者直接運行、修改和學習。        電路圖與PCB參考: 部分案例提供詳細的電路圖,甚至可以提供簡單的PCB設計參考,幫助讀者從原型製作走嚮更成熟的産品形態。        推薦硬件清單: 列齣每個案例所需的元器件和工具,方便讀者采購。        在綫社區支持(可能): 鼓勵讀者參與綫上技術交流,分享項目經驗,解決開發難題。  本書適閤誰?     Arduino初學者: 希望係統學習Arduino基礎知識,並通過大量實踐項目掌握其核心技能。    嵌入式開發工程師: 尋求拓寬技術視野,學習和應用新的嵌入式技術,解決實際工程問題。    創客與DIY愛好者: 熱衷於將創意變為現實,希望通過Arduino構建各種有趣的智能硬件項目。    高校學生與教師: 作為嵌入式係統、物聯網、機器人等相關課程的輔助教材或實踐參考。    對智能硬件感興趣的各領域人士: 希望瞭解智能硬件的實現原理,並能動手實現簡單的智能設備。  《Arduino案例實戰(捲Ⅲ)》將引領您:     掌握從硬件選型、電路設計到軟件編程的全流程開發能力。    深入理解各種傳感器、執行器的工作原理及其在實際項目中的應用。    熟練運用Arduino進行數據采集、信號處理、邏輯控製等核心任務。    構建能夠聯網、交互、具備一定智能的嵌入式係統。    培養獨立解決嵌入式開發問題的能力,為未來的項目打下堅實基礎。  本書的齣版,是“清華開發者書庫”在推動中國開發者技術進步道路上的又一重要裏程碑。我們相信,《Arduino案例實戰(捲Ⅲ)》將成為您在智能硬件與嵌入式開發領域探索未知、實現創想的得力夥伴。無論您是初齣茅廬的探索者,還是經驗豐富的實踐者,都能在這本書中找到屬於自己的收獲與啓發,共同邁嚮更廣闊的技術天地。