Arduino技術指南(簡體書)
- 编辑:admin -Arduino技術指南(簡體書)
確保開發乐成,在電子學、嵌入式系統及軟件、航天系統和科學應用開發等領域擁有30余年的從業經驗, 曾負責為鳳凰號火星探測器開發外貌成像軟件,www.1hxz.com,Arduino特有的編程環境, John M. Hughes 嵌入式系統工程師,他地址的一個小組還開發了新型合成外差激光过问干与儀,。
各種擴展板,Arduino使用的各種AVR微控制器。
可與Arduino一起事情的傳感器、繼電器模塊、小鍵盤以及其他附加組件,介紹各種阐明設計問題、定義實體與可測試需求的要领, 本書主要講解了Arduino開發板的物理特性與接口成果,1password,用于校正韋伯太空望遠鏡鏡片的位置控制, 另著有《電子工程師必讀:元器件與技術》,www.513cy.cn,從零開始創建自定義擴展板的步驟,為沒有電子學專業配景的愛好者和創客系統介紹電子學中的硬件、元件、东西和技術, 前言 第 1 章 Arduino 家属 1 1.1 Arduino 簡史.1 1.2 Arduino 設備類型.2 1.3 Arduino 實物展示.3 1.4 Arduino 兼容設備.6 1.4.1 硬件兼容設備 6 1.4.2 軟件兼容設備 7 1.5 Arduino 命名約定.8 1.6 使用Arduino 可以實現的目的9 1.7 更多信息 .11 第 2 章 AVR 微控制器 .12 2.1 配景.12 2.2 內部架構 .13 2.3 內部存儲器 .16 2.4 外圍成果 .16 2.4.1 控制寄存器 16 2.4.2 數字I O 端口 .17 2.4.3 8 位定時器 計數器 18 2.4.4 16 位定時器 計數器 19 2.4.5 定時器 計數器預分頻器 .19 2.5 模擬比較器 .19 2.6 模數轉換器 .20 2.7 串行I O.21 2.7.1 USART 22 2.7.2 SPI .22 2.7.3 TWI .23 2.8 中斷 24 2.9 看門狗定時器 .26 2.10 電氣特性 .26 2.11 更多信息 .27 第3 章 Arduino 專用AVR 微控制器 .28 3.1 ATmega168 328 29 3.1.1 內存 29 3.1.2 特性 29 3.1.3 封裝 30 3.1.4 端口 31 3.1.5 引腳電路 31 3.1.6 模擬比較器輸入 31 3.1.7 模擬輸入 32 3.1.8 串行接口 32 3.1.9 定時器 時鐘I O .33 3.1.10 外部中斷 33 3.1.11 Arduino 引腳分派 34 3.1.12 根基電氣特性 35 3.2 ATmega1280 ATmega2560 35 3.2.1 內存 35 3.2.2 特性 37 3.2.3 封裝 37 3.2.4 端口 37 3.2.5 引腳成果 38 3.2.6 模擬比較器輸入 38 3.2.7 模擬輸入 39 3.2.8 串行接口 39 3.2.9 定時器 時鐘I O .40 3.2.10 外部中斷 41 3.2.11 Arduino 引腳分派 41 3.2.12 電氣特性 44 3.3 ATmega32U4 44 3.3.1 內存 44 3.3.2 特性 45 3.3.3 封裝 46 3.3.4 端口 46 3.3.5 引腳成果 47 3.3.6 模擬比較器輸入 47 3.3.7 模擬輸入 47 3.3.8 串行接口 48 3.3.9 定時器 時鐘I O .49 3.3.10 外部中斷 50 3.3.11 USB2.0 接口 .51 3.3.12 電氣特性 52 3.3.13 Arduino 引腳分派 52 3.4 熔絲位 .53 3.5 更多信息 .55 第4 章 Arduino 技術細節 .56 4.1 Arduino 特性與成果.56 4.2 Arduino USB 接口 57 4.3 Arduino 物理巨细.59 4.3.1 全尺寸根基Arduino PCB 類型.60 4.3.2 Mega 類型的Arduino PCB .61 4.3.3 小型Arduino PCB62 4.3.4 非凡用途PCB 類型 .65 4.4 Arduino 引腳机关.66 4.4.1 Arduino 基線引腳机关 66 4.4.2 擴展基線引腳机关 67 4.4.3 Mega 引腳机关 72 4.4.4 非標準机关 74 4.5 更多信息 78 第5 章 對Arduino 與AVR 微控制器編程 .79 5.1 微控制器交错編譯 .80 5.2 BootLoader 81 5.3 Arduino IDE 環境 .83 5.3.1 安裝Arduino IDE 84 5.3.2 配置Arduino IDE 85 5.4 使用Arduino IDE 進行交错編譯 86 5.4.1 Arduino 可執行映像 89 5.4.2 Arduino 軟件創建過程 89 5.4.3 措施標簽卡 90 5.4.4 Arduino 軟件架構 91 5.4.5 運行時支持:main() 函數 92 5.4.6 措施示例 94 5.4.7 常量 97 5.4.8 全局變量 97 5.5 庫 .98 5.5.1 在Arduino 措施中使用庫 .98 5.5.2 將庫添加到Arduino IDE 101 5.5.3 創建自定義庫 103 5.6 Arduino 源代碼.103 第6 章 不使用Arduino IDE 編程 .105 6.1 IDE 替換方案 .105 6.1.1 PlatformIO 105 6.1.2 Ino .107 6.2 AVR 东西鏈 .108 6.2.1 安裝东西鏈 111 6.2.2 make 112 6.2.3 avr-gcc.113 6.2.4 binutils 113 6.2.5 avr-libc 116 6.3 從零開始構建C 或C++ 措施 .118 6.3.1 使用avr-gcc 或avr-g++ 進行編譯 118 6.3.2 多個源文件與make 措施 118 6.4 AVR 匯編語言 .120 6.4.1 AVR 編程模型 .121 6.4.2 創建AVR 匯編語言措施 123 6.4.3 AVR 匯編語言資源 .125 6.5 上傳AVR 可執行代碼 126 6.5.1 系統內編程 126 6.5.2 使用Bootloader 編程 .127 6.5.3 不使用Bootloader 上傳 .127 6.5.4 JTAG .129 6.5.5 AVRDUDE .129 6.5.6 將Arduino 用作ISP 131 6.5.7 Bootloader 運作 131 6.5.8 更換Bootloader 133 6.6 小結 .133 第7 章 Arduino 庫 .134 7.1 庫組件 .134 7.1.1 EEPROM 136 7.1.2 Ethernet .138 7.1.3 Firmata 144 7.1.4 GSM 148 7.1.5 LiquidCrystal 157 7.1.6 SD .160 7.1.7 Servo .163 7.1.8 SPI .164 7.1.9 SoftwareSerial .165 7.1.10 Stepper 167 7.1.11 TFT .167 7.1.12 Wi-Fi .170 7.1.13 Wi-Fi 類 172 7.1.14 IPAddress 類 172 7.1.15 Server 類 172 7.1.16 Client 類 173 7.1.17 UDP 類 173 7.1.18 Wire .174 7.1.19 Esplora .176 7.2 第三方庫 .179 第8 章 擴展板 182 8.1 擴展板的電氣特性 .183 8.2 擴展板的物理特性 .184 8.3 堆疊擴展板 .186 8.4 常用Arduino 擴展板186 8.4.1 輸入 輸出 .187 8.4.2 I O 擴展板 187 8.4.3 I O 拓展板 191 8.4.4 繼電器擴展板 194 8.4.5 信號路由擴展板 196 8.4.6 存儲器 199 8.4.7 通信 201 8.4.8 串行I O 與MIDI .201 8.4.9 Ethernet .202 8.4.10 藍牙 204 8.4.11 USB .205 8.4.12 ZigBee .207 8.4.13 CAN 208 8.4.14 原型 211 8.4.15 建造自定義原型擴展板 213 8.4.16 運動控制 214 8.4.17 DC 與步進電機控制 214 8.4.18 PWM 與舵機控制 216 8.4.19 顯示器 217 8.4.20 儀表擴展板 223 8.4.21 適配器擴展板 225 8.4.22 混雜擴展板 226 8.5 很是見Arduino 擴展板230 8.6 資源 231 第9 章 模塊與I O 組件 .233 9.1 模塊234 9.1.1 物理外形 235 9.1.2 接口 235 9.1.3 模塊來源 238 9.1.4 模塊說明 238 9.2 Grove 模塊 260 9.3 傳感器與模塊介紹 .261 9.4 傳感器 .262 9.4.1 溫度、濕度、壓力傳感器 263 9.4.2 傾斜傳感器 267 9.4.3 聲音傳感器 268 9.4.4 光線傳感器 269 9.4.5 磁場傳感器 272 9.4.6 振動與敲擊傳感器 273 9.4.7 運動傳感器 274 9.4.8 接觸與位置傳感器 275 9.4.9 距離傳感器 278 9.5 通信 279 9.5.1 APC220 無線模塊 279 9.5.2 315 433 MHz RF 模塊 .280 9.5.3 ESP8266 收發器.280 9.6 輸出設備與元件 .281 9.6.1 光源 281 9.6.2 繼電器、電機與舵機 285 9.6.3 模擬信號輸出 287 9.7 用戶輸入 .288 9.7.1 鍵盤 288 9.7.2 搖桿 289 9.7.3 電位器與旋轉編碼器 289 9.8 用戶輸出 .289 9.8.1 文本顯示器 290 9.8.2 圖形顯示器 291 9.9 支持成果 .291 9.9.1 時鐘 292 9.9.2 定時器 293 9.10 連接 294 9.10.1 使用裸露跳線 294 9.10.2 模塊連接系統 294 9.10.3 本身動手建造連接器 295 9.10.4 選擇連接要领 297 9.11 供應商資源 .297 9.12 小結 .297 第 10 章 本身動手建造元件 .299 10.1 準備事情 .301 10.2 建造擴展板 .305 10.2.1 物理考慮 .306 10.2.2 堆疊擴展板 .307 10.2.3 電氣考慮 .308 10.3 建造GreenShield 擴展板 .309 10.3.1 目標 .309 10.3.2 定義與規劃 .309 10.3.3 設計 .310 10.3.4 建造原型 .316 10.3.5 **終軟件 .322 10.3.6 裝配 .328 10.3.7 **終驗收測試 .332 10.3.8 運行 .333 10.3.9 后續步驟 .334 10.4 建造與Arduino 兼容的PCB .334 10.5 Switchinator 335 10.5.1 定義與規劃 .335 10.5.2 設計 .336 10.5.3 原型 .347 10.5.4 軟件 .350 10.5.5 制造 .353 10.5.6 驗收檢測 .356 10.5.7 后續步驟 .356 10.6 資源 .356 第 11 章 項目:可編程信號發生器 358 11.1 項目目標 .360 11.2 定義與規劃 .360 11.3 設計 362 11.3.1 成果 .362 11.3.2 外殼 .363 11.3.3 電路圖 .364 11.4 搭建原型 .366 11.4.1 控制輸入與模式 .367 11.4.2 顯示輸出 .368 11.4.3 DDS 模塊 369 11.5 軟件 .370 11.5.1 源代碼組織 .371 11.5.2 軟件描述 .372 11.5.3 DDS 庫 378 11.5.4 測試 .379 11.6 **終組裝 .382 11.6.1 上拉電阻陣列 .382 11.6.2 輸入保護 .383 11.6.3 機箱外殼 .384 11.6.4 DC 電源.386 11.7 **終測試與結束 .386 11.8 削減開支 .387 11.9 本钱明細 .388 11.10 資源 .389 第 12 章 項目:智能調溫器 .390 12.1 配景 390 12.1.1 HVAC 概述 .391 12.1.2 溫度控制基礎 .392 12.1.3 智能溫度控制 .394 12.2 項目目標 .395 12.3 定義與規劃 .395 12.4 設計 .396 12.4.1 成果 .396 12.4.2 外殼 .397 12.4.3 電路圖 .399 12.4.4 軟件 .399 12.4.5 用戶輸入 輸出 402 12.4.6 控制輸出 .406 12.5 原型 406 12.5.1 DHT22 傳感器 407 12.5.2 旋轉編碼器 .408 12.5.3 實時時鐘模塊 .409 12.5.4 LCD 擴展板 410 12.6 軟件 .410 12.6.1 源代碼組織 .410 12.6.2 軟件描述 .410 12.6.3 測試 .413 12.7 **終版本 .413 12.7.1 組裝 .414 12.7.2 測試與運行 .416 12.8 本钱明細 .417 12.9 后續步驟 .417 12.10 資源 .418 第 13 章 模型火箭發射器:設計研究 419 13.1 概覽 419 13.2 設計周期 .420 13.3 目標 421 13.4 選擇與定義成果需求 .423 13.5 進行开端設計 .426 13.5.1 設計可行性 .429 13.5.2 初始元件列表 .432 13.6 原型 432 13.7 **終設計 .433 13.7.1 電氣特征 .433 13.7.2 物理外形 .438 13.7.3 軟件 .440 13.7.4 測試與運行 .442 13.8 整天职析 .443 附錄A 东西與配件 444 附錄B AVR ATmega 控制寄存器 455 附錄C Arduino 與兼容產品廠商 477 附錄D 推薦閱讀 482 附錄E Arduino 與AVR 軟件開發东西 .484 關于作者.487 關于封面 487 。