Arduino程序設(shè)計(jì)與實(shí)踐(第2版)
定 價(jià):69.8 元
- 作者:石鑫
- 出版時(shí)間:2025/8/1
- ISBN:9787121506857
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP368.1
- 頁(yè)碼:280
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)是筆者開(kāi)發(fā)Arduino及指導(dǎo)本科生參加全國(guó)教育機(jī)器人大賽的經(jīng)驗(yàn)總結(jié),包括Arduino驅(qū)動(dòng)和開(kāi)發(fā)環(huán)境、語(yǔ)法規(guī)則,程序結(jié)構(gòu)和基本函數(shù),紅外、溫度、濕度、人體紅外感應(yīng)、超聲波測(cè)距等多種傳感器的應(yīng)用及編程實(shí)例,直流電動(dòng)機(jī)、舵機(jī)、步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)控制及顯示模塊、無(wú)線模塊的應(yīng)用等硬件資源,智能搬運(yùn)小車(chē)、智能氣象站、飛行器、六足機(jī)器人等設(shè)計(jì)實(shí)例。本書(shū)結(jié)構(gòu)清晰,內(nèi)容完善,適合初學(xué)者學(xué)習(xí),也可作為創(chuàng)客/極客、電子愛(ài)好者的培訓(xùn)和參考用書(shū)。
原高校教師,主講課程:“電子技術(shù)”、“低頻電子線路”、“脈沖與數(shù)字電路”、“電機(jī)學(xué)”等;負(fù)責(zé)本校大學(xué)生電子設(shè)計(jì)競(jìng)賽培訓(xùn)和參賽的組織與實(shí)施,指導(dǎo)學(xué)員獲安徽省一等獎(jiǎng)5項(xiàng)、二等獎(jiǎng)3項(xiàng);個(gè)人獲國(guó)家科技進(jìn)步二等獎(jiǎng)1項(xiàng),軍隊(duì)科技進(jìn)步一、二、三等獎(jiǎng)各1項(xiàng);發(fā)表交流學(xué)術(shù)論文50余篇,EI檢索18篇。
第1章 初識(shí)Arduino
1.1 什么是Arduino
1.2 為何要使用Arduino
1.3 Arduino家族
1.4 Arduino IDE
1.4.1 選擇開(kāi)發(fā)板
1.4.2 選擇接口
1.4.3 編寫(xiě)程序代碼
1.4.4 保存程序代碼
1.4.5 程序代碼的編譯和燒錄
1.5 Arduino資源
第2章 Arduino程序設(shè)計(jì)基礎(chǔ)
2.1 Arduino語(yǔ)言
2.2 基本數(shù)據(jù)類(lèi)型
2.2.1 整型
2.2.2 浮點(diǎn)型
2.2.3 布爾型
2.2.4 字符型
2.2.5 字節(jié)型
2.3 數(shù)組和字符串
2.3.1 數(shù)組
2.3.2 字符串
2.4 運(yùn)算符
2.4.1 賦值運(yùn)算符
2.4.2 算術(shù)運(yùn)算符
2.4.3 關(guān)系運(yùn)算符
2.4.4 邏輯運(yùn)算符
2.4.5 遞增/減運(yùn)算符
2.5 程序結(jié)構(gòu)
2.5.1 順序結(jié)構(gòu)
2.5.2 選擇結(jié)構(gòu)
2.5.3 循環(huán)結(jié)構(gòu)
第3章 Arduino基本函數(shù)
3.1 數(shù)字接口函數(shù)
3.1.1 pinMode函數(shù)
3.1.2 digitalRead函數(shù)
3.1.3 digitalWrite函數(shù)
3.2 模擬接口函數(shù)
3.2.1 模擬輸入
3.2.2 PWM模擬輸出
3.3 數(shù)學(xué)函數(shù)
3.4 時(shí)間函數(shù)
3.4.1 millis()
3.4.2 delay(ms)
3.4.3 delayMicroseconds(value)
3.5 隨機(jī)函數(shù)
3.5.1 random(howsmall,howbig)
3.5.2 randomSeed(seed)
3.6 位操作函數(shù)
3.6.1 bitRead(val,num)
3.6.2 bitWrite(val,num1,num2)
3.7 串口通信函數(shù)
3.7.1 Serial.begin(speed)
3.7.2 Serial.available()
3.7.3 Serial.read()
3.7.4 Serial.write()
3.7.5 Serial.print()和Serial.println()
3.7.6 Serial.end()
3.8 中斷函數(shù)
3.8.1 中斷的概念
3.8.2 中斷的分類(lèi)
3.8.3 中斷的使用
3.9 SPI接口函數(shù)
3.9.1 概述
3.9.2 SPI接口的數(shù)據(jù)傳輸
3.9.3 Arduino SPI接口
3.9.4 SPI類(lèi)及其成員函數(shù)
第4章 Arduino硬件資源
4.1 電子元器件及開(kāi)發(fā)板的擴(kuò)展
4.1.1 電子元器件
4.1.2 開(kāi)發(fā)板的擴(kuò)展
4.2 數(shù)字I/O接口
4.3 模擬I/O接口
4.4 PWM接口
4.5 串口通信接口
4.6 中斷接口
第5章 傳感器模塊
5.1 紅外傳感器模塊
5.1.1 紅外避障傳感器
5.1.2 紅外尋線傳感器
5.1.3 紅外測(cè)距傳感器
5.1.4 紅外遙控傳感器
5.2 DHT11數(shù)字溫/濕度傳感器模塊
5.3 人體紅外感應(yīng)模塊
5.4 超聲波測(cè)距傳感器模塊
5.4.1 HC-SR04型超聲波測(cè)距傳感器模塊
5.4.2 利用串口輸出超聲波的測(cè)距實(shí)例
第6章 電動(dòng)機(jī)驅(qū)動(dòng)控制
6.1 直流電動(dòng)機(jī)驅(qū)動(dòng)控制
6.1.1 有刷直流電動(dòng)機(jī)(永久磁鐵型)
6.1.2 無(wú)刷直流電動(dòng)機(jī)
6.1.3 H橋控制電路
6.1.4 程序設(shè)計(jì)
6.2 舵機(jī)驅(qū)動(dòng)控制
6.2.1 舵機(jī)的控制信號(hào)和接線方式
6.2.2 舵機(jī)的控制程序
6.3 步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)控制
6.3.1 步進(jìn)電動(dòng)機(jī)的主要技術(shù)參數(shù)
6.3.2 步進(jìn)電動(dòng)機(jī)的接線
6.3.3 步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)板
6.3.4 步進(jìn)電動(dòng)機(jī)的程序設(shè)計(jì)
第7章 顯示模塊
7.1 LCD1602顯示模塊
7.1.1 常用工作指令
7.1.2 硬件連接
7.1.3 程序調(diào)試
7.2 MINILCD12864顯示模塊
7.2.1 通信方式
7.2.2 使用u8glib進(jìn)行驅(qū)動(dòng)
第8章 無(wú)線模塊
8.1 HC-06藍(lán)牙模塊
8.1.1 HC-06藍(lán)牙模塊與計(jì)算機(jī)之間進(jìn)行通信
8.1.2 Arduino UNO開(kāi)發(fā)板通過(guò)HC-06藍(lán)牙模塊與手機(jī)連接
8.2 ESP8266模塊
8.2.1 ESP8266模塊的介紹
8.2.2 ESP8266模塊的調(diào)試
8.2.3 Arduino UNO開(kāi)發(fā)板結(jié)合ESP8266模塊訪問(wèn)遠(yuǎn)程服務(wù)器
第9章 Arduino智能搬運(yùn)小車(chē)的設(shè)計(jì)
9.1 總體設(shè)計(jì)方案
9.1.1 智能搬運(yùn)小車(chē)的結(jié)構(gòu)
9.1.2 智能搬運(yùn)小車(chē)的功能
9.2 硬件設(shè)計(jì)
9.2.1 伺服電動(dòng)機(jī)
9.2.2 QTI尋跡傳感器
9.2.3 超聲波傳感器
9.2.4 顏色識(shí)別傳感器
9.3 軟件設(shè)計(jì)
9.3.1 軟件總體設(shè)計(jì)
9.3.2 顏色識(shí)別傳感器的尋跡算法
9.3.3 超聲波傳感器定位算法
9.3.4 白平衡和顏色識(shí)別算法
9.3.5 搬運(yùn)過(guò)程
9.4 設(shè)計(jì)心得
第10章 智能氣象站的設(shè)計(jì)
10.1 總體設(shè)計(jì)方案
10.1.1 主要功能
10.1.2 工作原理
10.2 硬件設(shè)計(jì)
10.2.1 主控模塊
10.2.2 DHT11數(shù)字溫/濕度傳感器
10.2.3 角位移傳感器
10.2.4 BMP085壓力傳感器
10.2.5 BH1750FVI光強(qiáng)度傳感器
10.2.6 硬件連接
10.3 軟件設(shè)計(jì)
10.3.1 總體流程圖
10.3.2 DHT11數(shù)字溫/濕度傳感器采集溫/濕數(shù)據(jù)
10.3.3 BH1750FVI光強(qiáng)度傳感器采集光強(qiáng)度數(shù)據(jù)
10.3.4 角位移傳感器采集風(fēng)向數(shù)據(jù)
10.3.5 BMP085壓力傳感器采集氣壓數(shù)據(jù)
10.3.6 本地存儲(chǔ)數(shù)據(jù)
第11章 Arduino飛行器的設(shè)計(jì)
11.1 總體設(shè)計(jì)方案
11.1.1 主要功能
11.1.2 工作原理
11.1.3 實(shí)現(xiàn)方案
11.2 硬件設(shè)計(jì)
11.2.1 機(jī)架
11.2.2 電動(dòng)機(jī)
11.2.3 電子調(diào)速器
11.2.4 螺旋槳
11.2.5 電池
11.2.6 飛行控制系統(tǒng)
11.2.7 遙控器
11.3 組裝調(diào)試
11.3.1 選擇導(dǎo)線并預(yù)穿導(dǎo)線
11.3.2 安裝無(wú)刷空心杯電動(dòng)機(jī)
11.3.3 安裝電子調(diào)速器
11.3.4 安裝飛行控制系統(tǒng)
11.3.5 QQ飛行控制系統(tǒng)與Arduino Mega 2560主控模塊的連接
11.4 軟件設(shè)計(jì)
第12章 Arduino六足機(jī)器人的設(shè)計(jì)
12.1 總體設(shè)計(jì)方案
12.1.1 主要功能
12.1.2 肢體結(jié)構(gòu)
12.1.3 控制系統(tǒng)
12.1.4 步態(tài)分析
12.2 硬件及其組裝
12.2.1 Arduino主控制板
12.2.2 舵機(jī)
12.2.3 舵機(jī)控制板
12.2.4 遙控器
12.2.5 組裝
12.2.6 PS2遙控器的接收器與舵機(jī)控制器的連接
12.2.7 六足機(jī)器人與Arduino主控制板的連接
12.3 軟件設(shè)計(jì)
12.3.1 舵機(jī)上位機(jī)軟件
12.3.2 六足機(jī)器人超聲波避障
12.3.3 六足機(jī)器人穿越障礙物
12.3.4 六足機(jī)器人紅外遙控
12.3.5 六足機(jī)器人紅外防跌落
參考文獻(xiàn)