




已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Arduino開發(fā)平臺(tái) 1 Arduino開發(fā)平臺(tái) 2 Arduino開發(fā)平臺(tái)介紹 1 什么是Arduino Arduino項(xiàng)目起源于意大利 該名字在意大利是男性用名 音譯為 阿爾杜伊諾 意思為 強(qiáng)壯的朋友 Arduino的出現(xiàn)并不是偶然 Arduino最初是為一些非電子工程專業(yè)的學(xué)生設(shè)計(jì)的 設(shè)計(jì)者最初為了尋求一個(gè)廉價(jià)好用的微控制器開發(fā)板從而決定自己動(dòng)手制作開發(fā)板 Arduino一經(jīng)推出 因其開源 廉價(jià) 簡單易懂的特性迅速受到了廣大電子迷的喜愛和推崇 幾乎任何人 即便不懂電腦編程 利用這個(gè)開發(fā)板也能用Arduino做出炫酷有趣的東西 比如對(duì)感測器探測做出一些回應(yīng) 閃爍燈光 控制馬達(dá)等 3 Arduino開發(fā)平臺(tái)介紹 1 什么是Arduino Arduino應(yīng)用 視頻 4 Arduino開發(fā)平臺(tái)介紹 Arduino是一塊基于開放原始代碼的Simplei o平臺(tái) 并且具有開發(fā)語言和開發(fā)環(huán)境都很簡單 易理解的特點(diǎn) 讓您可以快速使用Arduino做出有趣的東西 它是一個(gè)能夠用來感應(yīng)和控制現(xiàn)實(shí)物理世界的一套工具 它由一個(gè)基于單片機(jī)并且開放源碼的硬件平臺(tái) 和一套為Arduino板編寫程序的開發(fā)環(huán)境組成 5 Arduino開發(fā)平臺(tái)介紹 Arduino是一個(gè)加載了微控制器的電路板 更是一個(gè)包含了硬件和軟件的開發(fā)平臺(tái) 將程序下載到主板 6 Arduino開發(fā)平臺(tái)介紹 Arduino硬件是一塊完整的電路板 包含一塊微控制器IC 一組排母用于連接到其它電路 若干個(gè)穩(wěn)壓器IC用于給整個(gè)電路提供合適的電源 一個(gè)USB接口用于連接計(jì)算機(jī) 7 Arduino開發(fā)平臺(tái)介紹 Arduino軟件是一個(gè)編程的開發(fā)環(huán)境 這個(gè)軟件包含一個(gè)文本編輯器 可以在文本編輯編輯器中編寫并修改程序 軟件還包含一個(gè)自動(dòng)上傳器 可以將編寫完成的程序發(fā)送到Arduino開發(fā)板 8 Arduino開發(fā)平臺(tái)介紹 Arduino開發(fā)板上需要關(guān)注的重點(diǎn) 1 核心微控制器 ArduinoUno使用的是AtmelAVRATmega328P微控制器 9 Arduino開發(fā)平臺(tái)介紹 Arduino開發(fā)板上需要關(guān)注的重點(diǎn) 2 外部連接排母 與外部交互的接口 Uno一共有28個(gè) 分成三組 1 電源 2 模擬輸入 3 數(shù)字輸入 輸出 10 Arduino開發(fā)平臺(tái)介紹 Arduino開發(fā)板上需要關(guān)注的重點(diǎn) 3 USB接口 三個(gè)重要功能 1 程序上傳 2 程序調(diào)試 Debug 3 臨時(shí)供電 11 Arduino開發(fā)平臺(tái)介紹 Arduino開發(fā)板上需要關(guān)注的重點(diǎn) 4 可用內(nèi)存 1 Flash內(nèi)存 用于寫入和保存數(shù)據(jù) ATmega328提供32KFlash內(nèi)存 其中0 5K用于保存特殊程序Bootloader 2 靜態(tài)RAM 運(yùn)行時(shí)臨時(shí)儲(chǔ)存數(shù)據(jù) 大小為2K RAM中的數(shù)據(jù)掉電之后丟失 3 EEPROM 電可擦可編程只讀存儲(chǔ)器 用來保存程序的額外數(shù)據(jù) 如數(shù)學(xué)公式的值 或者Arduino讀取到的傳感器讀數(shù) 掉電之后 它儲(chǔ)存的數(shù)據(jù)不會(huì)丟失 12 Arduino開發(fā)平臺(tái)介紹 Arduino開發(fā)板上需要關(guān)注的重點(diǎn) 5 Arduino工作速度 所有的微控制器 包括Arduino 都使用一個(gè)系統(tǒng)時(shí)鐘產(chǎn)生的脈沖來進(jìn)行工作 大部分Arduino的工作速度為16MHz 也就是說每秒能處理1600萬條指令 13 Arduino開發(fā)平臺(tái) 14 Arduino開發(fā)基礎(chǔ)操作 2 1搭建開發(fā)環(huán)境 2 1 1交叉編譯 就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上可以執(zhí)行的代碼 開發(fā)人員在電腦上將程序?qū)懞?編譯生成單片機(jī)執(zhí)行的程序 就是一個(gè)交叉編譯的過程 很多嵌入式系統(tǒng)需要從一臺(tái)計(jì)算機(jī)上編程 將寫好的程序下載到開發(fā)板中進(jìn)行測試和實(shí)際運(yùn)行 因此跨平臺(tái)開發(fā)在嵌入式系統(tǒng)軟件開發(fā)中很常見 因?yàn)閱纹瑱C(jī)上不具備直接編程的環(huán)境 因此利用Arduino編程需要兩臺(tái)計(jì)算機(jī) Arduino單片機(jī)和PC 15 2 1搭建開發(fā)環(huán)境 2 1 2在windows上安裝IDE給Arduino編程需要用到IDE 集成開發(fā)環(huán)境 這是一款免費(fèi)的軟件 在這款軟件上編程需要使用Arduino的語言 這是一種解釋型語言 寫好的程序被稱為sketch 編譯通過后就可以下載到開發(fā)板中 在Arduino的官方網(wǎng)站上可以下載這款官方設(shè)計(jì)的軟件及源碼 教程和文檔 Arduino開發(fā)基礎(chǔ)操作 16 Arduino開發(fā)基礎(chǔ)操作 2 1搭建開發(fā)環(huán)境 2 1 2在windows上安裝IDE 注意USB驅(qū)動(dòng) JavaFramework 查看端口 選擇主板類型 17 Arduino開發(fā)基礎(chǔ)操作 2 1搭建開發(fā)環(huán)境 2 1 2在windows上安裝IDE 18 Arduino開發(fā)基礎(chǔ)操作 2 2常用的Arduino第三方軟件介紹 2 2 1圖形化編程軟件ArduBlock 19 Arduino開發(fā)基礎(chǔ)操作 2 2常用的Arduino第三方軟件介紹 2 2 2Arduino仿真軟件Virtualbreadboard 20 Arduino開發(fā)基礎(chǔ)操作 2 2常用的Arduino第三方軟件介紹 2 2 2Arduino仿真軟件Virtualbreadboard Virtualbreadboard是一款專門的Arduino仿真軟件 簡稱VBB 中文名為 虛擬面包板 這款軟件主要通過單片機(jī)實(shí)現(xiàn)嵌入式軟件的模擬和開發(fā)環(huán)境 它不但包括了所有Arduino的樣例電路 可以實(shí)現(xiàn)對(duì)面包板電路的設(shè)計(jì)和布置 非常直觀地顯示出面包板電路 還可實(shí)現(xiàn)對(duì)程序的仿真調(diào)試 21 Arduino開發(fā)基礎(chǔ)操作 2 2常用的Arduino第三方軟件介紹 2 2 2Arduino仿真軟件Virtualbreadboard VBB可以模擬Arduino連接各種電子模塊 例如液晶屏 舵機(jī) 邏輯數(shù)字電路 各種傳感器以及其他的輸入 輸出設(shè)備 這些部件都可以直接使用 也可以通過組合 設(shè)計(jì)出更復(fù)雜的電路和模塊 使用VBB可以直觀的了解電路設(shè)計(jì) 能夠在設(shè)計(jì)出原型后快速實(shí)現(xiàn) 而且虛擬面板具有可視性和模擬交互效果 可以實(shí)時(shí)地在軟件上看到LED LCD等可視模塊的變化 同時(shí)可以確保安全 因?yàn)椴皇菍?shí)物操作不會(huì)引起觸電或者燒毀芯片等問題 22 Arduino開發(fā)基礎(chǔ)操作 2 3第一個(gè)程序 2 3 1LED閃光燈 編寫第一個(gè)程序控制開發(fā)板上的LED燈閃爍 修改參數(shù)調(diào)整閃爍時(shí)間 ArduinoIDE和blink 23 Arduino開發(fā)基礎(chǔ)操作 2 3第一個(gè)程序 2 3 1LED閃光燈程序解析 BlinkTurnsonanLEDonforonesecond thenoffforonesecond repeatedly 注釋 并非程序的內(nèi)容 24 Arduino開發(fā)基礎(chǔ)操作 2 3第一個(gè)程序 2 3 1LED閃光燈程序解析 intLEDPin 13 declarevariable 聲明變量 25 Arduino開發(fā)基礎(chǔ)操作 2 3第一個(gè)程序 2 3 1LED閃光燈程序解析 thesetupfunctionrunsoncewhenyoupressresetorpowertheboardvoidsetup initializedigitalpin13asanoutput pinMode LEDPin OUTPUT 設(shè)置數(shù)字引腳13為輸出 INPUT和OUTPUT是ArduinoIDE已經(jīng)預(yù)先定義好的變量 26 Arduino開發(fā)基礎(chǔ)操作 2 3第一個(gè)程序 2 3 1LED閃光燈程序解析 theloopfunctionrunsoverandoveragainforevervoidloop digitalWrite LEDPin HIGH settheledondelay 1000 waitforaseconddigitalWrite LEDPin LOW settheledoffdelay 1000 waitforasecond digitalWrite是內(nèi)建函數(shù) 改變數(shù)字引腳輸出狀態(tài)是ON還是OFF 它需要兩個(gè)參數(shù) Delay是內(nèi)建的延遲函數(shù) 27 Arduino開發(fā)平臺(tái)介紹 2 3 3函數(shù)庫和程序架構(gòu)介紹 Arduino程序的架構(gòu)大體可分為3個(gè)部分 1 聲明變量及接口的名稱 2 setup 在Arduino程序運(yùn)行時(shí)首先要調(diào)用setup 函數(shù) 用于初始化變量 設(shè)置針腳的輸出 輸入類型 配置串口 引入類庫文件等等 每次Arduino上電或重啟后 setup 函數(shù)只運(yùn)行一次 3 loop 在setup 函數(shù)中初始化和定義變量 然后執(zhí)行l(wèi)oop 函數(shù) 顧名思義 該函數(shù)在程序運(yùn)行過程中不斷地循環(huán) 根據(jù)反饋 相應(yīng)地改變執(zhí)行情況 通過該函數(shù)動(dòng)態(tài)控制Arduino主控板 28 Arduino開發(fā)平臺(tái) 29 Arduino開發(fā)實(shí)例 3用Arduino控制一個(gè)舵機(jī) 3 1舵機(jī)基本工作原理 舵機(jī)是一種位置伺服的驅(qū)動(dòng)器 主要是由外殼 電路板 無核心馬達(dá) 齒輪與位置檢測器所構(gòu)成 其工作原理是由單片機(jī)發(fā)出信號(hào)給舵機(jī) 與舵機(jī)內(nèi)部的基準(zhǔn)信號(hào)比較 獲得電壓差輸出 驅(qū)動(dòng)無核心馬達(dá)開始轉(zhuǎn)動(dòng) 透過減速齒輪將動(dòng)力傳至擺臂 同時(shí)由位置檢測器送回信號(hào) 判斷是否已經(jīng)到達(dá)定位 此過程中電機(jī)通過級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn) 使得電壓差為0 電機(jī)停止轉(zhuǎn)動(dòng) 舵適用于那些需要角度不斷變化并可以保持的控制系統(tǒng) 30 Arduino開發(fā)實(shí)例 Arduino開發(fā)板上需要關(guān)注的重點(diǎn) 1 核心微控制器 ArduinoUno使用的是AtmelAVRATmega328P微控制器 31 Arduino開發(fā)實(shí)例 3 1舵機(jī)有很多規(guī)格 但所有的舵機(jī)都有外接三根線 分別用棕 紅 橙三種顏色進(jìn)行區(qū)分 由于舵機(jī)品牌不同 顏色也會(huì)有所差異 棕色為接地線 紅色為電源正極線 橙色為信號(hào)線 32 Arduino開發(fā)實(shí)例 3 1舵機(jī)的轉(zhuǎn)動(dòng)的角度是通過調(diào)節(jié)PWM 脈沖寬度調(diào)制 信號(hào)的占空比來實(shí)現(xiàn)的 由于舵機(jī)牌子不同 對(duì)于同一信號(hào) 不同牌子的舵機(jī)旋轉(zhuǎn)的角度也會(huì)有所不同 33 Arduino開發(fā)實(shí)例 34 Arduino開發(fā)實(shí)例 這是Sketch源碼 includeServoduoji voidsetup duoji attach 9 35 Arduino開發(fā)實(shí)例 voidloop duoji write 90 delay 2000 duoji write 180 delay 2000 duoji write 0 delay 2000 36 Arduino開發(fā)實(shí)例 Sketch分析 這個(gè)Sketch精悍 它的工作原理如下 include Sketch第一行指向Arduino的一個(gè)庫文件 Servo庫文件提供了專門用于操作舵機(jī)的指令集 庫文件可以極大的簡化編程任務(wù) 37 Arduino開發(fā)實(shí)例 Sketch分析 這個(gè)Sketch精悍 它的工作原理如下 Servoduoji 使用Servo類創(chuàng)建一個(gè)對(duì)象duoji 編程語言中 類是指一個(gè)封裝了數(shù)據(jù)的封包 包含了對(duì)這個(gè)數(shù)據(jù)進(jìn)行處理的各種機(jī)制 舉例 38 Arduino開發(fā)實(shí)例 Sketch分析 這個(gè)Sketch精悍 它的工作原
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童畫橙子課件導(dǎo)入
- 團(tuán)聚力培訓(xùn)課件
- 《沁園春 雪》教學(xué)課件 初中語文人教部編版九年級(jí)上冊
- 海南小學(xué)生數(shù)學(xué)試卷
- 2026版《全品高考》選考復(fù)習(xí)方案生物04 專題一 運(yùn)動(dòng)圖像問題含答案
- 虹口二模初三數(shù)學(xué)試卷
- 河北省對(duì)口升數(shù)學(xué)試卷
- 廣聯(lián)達(dá)初學(xué)培訓(xùn)課件
- 傳染病防控大樓建設(shè)項(xiàng)目初步設(shè)計(jì)(范文模板)
- 社交電商可持續(xù)發(fā)展模式-洞察及研究
- 水產(chǎn)品營銷課程設(shè)計(jì)
- 【真題】2024年常州市中考英語試卷(含答案解析)
- 咸陽市縣級(jí)地圖可編輯矢量行政區(qū)劃(陜西省)
- 2023-2024學(xué)年鄭州市外國語中學(xué)八年級(jí)物理第二學(xué)期期末綜合測試模擬試題及答案解析
- 基于RT-LAB的風(fēng)電并網(wǎng)混合仿真系統(tǒng)
- 分析初中地理“關(guān)鍵能力”
- 2024年江西省風(fēng)力發(fā)電運(yùn)維值班員職業(yè)技能競賽備考試題庫(含答案)
- 護(hù)理MDT多學(xué)科協(xié)作模式
- 應(yīng)急救災(zāi)物資采購?fù)稑?biāo)方案(技術(shù)方案)
- 2024年上海鐵路局集團(tuán)招聘筆試參考題庫附帶答案詳解
- 分子生物學(xué)檢測實(shí)驗(yàn)室技術(shù)要求與質(zhì)量控制
評(píng)論
0/150
提交評(píng)論