Arduino開發實戰指南

Arduino開發實戰指南 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社
作者:程晨
出品人:
頁數:332
译者:
出版時間:2012-3
價格:59.00元
裝幀:
isbn號碼:9787111370055
叢書系列:
圖書標籤:
  • arduino
  • 單片機
  • AVR
  • Arduino
  • 開源硬件
  • 計算機
  • 交互設計
  • 開發
  • Arduino
  • 開發
  • 實戰
  • 指南
  • 嵌入式
  • 編程
  • 物聯網
  • 電子
  • 設計
  • 實踐
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書主要通過瞭解,學習,使用Arduino開源模塊,讓讀者在實戰過程中學習並掌握基於AVR8位單片機的項目開發技巧。

在2011年舉行的Google I/O開發者大會上,Google發布瞭基於Arduino的Android Open Accessory標準和ADK工具,這使得大傢對Arduino的前景十分看好。Phillip Torrone大膽地預測Google將用Android+Arduino的形式掀起自己的“Kinect模式”浪潮。目前,國內關注Arduino的人越來越多,但介紹Arduino的書籍卻很少。筆者由於工作的關係,接觸Arduino較早,所以希望通過自己的努力讓更多的人瞭解Arduino,在近一年的時間裏,通過不斷學習、查閱Arduino相關知識,終於完成瞭書稿的撰寫工作。但在書稿完成之後,心中卻一直忐忑不安,Arduino是一個介於軟件與硬件之間的産品,係統性不是很強,加上筆者水平有限,拙著中一定存在不少的缺點與漏洞,為此,筆者先為書中的不足之處緻以真誠的歉意,同時誠摯地歡迎廣大讀者提齣寶貴的意見並不吝賜教。

本書的內容及麵嚮的讀者

Arduino是一個注重實際動手操作的産品,所以本書以實際應用為紐帶將各個章節聯係起來。本書共9章,首先介紹Arduino的一些基礎知識,接著針對具體應用介紹瞭一些擴展闆以及Arduino擴展庫,最後應用之前的內容完成瞭具有視頻監控功能的履帶車、遙控機械臂以及雙足機器人的製作。

因為Arduino本身具有簡單易用的特點,所以本書麵嚮的讀者是所有有興趣使用Arduino進行項目開發的人。

當然,根據讀者的情況不同,本書的閱讀方式也不同。

如果讀者是一個之前沒有進行過單片機開發也沒有進行過軟件開發的人,現在想使用Arduino來實現自己的一些想法,那麼首先要閱讀本書的前兩章,瞭解一些簡單的編程思想以及程序結構,接下來閱讀第3章的目錄,瞭解Arduino都有什麼基本函數,具體內容可以先不用看,當你之後使用這些函數遇到問題時再迴過頭來看一看相應的函數說明。然後將Arduino接到你的電腦上,翻開第4章,根據書中的內容,邊學習邊實踐,4.5節可以跳過不看。第5~7章介紹瞭Arduino周邊的資源,以便幫助你盡快地實現想法,這3章的內容也可以采用跳躍式的閱讀方式。第8、9章會告訴你前3章的內容是如何結閤起來的,建議按照書中的內容至少動手完成一個項目的製作。

如果讀者之前進行過AVR單片機的開發,想瞭解Arduino一些底層的知識,那麼第2章的知識就可以跳過瞭,在簡單地翻閱第3章的內容後,直接進入第4章,把Arduino連到電腦上實踐一下,再迴過頭閱讀第3章中關於Arduino的基本函數,結閤自身已有的AVR單片機的知識瞭解Arduino底層的工作機製。需要說明的是,這裏需要讀者自己花一些精力,可能還需要學習一些C++方麵的知識。第5章對Arduino硬件原理進行瞭詳細介紹,若讀者之前學習過,這一章可以選擇性學習。第6章介紹的是Arduino的擴展庫,如果讀者也想開發一些Arduino擴展闆,並以庫的形式提供擴展闆的軟件資源,那麼建議先學習最後一節,再從6.1節開始學習,深入地瞭解這些擴展庫是如何與Arduino結閤在一起的。至於剩下幾章的內容,如果用開發單片機的思路來完成也是不難的,所以閱讀的重點是看看如何用Arduino的思路進行項目的製作。

如果讀者之前是做純電腦軟件開發工作的,即使用C++非常熟練,那麼在閱讀完第1章後,可以直接跳到第4章,感受一下Arduino給純軟件開發人員帶來的那種完成硬件製作的感覺,然後仔細閱讀第5章,看看目前都有哪些擴展闆可以為自己所用,控製電機、控製液晶之類的,硬件知識哪怕我們不用,也還是要瞭解一些的。接下來,對於第6章,可以仔細閱讀一下與硬件關係不太大的擴展庫以及如何創建自己的庫,在今後底層硬件庫不斷豐富完善的情況下,開發一些注重應用、與底層關係不是太緊密的庫時,這就是我們的用武之地。第7~9章的內容會告訴我們前麵的知識是如何結閤起來的—用純軟件的思路,同樣建議按照書中的內容至少動手完成一個項目的製作,做純軟件開發工作的人開發硬件也是很容易的。

緻謝

首先要感謝本書的策劃張國強先生,是他對Arduino的關注促成瞭本書的齣版,同時在筆者撰寫書稿時他也對本書提齣瞭寶貴的寫作建議,並對書稿進行瞭仔細審閱。

其次要感謝讓我瞭解Arduino的莊明波先生,他不但在技術上給予瞭我很多的指導,同時也無私地提供瞭大量的Arduino擴展闆的資料以及實物,供我在Arduino的程序調試中使用,同時與我共同探討技術上遇到的問題。

最後要感謝現在正捧著這本書的您,感謝您肯花費時間和精力閱讀本書,由於時間有限,書中難免存在疏漏與錯誤,誠懇地希望您批評指正,您的意見和建議將是我巨大的財富。希望在Arduino的領域結識更多的朋友。

著者簡介

程 晨 國內較早接觸Arduino的硬件工程師,在Arduino的應用方麵擁有豐富的實戰經驗。對Arduino的底層代碼進行瞭長達一年的學習與研究,同時使用過大量的Arduino類庫,對於Arduino的架構和實現原理有著非常深入的理解和認識。同時在PC端、手機端的應用程序開發方麵也有一定的經驗,應用Arduino進行過多款交互式産品製作。

圖書目錄

前言
第一篇  基礎篇
第1章  初識Arduino 2
1.1  Arduino的曆史 2
1.2  Arduino的傢族 3
1.3  Arduino的資源 6
1.4  Arduino的開發環境 9
1.5  添加新硬件及設置開發環境 9
1.6  Arduino開發環境的應用 14
第2章  編寫Arduino程序 16
2.1  繪製流程圖 16
2.1.1  流程圖基本符號 16
2.1.2  流程圖的三種基本結構 17
2.2  C語言的標識符與關鍵字 18
2.2.1  標識符 18
2.2.2  關鍵字 18
2.2.3  運算符 19
2.2.4  分隔符 21
2.2.5  常量 21
2.2.6  注釋符 21
2.3  控製語句 21
2.3.1  if語句 21
2.3.2  switch語句 22
2.3.3  while語句 23
2.3.4  do-while語句 24
2.3.5  for語句 25
2.3.6  break語句 26
2.3.7  continue語句 26
2.3.8  goto語句 26
2.4  程序結構 27
第3章  Arduino的基本函數 29
3.1  數字I/O 30
3.1.1  pinMode(pin,mode) 30
3.1.2  digitalWrite(pin,value) 31
3.1.3  digitalRead(pin) 32
3.2  模擬I/O 33
3.2.1  analogReference(type) 33
3.2.2  analogRead(pin) 33
3.2.3  analogWrite(pin, value) 34
3.3  高級I/O 37
3.3.1  shiftOut(dataPin,clockPin, bitOrder,val) 37
3.3.2  pulseIn(pin,state,timeout) 38
3.4  時間函數 39
3.4.1  millis( ) 39
3.4.2  delay(ms) 40
3.4.3  delayMicroseconds(us) 40
3.5  數學庫 41
3.5.1  min(x,y) 41
3.5.2  max(x,y) 41
3.5.3  abs(x) 41
3.5.4  constrain(amt,low,high) 41
3.5.5  map(x,in_min,in_max,out_min, out_max) 41
3.5.6  三角函數 42
3.6  隨機數 42
3.6.1  randomSeed(seed) 42
3.6.2  random(howsmall,howbig) 42
3.7 位操作 43
3.8 中斷函數 43
3.8.1 interrupts( )和noInterrupts( ) 43
3.8.2 attachInterrupt(interrupt,function,mode) 43
3.9  串口通信 45
3.10  SPI接口 48
3.10.1  SPI接口概述 48
3.10.2  SPI接口數據傳輸 48
3.10.3  SPI類及其成員函數 49
第4章  Arduino硬件平颱 52
4.1  Arduino的原理圖 52
4.2  串行通信口的使用 55
4.2.1  實例功能 56
4.2.2  硬件電路 56
4.2.3  程序設計 56
4.3  數字I/O口的使用 58
4.3.1  實例功能 59
4.3.2  硬件電路 59
4.3.3  程序設計 59
4.4  模擬I/O口的使用 61
4.4.1  實例功能 61
4.4.2  硬件電路 61
4.4.3  程序設計 62
4.5  燒寫引導程序 62
4.5.1  下載器AVRISP 63
4.5.2  AVR Studio 64
4.5.3  燒寫引導程序 65
第二篇  模塊篇
第5章  Arduino基本擴展模塊 68
5.1  L293 Motor Shield 68
5.1.1  直流電機的工作原理 68
5.1.2  H橋驅動電路 70
5.1.3  綫性放大調速原理 71
5.1.4  PWM調速原理 72
5.1.5  L293 Motor Shield的原理 72
5.1.6  L293 Motor Shield的應用 74
5.1.7  程序設計 75
5.1.8  程序分析 76
5.1.9  程序的精練 77
5.2  Input Shield 78
5.2.1  Input Shield原理圖 79
5.2.2  Input Shield的實例 79
5.2.3  程序設計 80
5.2.4  程序分析 81
5.2.5  使用搖杆控製直流電機轉速 81
5.3  LCD Keypad Shield 83
5.3.1  液晶顯示原理 83
5.3.2  標準1602液晶模塊 83
5.3.3  1602液晶模塊控製方式 84
5.3.4  LCD Keypad Shield原理圖 87
5.3.5  LCD Keypad Shield應用實例 89
5.3.6  程序設計 89
5.3.7  程序分析 92
5.3.8  Arduino的液晶控製方式 93
5.3.9  “hello Arduino!” 94
5.4  Ethernet Shield 97
5.4.1  Ethernet Shield原理圖 97
5.4.2  W5100芯片介紹 97
5.4.3  W5100芯片的寄存器 101
5.4.4  W5100芯片的使用 105
5.4.5  Ethernet Shield應用實例 105
5.4.6  程序設計 106
5.5  I/O擴展闆 109
5.5.1  Xbee傳感器擴展闆V5 109
5.5.2  伺服電機控製 110
5.5.3  伺服電機應用實例 111
5.5.4  Interface shield 114
5.5.5  RGB LED Module 114
5.5.6  RGB LED Module應用實例 118
5.5.7  程序的精練 123
第6章  Arduino的擴展庫 126
6.1  Arduino擴展庫介紹 126
6.1.1  Arduino擴展庫的作用 126
6.1.2  Arduino擴展庫的應用 126
6.2  對象和類 130
6.2.1  類的定義 130
6.2.2  對象的創建及成員函數的調用 131
6.2.3  對象的初始化和構造函數 132
6.2.4  函數的重載 133
6.2.5  析構函數 133
6.3  LiquidCrystal庫 134
6.3.1  構造函數 136
6.3.2  command( )和write( ) 139
6.3.3  begin( ) 140
6.3.4  clear( ) 142
6.3.5  home( ) 142
6.3.6  setCursor( ) 142
6.3.7  noDisplay( )和display( ) 143
6.3.8  cursor( )和noCursor( ) 143
6.3.9  blink( )和noBlink( ) 143
6.3.10  autoscroll( )和
noAutoscroll( ) 144
6.3.11  scrollDisplayLeft( )和scrollDisplayRight( ) 144
6.3.12  print( ) 145
6.4  Ethernet庫 146
6.4.1  EthernetClass類定義 146
6.4.2  Server類定義 148
6.4.3  Server類構造函數 148
6.4.4  Server類成員函數 148
6.4.5  Client類定義 152
6.4.6  Client類構造函數 152
6.4.7  Client類成員函數 153
6.5  SoftwareSerial庫 158
6.5.1  構造函數 159
6.5.2  begin( ) 160
6.5.3  read( ) 160
6.5.4  print( )和println( ) 161
6.5.5  使用限製 164
6.6  EEPROM庫 165
6.6.1  read( ) 165
6.6.2  write( ) 166
6.7  Wire庫 166
6.7.1  IIC總綫概述 166
6.7.2  TwoWire類定義 167
6.7.3  begin( ) 168
6.7.4  requestFrom( ) 168
6.7.5  available ( ) 169
6.7.6  receive( ) 169
6.7.7  beginTransmission( ) 170
6.7.8  endTransmission( ) 170
6.7.9  send( ) 171
6.7.10  onReceive( ) 172
6.7.11  onRequest( ) 173
6.8  Servo庫 174
6.8.1  構造函數 175
6.8.2  attach() 176
6.8.3  write( ) 177
6.8.4  writeMicroseconds( ) 177
6.8.5  read( ) 178
6.8.6  readMicroseconds( ) 178
6.8.7  attached( ) 178
6.8.8  detach( ) 179
6.9  Stepper庫 179
6.9.1  步進電機概述 179
6.9.2  步進電機的基本參數 180
6.9.3  步進電機的優缺點 181
6.9.4  步進電機的工作原理 181
6.9.5  步進電機的控製電路 183
6.9.6  Stepper類定義 185
6.9.7  構造函數 186
6.9.8  setSpeed( ) 188
6.9.9  step( ) 188
6.10  TLC5940庫 189
6.10.1  Tlc5940類的定義 190
6.10.2  init( ) 191
6.10.3  update( ) 192
6.10.4  set( ) 193
6.10.5  get( ) 194
6.10.6  setAll( ) 194
6.10.7  clear( ) 195
6.11  OneWire庫 195
6.11.1  單總綫的結構 195
6.11.2  單總綫控製方式 195
6.11.3  單總綫信號形式 196
6.11.4  OneWire類 198
6.11.5  構造函數 200
6.11.6  reset( ) 200
6.11.7  write_bit( ) 201
6.11.8  read_bit( ) 202
6.11.9  write( ) 202
6.11.10  read( ) 203
6.11.11  select( ) 203
6.11.12  skip( ) 204
6.12  XBee庫 204
6.12.1  XBee類定義 204
6.12.2  構造函數 205
6.12.3  begin( ) 206
6.12.4  readPacket( ) 206
6.12.5  send( ) 209
6.13  創建自己的庫 210
6.13.1  庫的功能—Morse 210
6.13.2  MorseCode類的定義 213
6.13.3  MorseCode類的成員函數 214
6.13.4  MorseCode庫的使用 222
6.13.5  關鍵字的定義 223
第7章  無綫模塊的應用 224
7.1  APC220 224
7.1.1  APC220性能指標 224
7.1.2  模塊引腳定義 226
7.1.3  模塊的使用 226
7.1.4  注意事項 227
7.2  DFduino wireless 228
7.2.1  DFduino wireless性能指標 228
7.2.2  模塊引腳定義 229
7.2.3  模塊的使用 229
7.3  Bluetooth V3 231
7.3.1  Bluetooth V3性能指標 231
7.3.2  模塊引腳定義 232
7.3.3  模塊的使用 232
7.4  XBee和XBee PRO 234
7.4.1  XBee及XBee PRO性能指標 235
7.4.2  模塊引腳定義 235
7.4.3  模塊的使用 236
7.4.4  程序設計 236
第三篇  應用篇
第8章  打造自己的遙控履帶車 242
8.1  履帶車的驅動 242
8.1.1  實現功能 242
8.1.2  所需器材 242
8.1.3  硬件連接 243
8.1.4  程序設計 246
8.1.5  MotorCar類 251
8.1.6  類的應用 255
8.2  添加感知器件 257
8.2.1  實現功能 257
8.2.2  所需器材 257
8.2.3  器材介紹 257
8.2.4  硬件連接 258
8.2.5  程序設計 258
8.3  添加無綫模塊 261
8.3.1  實現功能 261
8.3.2  所需器材 261
8.3.3  硬件連接 261
8.3.4  程序設計 262
8.4  製作遙控器 264
8.4.1  實現功能 264
8.4.2  所需器材 265
8.4.3  硬件連接 265
8.4.4  程序設計 265
8.5  履帶車遙控調速 267
8.5.1  實現功能 267
8.5.2  程序設計 267
8.6  添加無綫攝像頭 272
8.6.1  實現功能 272
8.6.2  所需器材 272
8.6.3  器材介紹 272
8.6.4  硬件連接 273
8.6.5  程序設計 277
8.7  環境信息獲取器件 283
8.7.1  實現功能 283
8.7.2  所需器材 284
8.7.3  器材介紹 284
8.7.4  硬件連接 285
8.7.5  程序設計 286
第9章  仿生機器人 295
9.1  遙控機械臂 295
9.1.1  實例功能 295
9.1.2  器材列錶 295
9.1.3  搭建硬件環境 296
9.1.4  安裝控製部分 298
9.1.5  Wii遊戲手柄 298
9.1.6  機械臂程序設計 300
9.2  雙足機器人 304
9.2.1  實例功能 304
9.2.2  器材列錶 304
9.2.3  搭建硬件環境 305
9.2.4  雙足機器人程序設計 307
9.2.5  PC調試軟件編寫 310
9.2.6  雙足機器人的調試 317
附錄A  Arduino引腳與AVR單片機管腳對應關係 319
附錄B  Arduino擴展闆 320
附錄C  其他可擴展模塊 322
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

書本身有拼湊資料的嫌疑,Arduino本身還是挺有意思的。有空不如去看文檔。

评分

對於有一定計算機和電子基礎的人看有引導的作用,但是對零基礎的讀者來說單獨閱讀還是有較高門檻。個人比較欣賞程晨老師對函數和庫的解釋,十分清晰。作為這方麵的菜鳥,我隻能把部分章節讀明白,但我認為這本書至今是在國內早期齣版的書籍當中最有參考價值的一本。

评分

偏嚮於與編程。

评分

這是一本難得的,很全的手冊。

评分

基礎入門書,詳細豐富

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有