本書是由小左實驗室所有成員共同編寫的一本極具學習價值和參考價值的圖書。本書主要以ArduinoMega2560為主線,展開對Arduino各方面知識系統(tǒng)全面的講解,通過豐富詳盡的例程講授當前流行的Arduino知識,使初學者可以很快入手,并且創(chuàng)造出自己的Arduino項目。同時,本書采用手把手的教學方式,使讀者學會如何使用各種電子元件,以及學會如何實現(xiàn)使用Arduino編程對各電子元件的控制和通信。第1章詳細地介紹了ArduinoMega2560的硬件資源及Arduino的編程環(huán)境;第2章講述了Arduino語言的程序結(jié)構(gòu)、基本語句、程序控制、操作符、變量、基本函數(shù)等;第3~6章通過實驗的方法分別介紹了ArduinoMega2560的串口通信、I/O端口和時間函數(shù)的操作、模擬信號的采集并實現(xiàn)A-D轉(zhuǎn)換及PWM的輸出;第7章主要介紹了Arduino內(nèi)部庫,類的定義、結(jié)構(gòu)、使用和特性;第8~11章主要通過實驗的方法介紹了Arduino內(nèi)部庫和類的使用、I2C通信、SPI通信、Interrupt中斷、鍵盤顯示和數(shù)據(jù)存儲。
本書將針對自動化工程、電氣工程程序設計零基礎的學生或工程師,培養(yǎng)他們對單片機Arduino(C++)語言編程及其外圍電路的設計能力,增強他們對單片機的親近感和應用理解。通過本書的學習,使大家掌握單片機的基本原理,獨立設計單片機外圍電路,編寫單片機的Arduino程序,掌握嵌入式系統(tǒng)的面向?qū)ο蟪绦蛟O計方法。
本書內(nèi)容分為兩部分,共11章,基礎部分(第1~6章):主要講解Arduino開發(fā)板、Arduino程序與C++語言、串口通信、I/O端 口、A-D采樣、PWM輸出與模擬信號。進階部分(第7~11章)主要講解與外圍電路的通信,及一些實用編程技術(shù)和應用,例如,類設計與庫、I2C通信、SPI通信、中斷、數(shù)據(jù)存儲。
本書內(nèi)容淺顯易懂,實現(xiàn)方法多變,鼓勵以自學為主,以動手實踐為輔,內(nèi)容學習之后安排電路搭建實驗或程序設計實驗作為練習。
本書適用人群與閱讀目標:
本書將針對電氣工程、自動化工程、電子工程、通信工程以及非信息類工程有一定電路基礎的學生和工程師,培養(yǎng)他們對單片機Arduino(C++)語言編程及其外圍電路的設計能力,增強他們對單片機的親近感和應用理解。
內(nèi)容特色:
通過本書的學習,使學生完全掌握單片機的基本原理和工程應用,能夠獨立設計單片機外圍電路,編寫單片機的Arduino程序,基本掌握嵌入式系統(tǒng)的面向?qū)ο蟪绦蛟O計方法。
目 錄
前言
第1章 Arduino初解與Mega2560實驗板1
1.1 Arduino的前世今生2
1.2 Mega2560 R3開發(fā)板3
1.3 Arduino軟件安裝6
1.4 Arduino編程環(huán)境10
1.5 第一個程序運行13
1.6 硬件與軟件結(jié)合的產(chǎn)物14
第2章 Arduino程序與C++語言18
2.1 程序結(jié)構(gòu)19
2.2 基本編寫規(guī)則19
2.3 常量20
2.4 變量21
2.5 類型轉(zhuǎn)換函數(shù)22
2.6 數(shù)學表達式22
2.7 程序控制23
2.8 函數(shù)25
2.9 Arduino基本函數(shù)資源27
第3章 串口通信35
3.1 Arduino Mega2560與Arduino IDE連接36
3.2 TTL電平與RS-232串口通信36
3.3 串口通信協(xié)議與函數(shù)36
3.4 字符串通信38
3.5 Arduino程序運行監(jiān)控39
3.6 GPS模塊串口通信41
第4章 I/O端口與時間計數(shù)44
4.1 指定端口輸出與讀取46
4.2 時間函數(shù)47
4.3 8位數(shù)據(jù)直接讀寫49
4.4 七段LED數(shù)碼管50
第5章 A-D采樣與模擬信號采集55
5.1 模擬量讀取56
5.2 電位計讀取57
5.3 酒精濃度檢測58
5.4 濕度報警59
5.5 空速管差壓傳感器60
第6章 PWM波與模擬信號輸出63
6.1 PWM與LED燈亮度控制64
6.2 舵機ESC信號67
6.3 無刷電機ESC信號70
第7章 類設計、對象與庫73
7.1 Arduino庫74
7.2 類的特點74
7.3 類的構(gòu)成79
7.4 繼承80
7.5 類文件與庫83
第8章 I2C通信85
8.1 I2C通信電路與庫函數(shù)86
8.2 磁阻計數(shù)據(jù)讀取88
8.3 三軸加速度和角加速度讀取94
第9章 SPI通信104
9.1 SPI通信與電路105
9.2 SPI通信函數(shù)106
9.3 氣壓高度計數(shù)據(jù)讀取107
9.4 三軸加速度和三軸角速度傳感器SPI通信讀取113
第10章 中斷、鍵盤和顯示120
10.1 Arduino Mega2560開發(fā)板的中斷資源121
10.2 鍵盤輸入122
10.3 字符型液晶顯示模塊125
第11章 數(shù)據(jù)存儲131
11.1 E2PROM數(shù)據(jù)儲存與讀取132
11.2 I2C總線的E2PROM數(shù)據(jù)存儲與讀取134
11.3 SPI總線的SD存儲卡數(shù)據(jù)讀寫138