Arduino高級開發權威指南

Arduino高級開發權威指南

巴雷特著的《Arduino高級開發權威指南(原書第2版)》是Arduino開源硬體資深專家數年一線工作經驗結晶。《Arduino高級開發權威指南(原書第2版)》深入淺出地介紹了Arduino微控制器與Arduino的概念。第1章和第2章簡要介紹了Arduino的概念、ArduinoUNOR3控制板,以及使用Atmel公司ATmega328控制器的UNOR3控制板的主要功能特性,同時為新手提供了編程簡介,包括Arduino的開發環境以及如何燒寫程式。第3章主要介紹嵌入式系統的設計過程,讓你能以系統考量和循序漸進的方式輕鬆應對設計複雜系統的問題。第4~7章具體介紹了ATmega328微控制器的工程資料以及連線埠技術,涉及串列數據通信子系統、模數轉換器、中斷子系統、定時器子系統。第8章展示了一系列套用樣例,例如,自動風扇製冷系統、藝術燈光系統、飛行模擬器操控面板、潛水機器人、氣象站等。

基本介紹

  • 書名:Arduino高級開發權威指南
  • 作者:Steven F.Barrett
  • 出版日期:2014年3月10日
  • 語種:簡體中文
  • ISBN:9787111452461
  • 外文名:Arduino microcontroller processing for everyone!
  • 出版社:機械工業出版社
  • 頁數:270頁
  • 開本:16
  • 品牌:機械工業出版社
基本介紹,內容簡介,作者簡介,圖書目錄,

基本介紹

內容簡介

巴雷特著的《Arduino高級開發權威指南(原書第2版)》內容整體分為兩個部分。第一個部分講解如何使用Arduino進行編程,並進一步開發嵌入式系統;第二部分則分別深入淺出講解了Arduino控制器的串口通信,ADC,中斷,定時等概念,便於讀者深入理解Arduino的體系結構。

作者簡介

作者:(美)巴雷特 譯者:潘鑫磊
Steven Fl Barrett博士分別於1979年在內布拉斯加州立大學(奧馬哈)獲得電機工程學士學位,1986年在愛達荷大學(莫斯科)獲得電機工程碩士學位,1993年在德克薩斯州立大學奧斯汀分校獲得博士學位。他是IEEE高級會員,研究方向涉及數字與模擬圖像處理、計算機輔助雷射手術和嵌入式控制系統。他是懷俄明州和科羅拉多州註冊認證的專業工程師。他與Darliel Pack博士著有6本關於嵌入式微控制器和嵌入式系統方面的教材。他分別於2004年因為在教育方面的傑出成就而獲得卡內基基金會授予的“懷俄明州年度最佳教授”,2008年獲得NSPE(美國國家專業工程師學會)授予的專業工程師高等教育獎和高等教育優秀獎。潘鑫磊,資深創客,現供職於DFROBOT。他 是國內最早一批Arduino愛好者,在嵌入式系 統和硬體開發方面擁有非常豐富的經驗。他 開發的項目涉及Arduino硬體模組、互動控制 產品、機器人等。

圖書目錄

前言
第1章 入門 1
1.1 概述 1
1.2 入門 1
1.3 Arduino UNO R3 3
1.4 案例:自主迷宮導航機器人 5
1.4.1 結構圖 6
1.4.2 UML活動圖 7
1.4.3 Arduino UNO R3系統 7
1.5 Arduino開源原理圖 7
1.6 其他基於Arduino的硬體平台 9
1.7 擴展Arduino平台的硬體功能特性 9
1.8 Arduino軟體 10
1.9 Arduino UNO R3/ATmega328晶片硬體功能 10
1.9.1 記憶體單元 12
1.9.2 連線埠系統 12
1.9.3 內部系統 13
1.10 套用:Arduino設備套件 16
1.11 小結 17
1.12 參考文獻 17
1.13 本章習題 17
第2章 編程 18
2.1 概述 18
2.2 編程大圖 18
2.3 解析程式 20
2.3.1 注釋 21
2.3.2 包含檔案 21
2.3.3 函式 22
2.3.4 程式常量 24
2.3.5 中斷處理器定義 24
2.3.6 變數 24
2.3.7 主程式 25
2.4 基本的編程概念 25
2.4.1 運算符 25
2.4.2 編程結構 29
2.4.3 決策處理 30
2.5 Arduino開發環境 32
2.5.1 背景 33
2.5.2 Arduino開發環境簡介 33
2.5.3 速寫本概念 34
2.5.4 Arduino軟體、庫以及Arduino語言參考資料 34
2.6 套用1:機器人紅外距離感測器 36
2.7 套用2:藝術照明系統 39
2.8 小結 39
2.9 參考文獻 40
2.10 本章習題 40
第3章 嵌入式系統設計 41
3.1 什麼是嵌入式系統 41
3.2 嵌入式系統設計流程 42
3.2.1 項目說明 42
3.2.2 背景研究 42
3.2.3 前期設計 43
3.2.4 設計 43
3.2.5 實現原型 45
3.2.6 初步測試 45
3.2.7 完整並準確的文檔記錄 46
3.3 案例:Blinky 602A自主迷宮導航機器人系統設計 46
3.4 套用:Blinky 602A機器人的控制算法 51
3.5 小結 57
3.6 參考文獻 58
3.7 本章習題 58
第4章 串列數據通信子系統 59
4.1 概述 59
4.2 串列通信 59
4.3 串列通信術語 60
4.4 串列USART 62
4.5 串列系統運行以及使用Arduino開發環境功能編程 65
4.6 串列系統運行以及在C開發環境中的編程 68
4.7 SPI在Arduino開發環境中編程 71
4.8 SPI在C開發環境中編程 72
4.9 兩線串列接口——TWI 73
4.10 套用1:SD/MMC卡模組通過USART擴展 73
4.11 套用2:通過ISP對ArduinoUNO R3控制板的ATmega328晶片編程 76
4.12 小結 78
4.13 參考文獻 78
4.14 本章習題 78
第5章 模數轉換器 79
5.1 概述 79
5.2 採樣、量化和編碼 80
5.3 模數轉換過程 83
5.3.1 換能器接口設計電路 83
5.3.2 運算放大器 85
5.4 模數轉換技術 88
5.5 Atmel公司的ATmega328晶片ADC系統 89
5.5.1 框架圖 89
5.5.2 暫存器 90
5.6 使用Arduino開發環境為模數轉換功能編程 92
5.7 使用C開發環境為模數轉換功能編程 92
5.8 實例:ADC雨量計指示燈 93
5.8.1 ADC雨量計指示燈(使用Arduino開發環境) 94
5.8.2 ADC雨量計指示燈(使用C開發環境) 97
5.8.3 ADC雨量計指示燈(基於Arduino開發環境的C編程混合最佳化) 102
5.9 一位模數轉換(閾值檢測器) 103
5.10 數模轉換器(DAC) 105
5.10.1 數模轉換器(使用Arduino開發環境) 106
5.10.2 數模轉換器(外接轉換器) 106
5.11 套用:藝術作品照明系統——最佳化 107
5.12 小結 109
5.13 參考文獻 110
5.14 本章習題 111
第6章 中斷子系統 112
6.1 概述 112
6.2 ATmega328中斷系統 113
6.3 中斷編程 113
6.4 基於C語言及Arduino開發環境的中斷編程 114
6.4.1 外部中斷編程 114
6.4.2 內部中斷編程 117
6.5 前台處理和後台處理 121
6.6 中斷例程 121
6.6.1 C語言中的實時時鐘 121
6.6.2 Arduino開發環境中的實時時鐘 123
6.6.3 用C語言中斷驅動的USART 125
6.7 小結 134
6.8 參考文獻 134
6.9 本章習題 134
第7章 定時器子系統 136
7.1 概述 136
7.2 有關定時器的術語 136
7.2.1 頻率 137
7.2.2 周期 137
7.2.3 占空比 137
7.3 定時器系統概述 138
7.4 套用 139
7.4.1 輸入捕捉——測量外部定時事件 140
7.4.2 計數事件 140
7.4.3 輸出比較——對外部設備接口產生定時信號 141
7.4.4 工業實施案例研究(PWM) 141
7.5 Atmel公司的ATmega328控制器上的定時器系統概述 142
7.6 Timer 0系統 143
7.6.1 運行模式 144
7.6.2 Timer 0暫存器 146
7.7 Timer 1 148
7.7.1 Timer 1暫存器 149
7.8 Timer 2 151
7.9 利用Arduino開發環境中內置的時鐘功能在Arduino UNO R3控制板上編程 154
7.10 用C語言編寫定時器系統 154
7.10.1 C語言中的精確延時 154
7.10.2 C語言中的PWM 156
7.10.3 在C語言中輸入捕獲模式 157
7.11 基於C語言的伺服電機控制的PWM系統 158
7.12 小結 162
7.13 參考文獻 162
7.14 本章習題 163
第8章 Atmel AVR系列微控制器運行參數和接口 164
8.1 概述 164
8.2 運行參數 165
8.3 電池供電 167
8.3.1 嵌入式系統電壓和電流消耗規格 167
8.3.2 電池特性 167
8.4 輸入設備 168
8.4.1 開關 168
8.4.2 開關接口電路中的上拉電阻 169
8.4.3 開關去抖動 169
8.4.4 鍵盤 170
8.4.5 感測器 174
8.4.6 LM34溫度感測器案例 176
8.5 輸出設備 176
8.5.1 發光二極體 176
8.5.2 七段碼LED顯示 176
8.5.3 代碼樣例 178
8.5.4 三態LED指示燈 179
8.5.5 點陣屏 180
8.5.6 使用C編程液晶字元顯示屏(LCD) 182
8.5.7 使用Arduino開發環境編程液晶字元顯示屏(LCD) 188
8.5.8 大功率直流設備 189
8.6 直流電磁閥控制 189
8.7 直流電機速度和方向控制 190
8.7.1 直流電機運行參數 191
8.7.2 H橋方向控制 191
8.7.3 伺服電機接口 192
8.7.4 步進電機控制 192
8.7.5 交流設備 198
8.8 驅動其他設備 199
8.8.1 報警器、蜂鳴器 199
8.8.2 振動電機 199
8.9 擴展實例1:自動風扇製冷系統 200
8.10 擴展實例2:藝術燈光系統 207
8.11 擴展實例3:飛行模擬器操控面板 211
8.12 擴展實例4:潛水機器人 231
8.12.1 需求 233
8.12.2 結構圖 233
8.12.3 電路圖 234
8.12.4 UML活動圖 234
8.12.5 微控制器程式 235
8.12.6 項目衍生 237
8.13 擴展實例5:氣象站 237
8.13.1 需求 237
8.13.2 結構圖 238
8.13.3 電路圖 238
8.13.4 UML活動圖 240
8.13.5 微控制器程式 241
8.14 小結 248
8.15 參考文獻 248
8.16 本章習題 249
附錄A ATmega328暫存器設定 252
附錄B ATmega328頭檔案 256
  

相關詞條

熱門詞條

聯絡我們