Arduino程序設計基礎
《Arduino程序設計基礎》,陳呂洲 著,出版社: 北京航空航天大學出版社。
書,是歷史的見證、文化的賦形、知識的寶庫、智慧[1]的結晶,是一個民族一個國家顯示其文明的標誌。讀書,是時代的呼喚、歷史的昭示、職責的要求,是一個民族一個國家走向偉大復興的證明[2]。
目錄
內容簡介
Arduino不僅僅是全球的開源硬件,也是一個優秀的硬件開發平台,更是硬件開發的趨勢。Arduino簡單的開發方式使得開發者更關注於創意與實現,更快地完成自己的項目開發,大大節約學習的成本,縮短開發的周期。 《Arduino程序設計基礎(第2版)》是作者幾年間開發Arduino的經驗總結,純乾貨分享。本書針對大學教育編寫,體系結構清晰,開發細節完善,適合初學者學習,亦可以用於專業開發者查閱。
目錄
第1章 初識Arduino
1.1什麼是Arduino
1.2 Arduino的由來
1.3為什麼使用Arduino作為開發平台
1.4 Arduino硬件——選擇一款適合自己的Arduino控制器
1.4.1認識不同型號的Arduino控制器
1.4.2眾多的Arduino外圍模塊
1.4.3從Arduino UNO開始
1.5 Arduino軟件
1.5.1下載配置Arduino開發環境
1.5.2認識Arduino IDE
1.5.3安裝Arduino驅動程序
1.6 Blink——Arduino的Hello World!
第2章 基礎篇
2.1 Arduino語言及程序結構
2.1.1 Arduino語言
2.1.2 Arduino程序結構
2.2 C/C++語言基礎
2.2.1數據類型
2.2.2運算符
2.2.3表達式
2.2.4數組
2.2.5字符串
2.2.6注釋
2.2.7用流程圖表示程序
2.2.8順序結構
2.2.9選擇結構
2.2.10循環結構
2.3電子元件和Arduino擴展模塊
2.4傳感器擴展板的使用
2.5 Arduino I/O的簡單控制
2.5.1數字I/O的使用
2.5.2項目:人體感應燈(繼電器模塊與數字傳感器)
2.5.3模擬I/O的使用
2.5.4項目:電子溫度計
2.5.5數字傳感器與模擬傳感器的使用
2.6與計算機交流——串口的使用
2.6.1串口輸出
2.6.2串口輸入
2.6.3實驗:串口控制開關燈
2.7時間控制函數
2.7.1運行時間函數
2.7.2延時函數
第3章I/O口高級應用
3.1調聲函數
3.2項目:簡易電子琴
3.3脈衝寬度測量函數及超聲波測距
3.3.1脈衝寬度測量函數
3.3.2超聲波測距
3.4設置ADC參考電壓
3.5外部中斷
3.5.1外部中斷的使用
3.5.2實驗:外部中斷觸發蜂鳴器報警
第4章 使用和編寫類庫
4.1編寫並使用函數,提高程序的可讀性
4.2使用Arduino類庫
4.3編寫Arduino類庫
4.3.1編寫頭文件
4.3.2預處理命令
4.3.3宏定義
4.3.4文件包含
4.3.5條件編譯
4.3.6版本兼容
4.3.7編寫.cpp文件
4.3.8關鍵字高亮顯示
4.3.9建立示例程序
4.4類庫優化與發布
第5章 通信篇
5.1硬件串口通信——HardwareSerial類庫的使用
5.1.1 HardwareSerial類庫成員函數
5.1.2 print()和write()輸出方式的差異
5.1.3 read()和peek()輸入方式的差異
5.1.4串口讀取字符串
5.1.5串口事件
5.1.6串口緩衝區
5.1.7實驗:串口控制RGB LED調光
5.1.8更好的串口監視器——串口調試助手
5.2軟件模擬串口通信——SoftwareSerial類庫的使用
5.2.1 SoftwareSerial類庫的局限性
5.2.2 SoftwareSerial類庫成員函數
5.2.3建立一個軟串口通信
5.2.4實驗:Arduino間的串口通信
5.2.5同時使用多個軟串口
5.3 IIC總線的使用——Wire類庫的使用
5.3.1 IIC主機、從機與引腳
5.3.2 Wire類庫成員函數
5.3.3 IIC連接方法
5.3.4主機寫數據,從機接收數據
5.3.5從機發送數據,主機讀取數據
5.4 SPI總線的使用——SPI類庫的使用
5.4.1 SPI引腳
5.4.2 SPI總線上的從設備選擇
5.4.3 SPI類庫成員函數
5.4.4 SPI總線上的數據發送與接收
5.4.5實驗:使用數字電位器AD5206
5.4.6軟件模擬SPI通信
5.4.7實驗:使用74HC595擴展I/O口
第6章 存儲篇
6.1斷電也能保存數據——EEPROM類庫的使用
6.1.1 EEPROM類庫成員函數
6.1.2寫入操作
6.1.3讀取操作
6.1.4清除操作
6.1.5存儲各類型數據到EEPROM
6.2保存大量數據——SD卡類庫的使用
6.2.1格式化SD卡
6.2.2 SD卡類庫成員函數
6.2.3使用SD卡讀/寫模塊
6.2.4創建文件
6.2.5刪除文件
6.2.6寫文件
6.2.7讀文件
6.3項目:SD卡環境數據記錄器
6.3.1 DHT11溫濕度檢測模塊的使用
6.3.2硬件連接方法
6.3.3溫濕度記錄器
6.3.4在Excel中分析數據
第7章 無線通信篇——紅外遙控
7.1 IRremote類庫成員函數
7.2紅外接收
7.3紅外發射
7.4實驗:遙控家電設備
第8章LCD顯示篇
8.1 1602 LCD的使用——LiquidCrystal類庫的使用
8.1.1將1602 LCD與Arduino連接
8.1.2 1602 LCD相關參數
8.1.3 LiquidCrystal類庫成員函數
8.1.4實驗:「hello,world!」
8.1.5實驗:將串口輸入數據顯示到1602 LCD上
8.1.6實驗:顯示滾動效果
8.1.7實驗:顯示自定義字符
8.2項目:製作電子時鐘
8.2.1 DS1307時鐘模塊的使用
8.2.2電子時鐘
8.3圖形顯示器的使用——u8glib類庫的使用
8.3.1使用MINI12864顯示屏
8.3.2使用其他圖形液晶顯示器
8.3.3 u8glib程序結構
8.3.4純文本顯示
8.3.5數據顯示
8.3.6實驗:繪製圖形
8.3.7實驗:顯示圖片——位圖取模
第9章USB類庫的使用
9.1 USB設備模擬相關函數
9.1.1 USB鼠標類的成員函數
9.1.2 USB鍵盤類的成員函數
9.2模擬鍵盤輸入信息
9.2.1 Arduino Leonardo在模擬USB設備後,無法正常下載程序
9.2.2模擬鍵盤組合按鍵
9.3實驗:使用搖杆模塊控制計算機鼠標
9.4項目:PPT播放遙控器
第10章Ethernet類庫的使用
10.1 Ethernet相關硬件介紹
10.2 Ethernet類庫
10.2.1 Ethernet 類
10.2.2 IPAddress 類
10.2.3 EthernetServer類
10.2.4 EthernetClient類
10.3 Ethernet的初始化
10.3.1自定義IP地址
10.3.2 DHCP獲取IP地址
10.4通過Telnet建立簡易聊天室
10.4.1建立Arduino Telnet聊天服務器
10.4.2 Windows Telnet客戶端的使用
10.5 Ethernet與Web應用
10.5.1 HTTP協議簡介
10.5.2 HTTP響應
10.5.3網頁客戶端
10.5.4網頁服務器
10.6 UDP通信
10.6.1 EthernetUDP類
10.6.2使用UDP收/發數據
10.7項目:網頁控制Arduino
附錄
A.1使用專業IDE編寫Arduino項目
A.2常見問題及解決方法
A.3 Arduino Leonardo手冊
A.4 Arduino Due手冊
A.5 ASCII碼對照表
A.6串口通信可用的config配置
A.7 USB鍵盤庫支持的鍵盤功能按鍵列表
A.8常見Arduino型號的參數比較表
後記
參考文獻