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