日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]Arduino的原理及應(yīng)用

摘要:Arduino是目前較為流行的電子互動(dòng)平臺,基于單片機(jī)系統(tǒng)開發(fā),具有使用簡單、功能多樣、價(jià)格低廉等優(yōu)點(diǎn),廣泛應(yīng)用于電子系統(tǒng)設(shè)計(jì)和互動(dòng)產(chǎn)品開發(fā)方面。文中詳細(xì)介紹了Arduino的功能特點(diǎn)、基本結(jié)構(gòu),并通過LEO控制電路的應(yīng)用給出了具體的使用方法。
關(guān)鍵詞:電子設(shè)計(jì);控制電路;Arduino;LED

    Arduino是2005年1月由米蘭交互設(shè)計(jì)學(xué)院的兩位教師David Cuartielles和Massimo Banzi聯(lián)合創(chuàng)建,是一塊基于開放原始代碼的Simple I/O平臺,該平臺由兩部分組成:硬件(包括微處理器、電路板等)和軟件(編程接口和語言)。平臺的兩部分都是開源的,如果需要,可以下載Arduino的圖表、購買需要的所有獨(dú)立部件、切割電路板并制作一個(gè)電路板。Arduino具有類似java、C語言的開發(fā)環(huán)境??梢钥焖偈褂肁rdu ino語言與Flash或Processing等軟件完成互動(dòng)作品。Arduino能夠使用開發(fā)完成的電子元件,如Switch、Sensors或其它控制器、LED、步進(jìn)電機(jī)或其它輸入/輸出裝置,同時(shí),Arduino也可以成為獨(dú)立與軟件溝通的平臺,如flash、Processing、Max/MSP或其它互動(dòng)軟件。

1 功能特點(diǎn)
    Arduino在開發(fā)之初,就明確了其應(yīng)用環(huán)境,設(shè)計(jì)了開源開放的平臺,便于對其進(jìn)行二次開發(fā)。Arduino的主要功能特點(diǎn)如下:
    1)開放源代碼的電路圖設(shè)計(jì)。程序開發(fā)接口免費(fèi)下載,也可依需求自己修改。
    2)使用低價(jià)格的微處理控制器(ATmega8或ATmega128)??梢圆捎肬SB接口供電,不需外接電源,也可以使用外部9VDC輸入。
    3)支持ISP線上燒入器,將Bootloader固件燒入芯片。Arduino控制器內(nèi)帶Bootloader程序,是系統(tǒng)上電后運(yùn)行的第一段代碼,就好比PC機(jī)BIOS中的程序,啟動(dòng)就進(jìn)行自檢,配置端口等等,當(dāng)然,單片機(jī)是靠燒寫熔絲位來設(shè)定上電從boot區(qū)啟動(dòng)的,使用這個(gè)程序就可以直接把從串口發(fā)來的程序存放到flash區(qū)中。所以,使用Arduino編譯環(huán)境下載程序時(shí),就先讓單片機(jī)復(fù)位,啟動(dòng)Boodoader程序引導(dǎo)串口發(fā)過來的程序順利寫入flash區(qū)中,flash可以重復(fù)燒寫,因此想更新軟件非常方便。有了Bootloader之后,可以通過串口或者USB to RS232線更新固件。
    4)可依據(jù)官方提供的PCB和SCH電路圖,簡化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制。
    5)可簡單地與傳感器,各式各樣的電子元件連接,如紅外線、超音波、熱敏電阻、光敏電阻、伺服馬達(dá)等。
    6)支持多樣的互動(dòng)程序,如Flash,Max/MSP,VVVV,PureData,C,Processin等。使用低價(jià)格的微處理控制器。
    7)應(yīng)用方面,利用hrduino,突破以往只能使用鼠標(biāo)、鍵盤、CCD等輸入的裝置的互動(dòng)內(nèi)容,可以更簡單地達(dá)成單人或多人游戲互動(dòng)。Ard uino的功能特點(diǎn),使其得到了越來越廣泛的應(yīng)用。

2 基本結(jié)構(gòu)
    Arduino系統(tǒng)針對不同的應(yīng)用環(huán)境還開發(fā)了不同的版本,文中以“Arduino Duemilanove”版本為例介紹,該版本于2009年開發(fā),基于ATm ega328微控制器板,能自動(dòng)選擇何種供電,直接將它用USB線連上計(jì)算機(jī)或者用一個(gè)電源適配器給它供電,就可以開始使用。Arduino Duemilanove的外部結(jié)構(gòu)如圖1所示。


    1)1個(gè)9V DC輸入,為Arduino板提供外部電源輸出,使Arduino控制板具有能夠驅(qū)動(dòng)舵機(jī)等大功率外部設(shè)備的能力;
    2)1個(gè)USB口,通過該口連接到計(jì)算機(jī),由Arduino的IDE將用戶編寫好的控制程序上傳到控制板中,同時(shí)還可以通過該口為電路板供電,驅(qū)動(dòng)小功率的外部設(shè)備;
    3)14個(gè)數(shù)字輸入/輸出端,其中端口0(RX)和1(TX)分別連接主控芯片的串行引腳,用來接收和發(fā)送TTL串行數(shù)據(jù)。其中端口2、3可以接收外部信號,實(shí)現(xiàn)外部中斷功能;端口3、5、6、9、10、11作為PWM端口,可用于電機(jī)PWM調(diào)速[5]或音樂播放;端口10(SS)、11(MOSI)、12(MISO)和13(SCK)在SPI模塊庫的支持下,可以提供SPI通信模式;端口13內(nèi)部連接了一個(gè)LED指示燈,隨著13腳上電平的高低變化,實(shí)現(xiàn)開啟和關(guān)閉;
    4)6個(gè)模擬輸入/輸出端,其中端口4(SDA)和端口5(SCL)端口可以實(shí)現(xiàn)I2C通信;
    5)1個(gè)5 V DC輸出和1個(gè)3.3 V DC輸出,可為其它電路提高3.3 V和5 V直流電源;
    6)1個(gè)復(fù)位接口。
    Arduino系統(tǒng)是基于單片機(jī)開發(fā)的,并且大量應(yīng)用通用和標(biāo)準(zhǔn)的電子元器件,包括硬件和軟件在內(nèi)的整個(gè)設(shè)計(jì),代碼均采用開源方式發(fā)布,因此采購的成本較低,在各種電子制作競賽、電子藝術(shù)品創(chuàng)意設(shè)計(jì)等越來越多地使用Arduino作為開發(fā)平臺。

3 應(yīng)用
    Arduino系統(tǒng)在電子設(shè)計(jì)等方面應(yīng)用較多,本文以簡單的LEO控制為例,說明Arduino系統(tǒng)的使用。
    LEO控制系統(tǒng)中,采用開關(guān)S控制LED的亮滅,設(shè)開關(guān)S閉合時(shí),LED發(fā)光,S斷開時(shí),LED熄滅。因此,系統(tǒng)設(shè)計(jì)時(shí)采用數(shù)字輸入/輸出口的兩個(gè)引腳分別進(jìn)行LED和S開關(guān)的連接,電路如圖2所示。

[!--empirenews.page--]
    Arduino語言是建立在C/C++基礎(chǔ)上的,其實(shí)也就是基礎(chǔ)的C語言,Arduno語言將AVR單片機(jī)(微控制器)相關(guān)的一些參數(shù)設(shè)置模塊化,包括EEPROM、以太網(wǎng)、LED矩陣、舵機(jī)、步進(jìn)和TWI/I2C控制程序庫,不需要用戶直接處理底層系統(tǒng),可以提高應(yīng)用程序的開發(fā)效率。流程如圖3所示。


    Arduino語言是以setup()開頭,loop()作為主體的一個(gè)程序構(gòu)架。setup()用來初始化變量、管腳模式、調(diào)用庫函數(shù)等等,該函數(shù)只運(yùn)行一次,功能類似C語言中的“main()”。loop()函數(shù)是一個(gè)循環(huán)函數(shù),函數(shù)內(nèi)的語句周而復(fù)始的循環(huán)執(zhí)行。設(shè)通過D10引腳控制LED,D2引腳連接控制開關(guān)S,主要代碼如下:
   
   
    Setup函數(shù)中,pinMode函數(shù)是數(shù)字I/O口輸入輸出定義函數(shù),可以定Arduino上0~13口的輸入輸出狀態(tài),INPUT和OUTPUT分別表示輸出和輸出模式。loop函數(shù)中,digitalRead為數(shù)字I/O口讀取電平值函數(shù),digitalWrite為數(shù)字I/O口輸出電平定義函數(shù)。本例中在setup函數(shù)中,將端口2定義為數(shù)字信號輸入端口,將端口10定義為數(shù)字信號輸出端口;在函數(shù)loop中,首先讀入端口2的電平信號,然后依據(jù)該端口電平值的高低,設(shè)置輸出端口10的電平值。
    將編寫好的控制代碼通過Arduino的IDE上傳到控制板之后,關(guān)閉或者打開開關(guān)S,便會觀察到LED的亮滅情況。

4 結(jié)論
    Arduino系統(tǒng)是建立在C/C++基礎(chǔ)上的,也就是基礎(chǔ)的C語言,Arduino系統(tǒng)只是將AVR單片機(jī)(微控制器)相關(guān)的一些寄存器參數(shù)設(shè)置等都函數(shù)化了,即使不太了解AVR單片機(jī)的朋友也能輕松上手,設(shè)計(jì)出各種實(shí)用的電路開發(fā)系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉