Arduino 編程 : 實現夢想的工具和技術 (Arduino Sketches: Tools and Techniques for Programming Wizardry)

James A. Langbridge

買這商品的人也買了...

商品描述

內容特色:
Arduino編程涵蓋了學習Arduino所需的各方面知識。更關鍵的是,Arduino編程解析了Arduino的編程語言,以及在根據設計需要添加程序庫之後我們可以獲得哪些額外的功能。同時貫穿整Arduino編程的大量實例對電子電路方面的知識也進行了講解。
閱讀Arduino編程,Arduino可以變成你的“畫布”,而你所編寫的程序可以成就你的數字傑作。Arduino編程非常適合創客,幫助他們創造出令人驚訝的應用程序,讓日常任務智能化。並且Arduino編程也同樣適用於對Arduino編程感興趣的開發者。
閱讀Arduino編程你將學到:
通過以太網、Wi-Fi、USB、Firmata的多種通信方式。
如何查找、導入和更新用戶庫,並學會創建自己的庫。
探究專門為外設創建的特定設備庫的用法。
掌握使用Arduino Due、Esplora、Yun和Robot板。
如何播放音頻,控制LED、鍵盤、鼠標,以及實現更多功能的好方法。

作者簡介

詹姆斯A.蘭布里奇是一名軟件顧問,專門從事嵌入式系統和代碼優化。他在航空、國防、工業領域及電信行業有超過十餘年的工作經驗。他也是意法半導體公司和Amtel的研發顧問。工作之餘他做過嵌入式系統工程師培訓工作,幫助開發人員快速獲得提升。或者做一些令他的同事愛不釋手的小玩意。
詹姆斯在他六歲的時候就寫了他人生的第1個程序,此後從未間斷。他開始使用蘋果IIs、ZX80s和ZX81s,隨後開始使用BBC Micros和Amiga,到後來開始使用計算機進行工作與創作。

目錄大綱

第1部分Arduino的基本知識
第1章Arduino的簡介
1.1 Atmel AVR 
1.2 Arduino項目
1.3 ATmega 
1.3.1 ATmega系列
1.3.2 ATtiny系列
1.3.3其他系列
1.4不同的Arduino 
1.4.1 Arduino Uno 
1.4.2 Arduino Leonardo 
1.4.3 Arduino Ethernet 
1.4.4 Arduino Mega 2560 
1.4.5 Arduino Mini 
1.4.6 Arduino Micro 
1.4.7 Arduino Due 
1.4.8 LilyPad Arduino 
1.4.9 Arduino Pro 
1.4.10 Arduino Robot 
1.4.11 Arduino Esplora 
1.4.12 Arduino Yún 
1.4.13 Arduino Tre 
1.4.14 Arduino Zero 
1.4.15你自己的Arduino 
1.5擴展板
1.5.1什麼是擴展板
1.5.2不同的擴展板
1.5.3 Arduino電動機擴展板
1.5.4 Arduino無線SD擴展板
1.5.5 Arduino以太網擴展板
1.5.6 Arduino WiFi擴展板
1.5.7 Arduino GSM擴展板
1.5.8你自己的擴展板
1.6你能用Arduino做什麼
1.7你需要為本書準備什麼
1.8小結

第2章Arduino編程
2.1安裝環境
2.1.1下載軟件
2.1.2運行軟件
2.1.3使用自己的IDE 
2.2你的第一個程序
2.3理解你的程序
2.4編程基礎
2.4.1變量和數據類型
2.4.2控制結構
2.4.3函數
2.4.4庫
2.5小結

第3章電子基礎
3.1電子入門
3.2電壓、電流和電阻
3.2.1電壓
3.2.2電流
3.2.3電阻
3.3基本元器件
3.3.1電阻
3.3.2電容
3.3.3二極管
3.3.4發光二極管
3.3.5晶體管
3.4麵包板
3.5輸入和輸出
3.6連接發光二極管
3.6.1計算
3.6.2軟件
3.6.3硬件
3.6.4接下來呢
3.7小結

第2部分標準程序庫
第4章Arduino語言
4.1 I/O函數
4.1.1數字I/O 
4.1.2模擬I/O 
4.1.3生成音調
4.1.4讀取脈衝
4.2時間函數
4.2.1 delay()
4.2.2 delayMicroseconds()
4.2.3 millis()
4.2.4 micros()
4.3數學函數
4.3.1 min()
4.3.2 max()
4.3.3 constrain()
4.3.4 abs()
4.3.5 map()
4.3.6 pow()
4.3.7 sqrt()
4.3.8 random()
4.4三角函數
4.4.1 sin()
4.4.2 cos()
4.4.3 tan()
4.4.4常量
4.5中斷
4.5.1 attachInterrupt()
4.5.2 detachInterrupt()
4.5.3 noInterrupt()
4.5.4 interrupts()
4.6小結

第5章串口通信
5.1串口通信的簡介
5.2 UART通信
5.2.1波特率
5.2.2數據位
5.2.3奇偶校驗位
5.2.4停止位
5.3調試和輸出
5.4啟動一個串行連接
5.5寫數據
5.5.1發送文本
5.5.2發送數據
5.6讀數據
5.6.1開始通信
5.6.2是否阻塞
5.6.3讀取一個字節
5.6.4讀取多個字節
5.6.5數據預覽
5.6.6解析數據
5.6.7清除
5.7示例編程
5.8軟件串口
5.9小結

第6章EEPROM 
6.1 EEPROM的簡介
6.2 Arduino上的不同存儲器
6.3 EEPROM庫
6.3.1讀取和寫入字節
6.3.2讀取和寫入位
6.3.3讀取和寫入字符串
6.3.4讀取和寫入其他值
6.3.5示例程序
6.4準備EEPROM存儲
6.5擴展非易失性存儲器
6.6小結

第7章SPI 
7.1 SPI的簡介
7.2 SPI總線
7.2.1與RS232比較
7.2.2配置
7.2.3通信
7.3 Arduino SPI 
7.4 SPI庫
7.5 Arduino Due上的SPI 
7.6示例程序
7.6.1硬件
7.6.2程序
7.6.3練習
7.7小結

第8章Wire 
8.1 Wire的簡介
8.2連接I2C 
8.3 I2C協議
8.3.1地址
8.3.2通信
8.4進行通信
8.4.1主機通信
8.4.2從機通信
8.5陷阱和缺陷
8.5.1不同電壓
8.5. 2總線速率
8.5.3 I2C擴展板
8.6小結

第9章Ethernet 
9.1以太網的簡介
9.2以太網
9.2.1以太網電纜
9.2.2交換機和集線器
9.2.3以太網供電
9.3 TCP/IP 
9.3.1 MAC地址
9.3.2 IP地址
9.3.3 DNS 
9.3. 4端口
9.4 Arduino上的以太網
9.4.1導入Ethernet庫
9.4.2開始構建以太網
9.5 Arduino作為客戶端
9.5.1發送和接收數據
9.5.2示例程序
9.5.3 Arduino作為服務器
9.5.4示例程序
9.6小結

第10章WiFi 
10.1引言
10.2 WiFi協議
10.2.1拓撲
10.2.2網絡參數
10.3 Arduino WiFi 
10.3.1導入庫
10.3.2初始化
10.3.3狀態
10.3.4掃描網絡
10.3.5連接和配置
10.3.6無線客戶端
10.3.7無線服務器
10.4示例應用
10.4.1硬件
10.4.2程序
10.4.3練習
10.5小結

第11章LiquidCrystal 
11.1引言
11.2 LiquidCrystal庫
11.2.1寫入文本
11.2.2光標命令
11.2.3文本方向
11.2.4滾動
11.2.5自定義文本
11.3示例程序
11.3.1硬件
11.3.2軟件
11.3.3練習
11.4小結

第12章SD 
12.1引言
12.2 SD卡
12.2.1容量
12.2.2速率
12.3在Arduino中使用SD卡
12.3.1公認的SD卡
12.3.2限制
12.4 SD庫
12.4.1導入庫
12.4.2連接SD卡
12.4.3打開和關閉文件
12.4.4讀取和寫入文件
12.4.5文件操作
12.4.6 SD卡操作
12.4.7高級用法
12.5示例程序
12.6小結

第13章TFT 
13.1引言
13.2技術
13.3 TFT庫
13.3.1初始化
13.3.2屏幕準備
13.3.3文本操作
13.3.4基本圖形
13.3.5上色
13.3.6圖形圖像
13.4示例程序
13.4.1硬件
13.4.2程序
13.4.3練習
13.5小結

第14章Servo 
14.1伺服電動機的簡介
14.2控制伺服電動機
14.2.1連接伺服電動機
14.2.2轉動伺服電動機
14.2.3斷開
14.2.4準確性與安全性
14.3示例程序
14.3. 1電路圖
14.3.2程序
14.3.3練習
14.4小結

第15章Stepper 
15.1電動機的簡介
15.2控制步進電動機
15.2.1硬件
15.2.2單極性與雙極性步進電動機
15.3 Stepper庫
15.4示例項目
15.4. 1硬件
15.4.2程序
15.5小結

第16章Firmata 
16.1 Firmata的簡介
16.2 Firmata庫
16.2.1發送消息
16.2.2接收消息
16.2.3回調
16.2.4 SysEx 
16.3示例程序
16.4小結

第17章GSM 
17.1全球移動通信系統( GSM)的簡介
17.2移動數據網絡
17.2.1 GSM 
17.2.2 3G 
17.2.3 4G和未來
17.2.4調製解調器
17.3 Arduino和GSM 
17.4 Arduino GSM庫
17.4.1 GSM類
17.4.2 SMS類
17.4.3 VoiceCall類
17.4 .4 GPRS 
17.4.5 Modem 
17.5應用示例
17.6小結

第3部分特殊設備程序庫
第18章Audio 
18.1音頻的簡介
18.2數字語音文件
18.3 Arduino上的音樂
18.4 Arduino Due
18.4.1數模轉換器
18.4.2數字音頻到模擬音頻
18.4.3創建數字音頻
18.4.4存儲數字音頻
18.4.5播放數字音頻
18.5示例程序
18.5.1硬件
18.5.2程序
18.5.3練習
18.6小結

第19章Scheduler 
19.1調度器的簡介
19.2 Arduino多任務
19.3調度
19.3.1多任務合作
19.3.2非合作函數
19.4示例程序
19.4.1硬件
19.4.2程序
19.4.3練習
19.5小結

第20章USBHost 
20.1 USBHost的簡介
20.2 USB協議
20.3 USB設備
20.3.1鍵盤
20.3.2鼠標
20.3.3集線器
20.4 Arduino Due 
20.5 USBHost庫
20.5.1鍵盤
20.5.2鼠標
20.6示例程序
20.6.1硬件
20.6.2源代碼
20.7小結

第21章Esplora 
21.1 Esplora的簡介
21.2 Arduino Esplora庫
21.2.1 RGB LED 
21.2.2傳感器
21.2.3按鍵
21.2.4蜂鳴器
21.2.5 TinkerKit 
21.2.6 LCD模塊
21.3示例程序和練習
21.4小結

第22章Robot 
22.1 Robot庫的簡介
22.2 Arduino機器人
22.3 Robot庫
22.3.1控制板
22.3.2電動機板
22.4示例程序和練習
22.5小結

第23章Bridge 
23.1 Bridge庫的簡介
23.2 Bridge 
23.2.1 Process 
23.2.2 FileIO 
23.2.3 YunServer 
23.2.4 YunClient 
23.3示例應用程序
23.3.1硬件
23.3.2程序
23.3.3練習
23.4小結

第4部分用戶程序庫和擴展板
第24章導入第三方庫
24.1庫
24.1.1查找庫
24.1.2導入一個庫
24.1.3使用擴展庫
24.2示例應用程序
24.3練習
24.4小結

第25章創建你自己的擴展板
25.1創建一個擴展板
25.1.1想法
25.1.2必備硬件
25.1.3必備軟件
25.2你的第一個擴展板
25.2.1第1步:麵包板
25.2.2第2步:原理圖
25.2 .3第3步: PCB 
25.3小結

第26章創建你自己的庫
26.1庫
26.1.1庫基礎
26.1.2初級庫
26.1.3高級庫
26.1.4添加註釋
26.1.5添加示例
26.1.6須知
26.1. 7編碼風格
26.1.8發布你的庫
26.1.9閉源庫
26.2示例庫
26.2.1庫
26.2.2示例
26.2.3須知
26.2.4收尾
26.3 小結