Arduino是一個(gè)優(yōu)秀的開源硬件平臺,目前在全球有數(shù)以萬計(jì)的電子愛好者使用 Arduino開發(fā)項(xiàng)目和電子產(chǎn)品。Arduino具有廉價(jià)易學(xué)、開發(fā)迅捷等特點(diǎn),不僅是一個(gè)優(yōu)秀的開源硬件開發(fā)平臺,更成為了硬件開發(fā)的趨勢。
Arduino的探索是一個(gè)簡單有趣而且豐富多彩的過程,本書會利用 Arduino開發(fā)板做很多有趣的實(shí)驗(yàn),讓讀者從中學(xué)習(xí)到 Arduino對各類傳感器和執(zhí)行器的使用,以及在互聯(lián)網(wǎng)和物聯(lián)網(wǎng)(智能家居)中的應(yīng)用情況。這是一個(gè)電子化和互聯(lián)網(wǎng)化的時(shí)代,目前大學(xué)生都喜歡參與各種機(jī)器人大賽,也喜歡自己動手 DIY各種小硬件。本書正是抓住大學(xué)生群體的這種創(chuàng)造性,特意編寫而成,以促進(jìn)
他們的創(chuàng)新意識和創(chuàng)造能力。
本書結(jié)構(gòu)清楚,內(nèi)容豐富,涵蓋了從軟硬件基礎(chǔ)知識到開發(fā)項(xiàng)目的實(shí)際操作,從簡單的閃燈程序到復(fù)雜的智能家居、機(jī)械手臂等項(xiàng)目,從 Arduino簡單的語法到編寫 Arduino程序和類庫,講解全面,方便讀者對 Arduino進(jìn)行全面系統(tǒng)的學(xué)習(xí)。
本書特點(diǎn)
1.內(nèi)容豐富,知識全面
全書分為三篇共 7章,采用從基礎(chǔ)到復(fù)雜、循序漸進(jìn)地進(jìn)行講解,內(nèi)容幾乎涉及了 Arduino開發(fā)的各個(gè)方面。
2.循序漸進(jìn),由淺入深
為方便讀者學(xué)習(xí),本書首先介紹 Arduino的背景以及發(fā)展過程,在安裝好開發(fā)環(huán)境后從閃燈程序講起,由點(diǎn)到面,層層深入到編譯原理、操作系統(tǒng)的知識,從單片機(jī)深入到內(nèi)核,以小例子開始深入到復(fù)雜的案例,層次分明,引人入勝。
3.格式統(tǒng)一,講解規(guī)范
書中每個(gè)知識點(diǎn)都盡可能給出了詳盡的操作示例供讀者參考,通過編程實(shí)踐可以使讀者更清晰地了解每個(gè)知識點(diǎn)的細(xì)節(jié),提高學(xué)習(xí)效率。在每個(gè)章節(jié)的最后均有本章重點(diǎn)知識的總結(jié),方便讀者有重點(diǎn)地學(xué)習(xí)。講解過程中對初學(xué)者容易忽略的地方,都給出了小貼士。
4.保留精華,結(jié)合實(shí)踐
在講解語法和介紹函數(shù)等章節(jié)中,本書既保留了官方經(jīng)典的函數(shù)說明和函數(shù)舉例,又結(jié)合小程序加以實(shí)踐,讓讀者在學(xué)習(xí)過程中體會到互動以及原理實(shí)踐相結(jié)合的樂趣。
5.實(shí)驗(yàn)豐富,對比清晰
本書提供了豐富的實(shí)驗(yàn)內(nèi)容,涉及面廣泛,每個(gè)實(shí)驗(yàn)都提供完整的原理圖、連接示意圖和代碼。為了加深理解,本書中幾乎每個(gè)實(shí)驗(yàn)都有不止一個(gè)實(shí)驗(yàn)任務(wù),使讀者橫向?qū)W習(xí) Arduino操作的多樣性。
6.代碼精煉,拿來即用
本書提供的實(shí)驗(yàn)代碼都做到盡可能精煉,以便突出重點(diǎn),讓讀者短時(shí)間內(nèi)了解程序結(jié)構(gòu)和邏輯。所有試驗(yàn)代碼均通過測試,讀者可以拿來即用,也可以在調(diào)試過程中參考。
本書結(jié)構(gòu)
本書分為三篇共 7章,主要章節(jié)內(nèi)容規(guī)劃如下。
第一篇(第 1~3章)初識 Arduino
講述了 Arduino起源與背景、產(chǎn)品與種類介紹、搭建開發(fā)環(huán)境、語法學(xué)習(xí)、內(nèi)核介紹和電子基礎(chǔ)知識。
第二篇(第 4~6章)探索 Arduino
本章首先對 Arduino常用的函數(shù)及使用的傳感器、電機(jī)、網(wǎng)絡(luò)等硬件進(jìn)行介紹。然后對 Arduino項(xiàng)目進(jìn)行了深入性研究,其中第 5章介紹了幾個(gè)復(fù)雜的 Arduino項(xiàng)目,包括智能家居、機(jī)械手臂、遙控小車、貪食蛇等項(xiàng)目。第 6章為使用 Arduino與第三方軟件進(jìn)行互動制作的內(nèi)容,包括 Arduino與 Processing、Arduino與 Flash的互動。
第三篇(第 7章)深入 Arduino
本章為 Arduino項(xiàng)目的開發(fā)經(jīng)驗(yàn),包括 Arduino項(xiàng)目開發(fā)時(shí)應(yīng)注意的流程問題、面向?qū)ο箝_發(fā)的相關(guān)知識、Arduino自帶類庫的講解,最后還通過編寫一個(gè)音樂播放器類庫來豐富讀者的所學(xué)。
本書讀者
. Arduino入門者與電子產(chǎn)品愛好者
.使用 Arduino制作項(xiàng)目的開發(fā)人員
.大中專院校的學(xué)生
.培訓(xùn)學(xué)校相關(guān)專業(yè)的師生
本書作者
本書第 1~4章由韓廣義編寫,第 5~7章由長春職業(yè)技術(shù)學(xué)院的宋楠編寫,終稿由宋楠審核。參與本書創(chuàng)作的作者包括李海燕、李春城、李柯泉、陳超、杜禮、孔峰、孫澤軍、王剛、楊超、張光澤、趙東、李玉莉、劉巖、潘玉亮、林龍,在此表示感謝。
配套源代碼下載
本書源代碼下載地址(注意字母大小寫)為:http://pan.baidu.com/s/1c0laDsW
編者
2014年 7月
第 1章進(jìn)入 Arduino的世界
1.1 什么是 Arduino
1.1.1 Arduino不只是電路板
1.1.2 Arduino程序的開發(fā)過程
1.2 為什么要使用 Arduino
1.3 Arduino硬件的分類
1.3.1 Arduino開發(fā)板
1.3.2 Arduino 擴(kuò)展硬件
1.4 Arduino展望未來
1.4.1 創(chuàng)客文化
1.4.2 快速原型設(shè)計(jì)
1.5 本章小結(jié)
第 2章開始 Arduino之旅
2.1 搭建開發(fā)環(huán)境
2.1.1 交叉編譯 第 1章進(jìn)入 Arduino的世界
1.1 什么是 Arduino
1.1.1 Arduino不只是電路板
1.1.2 Arduino程序的開發(fā)過程
1.2 為什么要使用 Arduino
1.3 Arduino硬件的分類
1.3.1 Arduino開發(fā)板
1.3.2 Arduino 擴(kuò)展硬件
1.4 Arduino展望未來
1.4.1 創(chuàng)客文化
1.4.2 快速原型設(shè)計(jì)
1.5 本章小結(jié)
第 2章開始 Arduino之旅
2.1 搭建開發(fā)環(huán)境
2.1.1 交叉編譯
2.1.2 在 Windows上安裝 IDE
2.1.3 在 Linux上安裝 IDE
2.1.4 在 Mac OS上安裝 IDE
2.1.5 Arduino IDE介紹
2.2 常用的 Arduino第三方軟件介紹
2.2.1 圖形化編程軟件 ArduBlock
2.2.2 Arduino仿真軟件 Virtual breadboard .
2.3 第一次上手 Arduino
2.3.1 加載第一個(gè)程序
2.3.2 用 Arduino IDE開發(fā)程序流程
2.3.3 函數(shù)庫和程序架構(gòu)介紹
2.3.4 Hello World做了什么
2.4 Arduino語法——變量和常量
2.4.1 變量
2.4.2 常量
2.5 Arduino語法——數(shù)據(jù)類型
2.5.1 常用的數(shù)據(jù)類型
2.5.2 數(shù)據(jù)類型轉(zhuǎn)換
2.5.3 自定義數(shù)據(jù)類型
2.6 Arduino語法——數(shù)組
2.6.1 創(chuàng)建或聲明一個(gè)數(shù)組
2.6.2 指定或訪問數(shù)組
2.7 Arduino語法——運(yùn)算符
2.7.1 賦值運(yùn)算符
2.7.2 算數(shù)運(yùn)算符
2.7.3 關(guān)系運(yùn)算符
2.7.4 邏輯運(yùn)算符
2.7.5 遞增/減運(yùn)算符
2.8 Arduino語法——條件判斷語句 if語句
2.9 Arduino語法——循環(huán)語句
2.9.1 for循環(huán)
2.9.2 while循環(huán)
2.10 Arduino語法—函數(shù)
2.11 Arduino語法——輸入與輸出
2.11.1 數(shù)字的輸入與輸出
2.11.2 模擬輸入輸出
2.12 本章小結(jié)
第 3章進(jìn)入硬件的世界
3.1 單片機(jī)簡介
3.2 Atmel AVR單片機(jī)
3.2.1 Arduino與 AVR
3.2.2 芯片封裝
3.2.3 管腳定義及指令系統(tǒng)
3.2.4 AVR內(nèi)核
3.2.5 片內(nèi)外圍設(shè)備介紹
3.3 電子技術(shù)基礎(chǔ)學(xué)習(xí)
3.3.1 電路圖
3.3.2 電子元件
3.3.3 基本工具介紹
3.4 本章小結(jié)
第 4章 Arduino示例演練
4.1 制作 LCD溫度顯示器
4.1.1 硬件準(zhǔn)備
4.1.2 有關(guān)硬件的小貼士
4.1.3 設(shè)計(jì)電路
4.1.4 編寫代碼
4.2 再探 Arduino語言
4.2.1 位操作
4.2.2 數(shù)學(xué)函數(shù)
4.2.3 隨機(jī)函數(shù)
4.2.4 高級輸入輸出
4.2.5 時(shí)間函數(shù)
4.2.6 中斷
4.2.7 中斷的使用
4.3 用 Arduino制作火焰報(bào)警器
4.3.1 硬件準(zhǔn)備
4.3.2 有關(guān)硬件的小貼士
4.3.3 電路設(shè)計(jì)
4.3.4 程序設(shè)計(jì)
4.4 Arduino與傳感器的互動
4.4.1 傳感器的簡介
4.4.2 Arduino如何使用傳感器 .
4.4.3 利用傳感器設(shè)計(jì)更棒的互動應(yīng)用
4.5 用 Arduino驅(qū)動電機(jī)
4.5.1 電機(jī)簡介
4.5.2 Arduino與直流電機(jī)的應(yīng)用
4.5.3 Arduino與步進(jìn)電機(jī)的應(yīng)用
4.5.4 Arduino與舵機(jī)的應(yīng)用
4.6 用 Arduino訪問網(wǎng)絡(luò)
4.6.1 Arduino如何連接網(wǎng)絡(luò)
4.6.2 Arduino與 Yeelink的互動制作
4.6.3 Arduino和 Web服務(wù)器通信
4.6.4 Arduino用作 Web服務(wù)器
4.7 Arduino與無線通信
4.7.1 無線通信簡介
4.7.2 無線通信協(xié)議有哪些
4.7.3 Wi-Fi
4.7.4 藍(lán)牙
4.7.5 ZigBee
4.7.6 移動通信
4.8 本章小結(jié)
第 5章 Arduino項(xiàng)目演練
5.1 項(xiàng)目 1——用 Arduino打造智能家居
5.1.1 現(xiàn)狀與前景分析
5.1.2 設(shè)計(jì)系統(tǒng)結(jié)構(gòu)與流程
5.1.3 硬件準(zhǔn)備
5.1.4 模型與部分示例
5.2 項(xiàng)目 2——用 Arduino遙控小車
5.2.1 硬件準(zhǔn)備
5.2.2 硬件主要功能分析
5.2.3 編寫代碼
5.2.4 組裝與測試
5.3 項(xiàng)目 3——基于 nRF24L01+無線模塊控制的機(jī)械手臂
5.3.1 硬件準(zhǔn)備
5.3.2 硬件主要功能解析
5.3.3 編寫代碼
5.3.4 組裝與測試
5.4 項(xiàng)目 4——用 Arduino制作貪食蛇小游戲
5.4.1 硬件準(zhǔn)備
5.4.2 硬件主要功能分析
5.4.3 編寫代碼
5.4.4 程序運(yùn)行
5.5 本章小結(jié)
第 6章 Arduino與媒體互動制作
6.1 Arduino與 Processing
6.1.1 什么是 Processing
6.1.2 Arduino與 processing互動制作
6.2 Arduino與 Flash
6.2.1 Flash簡介
6.2.2 Arduino與 Flash互動制作
6.3 本章小結(jié)
第7章 進(jìn)行Arduino項(xiàng)目開發(fā)
7.1 項(xiàng)目管理要知道的事兒
7.1.1 項(xiàng)目需求分析
7.1.2 硬件準(zhǔn)備
7.1.3 創(chuàng)建項(xiàng)目
7.1.4 編寫代碼
7.1.5 團(tuán)隊(duì)開發(fā)與資料獲取
7.1.6 選擇許可方式
7.1.7 開源軟件發(fā)布許可方式
7.2 如何在項(xiàng)目中編寫類庫
7.2.1 面向過程與面向?qū)ο?br />7.2.2 類的概念
7.2.3 類是分層的
7.2.4 類和對象的關(guān)系
7.2.5 Arduino類的定義
7.2.6 Arduino類的調(diào)用
7.2.7 Arduino自帶的類庫
7.2.8 分析內(nèi)建庫的編寫和引用
7.2.9 Arduino最常用的庫函數(shù)原型
7.2.10 Arduino關(guān)鍵字的顏色設(shè)置
7.2.11 項(xiàng)目——一步步來編寫自己的音樂類庫
7.3 本章小結(jié)
附錄 Arduino函數(shù)速查中文版