【Arduino官方教程第一輯】示例程式-目錄
譯者序:即將進入大學學習,我謹以本文件的來作為我CSDN部落格的開篇。前段時間看了許多文章,便覺得作為一個程式設計師開通自己的技術部落格是十分重要的。因為這樣做不僅能夠提高自己的技術水平、將知識做鞏固和回爐,還能通過自己的奉獻讓更多人獲利。最好發揮知識價值的途徑在於無私分享,最好的進步方式是將自己知道的說給別人聽。雖然我的“本行”和“所長”並非Arduino。但是畢竟也當做興趣愛好玩過一些時間,也做過一些作品來幫助自己生活(比如為了晚上覆習做的宿管探測器,再遠一些的不介紹了)。
本著鍛鍊自己的英語能力、理解水平以及培養自己奉獻精神的目的,我將盡自己努力不斷更新本文件。由於水平有限,肯定會有很多不足之處,希望各位老師能夠給予批評指正。就在留言區告訴我或者發郵件或QQ告訴我。
Arduino是一個很棒的平臺,它是培養青少年對科技創造熱情的最好方式。它上手簡單、功能強大,能夠幫助我們輕鬆實現創意。我謹以這篇官方文件譯文向偉大的Arduino團隊致敬。
如果你是Arduino新手,而且沒有接觸過任何Arduino知識的話,推薦你看完第零輯內容再進行第一輯的學習。
一、示例程式
示例程式是包含在Arduino程式設計環境(Arduino IDE)下的程式設計例項,想要找到這些例子請點選檔案(File)>例項(Examples)。
這些簡單的小程式展示了所有Arduino的基本命令。它包羅了從 Arduino工程的最少組成部分到 數字訊號(Digital)、模擬訊號(Analog)的輸入輸出 到 感測器和顯示屏的使用。
【批註:以下內容如果被翻譯之後會加一個“譯”字,並且超連結將連結到我的部落格翻譯過的文章連結。若未加的就說明還沒有翻譯好啦!】
1.較為基礎的例程(Basics)
- 讀取模擬訊號、串列埠操作【譯】
- 讀取數字引腳【譯】:讀取一個開關的狀態,並且將狀態輸出到Arduino串列埠監視器。
- LED亮度漸隱【譯】:使用模擬訊號輸出(Analog Out)去讓一個LED的亮度漸弱。
- 製作一個簡易電壓表【譯】:讀取一個模擬訊號(Analog In)並且把它輸出到串列埠監視器。
- 譯者注:文章標題是修改後的了,原來翻的是“讀取模擬電壓”修改後更恰當些。
2.數字引腳操作
- LED閃爍進階【譯】:不用delay()函式的LED閃爍工程。
- 按鈕【譯】:用按鈕控制LED。
- 按鍵去抖【譯】:讀取一個按鈕狀態,並且濾去幹擾。
- 數字引腳上拉電阻【譯】:展示pinMode()函式INPUT_PULLUP 常量的使用。
- 音樂鍵盤【譯】:使用壓力感測器和壓電揚聲器製作三鍵電子琴。
- 曲調2【譯】:使用tone()函式操作多個揚聲器播放曲調。
- 製作你的特雷門琴【譯】:根據模擬訊號通過揚聲器播放一個音調。
- 原來譯為《曲調3》
3.模擬訊號操作
- 模擬訊號與串列埠【譯】: 從模擬訊號輸入引腳讀取一個值,然後用這個值控制LED小燈
- 模擬訊號輸入【譯】: 使用電位器來控制LED的閃爍。
- 模擬訊號輸出[Mega]【譯】: 使用Arduino Mega板讓12個LED一個接一個亮度逐漸減弱。
- 模擬訊號的校準【譯】: 設定感測器輸出模擬訊號的最大、最小值來達到預期效果。
- LED亮度漸隱【譯】:使用脈寬引腳(PWM pin)來讓一個LED的亮度漸弱。
- 訊號平滑【譯】:讓多個模擬引腳的輸入值變得更加均勻平滑。
4.通訊
下面的例子包含Arduino與執行在電腦上的Processing程式通訊的程式碼。想要了解更多資訊或下載Processing,請訪問其官方網站
例子中也含有能與Arduino工程通訊的Max/MSP的程式包(patch)。想要了解更多資訊請看一下 Cycling 74。譯者注:讀者可能發現有幾節的Arduino內容似乎有重複。這幾節希望大家多關注Processing程式碼,來學習Processing的使用。
- ASCIl表【譯】:展示Arduino先進的串列埠輸出函式。
- 調光器【譯】:輕點滑鼠來改變LED的亮度。
- 資料圖表【譯】:傳送資料到電腦,並且使用Processing來繪圖。
- 多串列埠[Mega]【譯】:使用Arduino Mega上的兩個串列埠。
- 原來標題譯為MIDI音樂MEGA,是錯譯
- 控制LED【譯】:從Processing或Max/MSP來開關LED.
- 讀取ASCII字串【譯】:解析一串用逗號分隔的整數(以字串型別傳遞)來讓LED漸隱。
- 串列埠雙向呼叫 (握手連線)【譯】:用雙向呼叫/握手連線(handshaking)的方法傳送多個變數值。
- 串列埠雙向呼叫(使用ASCII字串)【譯】:用雙向呼叫/握手連線(handshaking)的方法傳送多個變數值,並且在轉發之前將這些變數的值通過ASCII解碼為字串。
- 串列埠事件【譯】:展示SerialEvent()函式的使用。
- 虛擬調色盤【譯】:用Arduino傳送多個變數的值到電腦,然後用Processing或Max/MSP讀取它們。
5.結構控制
- 陣列【譯】: 通過for迴圈來展示如何使用陣列。
- If條件判斷【譯】:使用If語句根據輸入的條件的變化改變輸出條件。
- Switch和Case條件語句2【譯】: 第二個switch-case例子,展示瞭如何根據串列埠的輸入值來採取不同的動作。
- While迴圈【譯】: 如何使用while迴圈來在按鈕被按下時校準感測器。
6.感測器
- ADXL3xx【譯】: 讀取ADXL3xx加速度計。
- 用壓電元件檢測碰撞【譯】: 用壓電元件來檢測碰撞。
- 原來標題是Knock
- 超聲波測距感測器【譯】:使用超聲波來檢測物體的遠近。
- 原來標題是Ping
7.顯示
8.字串
- 字串分析:使用操作符(operators )來識別我們正在處理的字串。
- 字串連線操作符: 以多種方式將字串連線在一起。
- 字串擴充操作符: 使用 += 操作符和concat()方法將字串擴充。
- 字串中的字元: 獲取/指定(Get/set)字串中特定的字元。
- 字串比較操作符:用字母表順序比較字串。
- 字串替換:替換字串中的字元。
- 字串首尾校驗: 檢查(子)字串是否是以給定字元開始/結尾的。
- 獲取子字串: 在指定字串中找到某個片語。
9.USB
有關鍵鼠操作的例程僅僅能在Leonardo板、Micro板和DUE板上執行, 下面這些例子展示了僅在這三類板上可用的程式碼庫(library)的使用。
鍵盤
- 登出計算機: 通過虛擬按鍵登出電腦。
- 鍵盤訊息: 當按鈕按下時,傳送一段含有文字的字串。
- 操縱IDE程式設計: 自動開啟Arduino IDE並自動給一塊Leonardo寫簡單的blink程式。
- 鍵盤和串列埠: 從串列埠讀取一個位元組,然後發回一個鍵按下資訊。
- 鍵鼠控制: 在一個例程中展示了滑鼠和鍵盤命令。
滑鼠
初學者套件中的例項教程已經寫在套件提供的書中了,如果你買了基本套件的話,你將能夠在Project Ignite上看到它們。
11.Arduino ISP
Arduino ISP讓你的Arduino轉變為一個內電路程式設計器(in-circuit programmer)並且能夠給AtMega晶片重新程式設計。它在你想重新載入bootloader的時候、從Arduino遷移到AtMega的時候 和 在麵包板上搭建Arduino電路時有用。
關注譯者
譯者:Steven
郵箱:[email protected]
轉載請註明出處,一切只因為熱愛。
希望您能指出寶貴意見,謝謝。
更新程序
日期 | 日誌 | 譯者 |
---|---|---|
2016年4月15日 | 建立並且翻譯本文件 | Steven |
2016年4月16日 | 修錯,新增翻譯文章、二維碼 | Steven |
2016年4月16日 | 新增翻譯文章1-5、1-6 | Steven |
2016年4月24日 | 新增翻譯文章2-4、2-6 | Steven |
2016年4月25日 | 新增翻譯文章2-5 | Steven |
2016年5月4日 | 新增多篇翻譯文章 | Steven |
2016年5月5日 | 新增翻譯文章3-1 | Steven |
2016年5月11日 | 新增翻譯文章3-6 3-7 4-1 4-2 | Steven |
2016年5月12日 | 新增翻譯文章4-3 4-4 | Steven |
2016年5月17日 | 新增翻譯文章4-7 | Steven |
2016年5月18日 | 新增翻譯文章4-8 | Steven |
2016年5月19日 | 新增翻譯文章4-9 4-10 | Steven |
2016年5月19日 | 新增翻譯文章4-11 並且在4-7中加入了RGB LED的原理解析 | Steven |
2016年5月20日 | 新增關於第零輯的提示 | Steven |
2016年5月23日 | 新增5-1 | Steven |
2016年5月31日 | 新增5-5 | Steven |
2016年5月31日 | 新增6-1 | Steven |
相關推薦
【Arduino官方教程第一輯】示例程式-目錄
譯者序:即將進入大學學習,我謹以本文件的來作為我CSDN部落格的開篇。前段時間看了許多文章,便覺得作為一個程式設計師開通自己的技術部落格是十分重要的。因為這樣做不僅能夠提高自己的技術水平、將知識做鞏固和回爐,還能通過自己的奉獻讓更多人獲利。最好發揮知識
【Arduino官方教程第一輯】示例程式 3-2 模擬訊號輸入
模擬訊號輸入 本例中,我們根據電位器(或用光敏電阻替代)的阻值變化來改變LED閃爍頻率。電阻的模擬訊號值將根據電壓變化。 完成本例所需的硬體裝置 Arduino板或Genuino板 電位器 或 10kΩ光敏電阻+10kΩ電阻 紅色220Ω LED
【Arduino官方教程第一輯】示例程式 5-1 陣列
陣列 本例中我們使用for迴圈配合一個數組變數向你展示Arduino中陣列的使用。陣列是一個有多個”部分”的變數。如果我們把普通變數看做一個盛裝值的“杯子”,那麼陣列就好像是一個“製冰器”。陣列就好像是一連串“杯子”,每個杯子都可以儲存一個值(不過這些值
【Arduino官方教程第一輯】示例程式 5-4 Switch和Case條件語句
Switch和Case條件語句 If語句允許你根據條件的真假(真(TRUE)或假(FALSE))進行兩個分支操作。當需要進行多個判斷時,你就必須使用If巢狀。不過其實還有一種更為簡潔的處理多條件判斷的方法,那就是使用switch語句,switch語句允許
【Arduino官方教程第一輯】示例程式 6-3 Memsic2125加速度計
Memsic2125加速度計 Memsic2125是一款兩軸加速度計,它能夠測量兩個方向正負2g的加速度(g代表重力加速度)。它的引腳設計很簡單:只有兩個資料輸出引腳,一個為X軸,一個為Y軸。它的資料輸出引腳會根據加速度的大小輸出不同的脈寬(不知道脈寬是
【Arduino官方教程第一輯】示例程式 5-3 If條件判斷
If條件判斷 條件判斷結構是程式設計中的最基本結構,在Arduino和其他語言中往往用if()語句實現條件判斷。if()讓你能夠根據某個條件(Condition)的真假執行不同的程式碼。(條件只有兩種可能,要麼是真(true)要麼是假(false))if語句的
【Arduino官方教程第一輯】示例程式 3-5 模擬訊號的校準
模擬訊號的校準 本例向你展示校準感測器的一個技巧:在啟動時先讀取感測器值5秒鐘,然後尋找其最大、最小值。校準後的最大、最小值將在map函式有用。 完成本例所需的硬體裝置 Arduino板或Genuino板 LED 模擬訊號的感測器(光敏電阻就
【Arduino官方教程第一輯】示例程式 4-11 虛擬調色盤
虛擬調色盤 本例向你展示如何從Arduino傳送多個值到電腦。從三個電位器上獲取的值將被用來給Processing工程或Max/MSP工程設定背景色。 完成本例所需的硬體裝置 Arduino板或Genuino板 3個模擬訊號感測器 (電位器,
【Arduino官方教程第一輯】示例程式 5-6 While迴圈
While迴圈 有時你可能需要進行這樣的操作:如果某個條件為true的話就一直停在那裡,直到它由true變成false才繼續執行(反過來也可以,開始為false,直到true才繼續)。你可以使用while迴圈來做到這一點。本例向你展示如何使用while迴
【Arduino官方教程第零輯】基礎部分 2-2 模擬引腳
模擬引腳 本文是對於Arduino晶片上模擬引腳的介紹。上面所說的Arduino晶片主要包括(Atmega8, Atmega168,Atmega328或Atmega1280)。 數模轉換電路 Arduino中使用的Atmega控制器都配有一個板
【Arduino基礎教程】LCD5110顯示屏
Nokia 5110顯示屏模組 準備材料 Arduino UNO *1 Nokia 5110 LCD *1 跳線 若干 接線 Nokia 511
【三星官方教程】如何為Gear VR 開發應用(一):開發環境搭建(轉)
三星GearVR已經成為第一個成熟的移動VR平臺,並擁有目前全球最大也是最穩定的移動VR使用者群體。基於GearVR的應用越來越多,本文將為開發者介紹如何用Unity為Gear VR開發一個360度圖片檢視器。 搭建開發環境(Windows OS) 在開始用Uni
【Arduino基礎教程】RS1307時鐘模組
RS1307時鐘模組 RS1307是一個低功耗的外接時鐘模組,它可以讓你的專案即使在斷電的情況下,也能保證在重新啟動後走時正確。 所需材料 1x Ar
【Nutch基礎教程之七】Nutch的2種執行模式:local及deploy
mapred nap ont nal servlet miss mos ant issue 在對nutch源碼執行ant runtime後,會創建一個runtime的文件夾。在runtime文件夾下有deploy和local 2個文件夾。 [[email
【CC2530入門教程-增強版】基礎技能綜合實訓案例(基礎版)-題目需求
情況 led 興趣 題目 嵌入式開發 廣東 難點 在一起 參數 【CC2530入門教程-增強版】基礎技能綜合實訓案例(基礎版)-題目需求 廣東職業技術學院 歐浩源 一、引用 不管是簡單的單片機應用,還是復雜的嵌入式系統,在我看來它們的本質結構是差不多的,都離不開“
【Lucene4.8教程之二】索引
文件路徑 位置 存在 this nth 創建索引 exe 搜索 最簡 一、基礎內容 0、官方文檔說明 (1)org.apache.lucene.index provides two primary classes: IndexWriter, whic
【CQ18階梯賽第一場】題解
sca 就是 scanf main ace con 連續 動態 return 【A-風格不統一如何寫程序】 輸入字符串,得到長度,對於每個字符:如果是大寫,則改為:‘_’+小寫;如果是‘_’則忽略‘_&rsquo
【Vue,自學第一天】
ever return 改變 修改 底層 IT 綁定 包裝 paragraph 一、創建第一個 Vue 應用 接下來我們創建第一個 Vue 應用。 View 層 - HTML 代碼如下: <div id="app"> {{ message }} </
【Docker系列教程之五】如何構建Dockerfile
在上一篇文章中,我們講述了 Dockerfile 的組成以及指令的編寫過程,在本篇文章中詳細講解如何構建 Dockerfile 。 Dockerfile常用的指令 那麼在講如何構建 Dockerfile 之前,我們回顧一下上一篇的編寫過程:
【Docker系列教程之七】如何將自制的漏洞環境打包成映象進行共享
我在之前的文章中只是說過,利用 Dockerfile 去拉去映象,而這些映象的拉取都是從 Docker Hub 上拉取下來,而現在我有個想法,我製作好了一個漏洞環境整合的映象,我又該如何進行開源共享,提供給別人使用呢?這就是我們今天的主題了。 首先我們得準備一個 Docker Hub 的帳號, Docker