Arduino是一個(gè)優(yōu)秀的開源硬件平臺(tái),目前在全球有數(shù)以萬(wàn)計(jì)的電子愛(ài)好者使用 Arduino開發(fā)項(xiàng)目和電子產(chǎn)品。Arduino具有廉價(jià)易學(xué)、開發(fā)迅捷等特點(diǎn),不僅是一個(gè)優(yōu)秀的開源硬件開發(fā)平臺(tái),更成為了硬件開發(fā)的趨勢(shì)。
Arduino的探索是一個(gè)簡(jiǎn)單有趣而且豐富多彩的過(guò)程,本書會(huì)利用 Arduino開發(fā)板做很多有趣的實(shí)驗(yàn),讓讀者從中學(xué)習(xí)到 Arduino對(duì)各類傳感器和執(zhí)行器的使用,以及在互聯(lián)網(wǎng)和物聯(lián)網(wǎng)(智能家居)中的應(yīng)用情況。這是一個(gè)電子化和互聯(lián)網(wǎng)化的時(shí)代,目前大學(xué)生都喜歡參與各種機(jī)器人大賽,也喜歡自己動(dòng)手 DIY各種小硬件。本書正是抓住大學(xué)生群體的這種創(chuàng)造性,特意編寫而成,以促進(jìn)
他們的創(chuàng)新意識(shí)和創(chuàng)造能力。
本書結(jié)構(gòu)清楚,內(nèi)容豐富,涵蓋了從軟硬件基礎(chǔ)知識(shí)到開發(fā)項(xiàng)目的實(shí)際操作,從簡(jiǎn)單的閃燈程序到復(fù)雜的智能家居、機(jī)械手臂等項(xiàng)目,從 Arduino簡(jiǎn)單的語(yǔ)法到編寫 Arduino程序和類庫(kù),講解全面,方便讀者對(duì) Arduino進(jìn)行全面系統(tǒng)的學(xué)習(xí)。
本書特點(diǎn)
1.內(nèi)容豐富,知識(shí)全面
全書分為三篇共 7章,采用從基礎(chǔ)到復(fù)雜、循序漸進(jìn)地進(jìn)行講解,內(nèi)容幾乎涉及了 Arduino開發(fā)的各個(gè)方面。
2.循序漸進(jìn),由淺入深
為方便讀者學(xué)習(xí),本書首先介紹 Arduino的背景以及發(fā)展過(guò)程,在安裝好開發(fā)環(huán)境后從閃燈程序講起,由點(diǎn)到面,層層深入到編譯原理、操作系統(tǒng)的知識(shí),從單片機(jī)深入到內(nèi)核,以小例子開始深入到復(fù)雜的案例,層次分明,引人入勝。
3.格式統(tǒng)一,講解規(guī)范
書中每個(gè)知識(shí)點(diǎn)都盡可能給出了詳盡的操作示例供讀者參考,通過(guò)編程實(shí)踐可以使讀者更清晰地了解每個(gè)知識(shí)點(diǎn)的細(xì)節(jié),提高學(xué)習(xí)效率。在每個(gè)章節(jié)的最后均有本章重點(diǎn)知識(shí)的總結(jié),方便讀者有重點(diǎn)地學(xué)習(xí)。講解過(guò)程中對(duì)初學(xué)者容易忽略的地方,都給出了小貼士。
4.保留精華,結(jié)合實(shí)踐
在講解語(yǔ)法和介紹函數(shù)等章節(jié)中,本書既保留了官方經(jīng)典的函數(shù)說(shuō)明和函數(shù)舉例,又結(jié)合小程序加以實(shí)踐,讓讀者在學(xué)習(xí)過(guò)程中體會(huì)到互動(dòng)以及原理實(shí)踐相結(jié)合的樂(lè)趣。
5.實(shí)驗(yàn)豐富,對(duì)比清晰
本書提供了豐富的實(shí)驗(yàn)內(nèi)容,涉及面廣泛,每個(gè)實(shí)驗(yàn)都提供完整的原理圖、連接示意圖和代碼。為了加深理解,本書中幾乎每個(gè)實(shí)驗(yàn)都有不止一個(gè)實(shí)驗(yàn)任務(wù),使讀者橫向?qū)W習(xí) Arduino操作的多樣性。
6.代碼精煉,拿來(lái)即用
本書提供的實(shí)驗(yàn)代碼都做到盡可能精煉,以便突出重點(diǎn),讓讀者短時(shí)間內(nèi)了解程序結(jié)構(gòu)和邏輯。所有試驗(yàn)代碼均通過(guò)測(cè)試,讀者可以拿來(lái)即用,也可以在調(diào)試過(guò)程中參考。
本書結(jié)構(gòu)
本書分為三篇共 7章,主要章節(jié)內(nèi)容規(guī)劃如下。
第一篇(第 1~3章)初識(shí) Arduino
講述了 Arduino起源與背景、產(chǎn)品與種類介紹、搭建開發(fā)環(huán)境、語(yǔ)法學(xué)習(xí)、內(nèi)核介紹和電子基礎(chǔ)知識(shí)。
第二篇(第 4~6章)探索 Arduino
本章首先對(duì) Arduino常用的函數(shù)及使用的傳感器、電機(jī)、網(wǎng)絡(luò)等硬件進(jìn)行介紹。然后對(duì) Arduino項(xiàng)目進(jìn)行了深入性研究,其中第 5章介紹了幾個(gè)復(fù)雜的 Arduino項(xiàng)目,包括智能家居、機(jī)械手臂、遙控小車、貪食蛇等項(xiàng)目。第 6章為使用 Arduino與第三方軟件進(jìn)行互動(dòng)制作的內(nèi)容,包括 Arduino與 Processing、Arduino與 Flash的互動(dòng)。
第三篇(第 7章)深入 Arduino
本章為 Arduino項(xiàng)目的開發(fā)經(jīng)驗(yàn),包括 Arduino項(xiàng)目開發(fā)時(shí)應(yīng)注意的流程問(wèn)題、面向?qū)ο箝_發(fā)的相關(guān)知識(shí)、Arduino自帶類庫(kù)的講解,最后還通過(guò)編寫一個(gè)音樂(lè)播放器類庫(kù)來(lái)豐富讀者的所學(xué)。
本書讀者
. Arduino入門者與電子產(chǎn)品愛(ài)好者
.使用 Arduino制作項(xiàng)目的開發(fā)人員
.大中專院校的學(xué)生
.培訓(xùn)學(xué)校相關(guān)專業(yè)的師生
本書作者
本書第 1~4章由韓廣義編寫,第 5~7章由長(zhǎng)春職業(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ā)過(guò)程
1.2 為什么要使用 Arduino
1.3 Arduino硬件的分類
1.3.1 Arduino開發(fā)板
1.3.2 Arduino 擴(kuò)展硬件
1.4 Arduino展望未來(lái)
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ā)過(guò)程
1.2 為什么要使用 Arduino
1.3 Arduino硬件的分類
1.3.1 Arduino開發(fā)板
1.3.2 Arduino 擴(kuò)展硬件
1.4 Arduino展望未來(lái)
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ù)庫(kù)和程序架構(gòu)介紹
2.3.4 Hello World做了什么
2.4 Arduino語(yǔ)法——變量和常量
2.4.1 變量
2.4.2 常量
2.5 Arduino語(yǔ)法——數(shù)據(jù)類型
2.5.1 常用的數(shù)據(jù)類型
2.5.2 數(shù)據(jù)類型轉(zhuǎn)換
2.5.3 自定義數(shù)據(jù)類型
2.6 Arduino語(yǔ)法——數(shù)組
2.6.1 創(chuàng)建或聲明一個(gè)數(shù)組
2.6.2 指定或訪問(wèn)數(shù)組
2.7 Arduino語(yǔ)法——運(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語(yǔ)法——條件判斷語(yǔ)句 if語(yǔ)句
2.9 Arduino語(yǔ)法——循環(huán)語(yǔ)句
2.9.1 for循環(huán)
2.9.2 while循環(huán)
2.10 Arduino語(yǔ)法—函數(shù)
2.11 Arduino語(yǔ)法——輸入與輸出
2.11.1 數(shù)字的輸入與輸出
2.11.2 模擬輸入輸出
2.12 本章小結(jié)
第 3章進(jìn)入硬件的世界
3.1 單片機(jī)簡(jiǎn)介
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語(yǔ)言
4.2.1 位操作
4.2.2 數(shù)學(xué)函數(shù)
4.2.3 隨機(jī)函數(shù)
4.2.4 高級(jí)輸入輸出
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與傳感器的互動(dòng)
4.4.1 傳感器的簡(jiǎn)介
4.4.2 Arduino如何使用傳感器 .
4.4.3 利用傳感器設(shè)計(jì)更棒的互動(dòng)應(yīng)用
4.5 用 Arduino驅(qū)動(dòng)電機(jī)
4.5.1 電機(jī)簡(jiǎn)介
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èn)網(wǎng)絡(luò)
4.6.1 Arduino如何連接網(wǎng)絡(luò)
4.6.2 Arduino與 Yeelink的互動(dòng)制作
4.6.3 Arduino和 Web服務(wù)器通信
4.6.4 Arduino用作 Web服務(wù)器
4.7 Arduino與無(wú)線通信
4.7.1 無(wú)線通信簡(jiǎn)介
4.7.2 無(wú)線通信協(xié)議有哪些
4.7.3 Wi-Fi
4.7.4 藍(lán)牙
4.7.5 ZigBee
4.7.6 移動(dòng)通信
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 組裝與測(cè)試
5.3 項(xiàng)目 3——基于 nRF24L01+無(wú)線模塊控制的機(jī)械手臂
5.3.1 硬件準(zhǔn)備
5.3.2 硬件主要功能解析
5.3.3 編寫代碼
5.3.4 組裝與測(cè)試
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與媒體互動(dòng)制作
6.1 Arduino與 Processing
6.1.1 什么是 Processing
6.1.2 Arduino與 processing互動(dòng)制作
6.2 Arduino與 Flash
6.2.1 Flash簡(jiǎn)介
6.2.2 Arduino與 Flash互動(dòng)制作
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)目中編寫類庫(kù)
7.2.1 面向過(guò)程與面向?qū)ο?br />7.2.2 類的概念
7.2.3 類是分層的
7.2.4 類和對(duì)象的關(guān)系
7.2.5 Arduino類的定義
7.2.6 Arduino類的調(diào)用
7.2.7 Arduino自帶的類庫(kù)
7.2.8 分析內(nèi)建庫(kù)的編寫和引用
7.2.9 Arduino最常用的庫(kù)函數(shù)原型
7.2.10 Arduino關(guān)鍵字的顏色設(shè)置
7.2.11 項(xiàng)目——一步步來(lái)編寫自己的音樂(lè)類庫(kù)
7.3 本章小結(jié)
附錄 Arduino函數(shù)速查中文版