chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用Arduino編程

454398 ? 來源:工程師吳畏 ? 2019-07-26 08:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您是否擁有產(chǎn)品或項(xiàng)目請(qǐng)注意,您可能會(huì)發(fā)現(xiàn)自己需要使用PC以外的硬件或本地硬件商店中可以找到的某些組件。適合初學(xué)者的一件硬件,Arduino,可能只是你的胡同。但是您可以從這樣的設(shè)備中得到什么,它是否適合您的需求?

一個(gè)獨(dú)特的硬件控制器

PC,平板電腦手機(jī)是大多數(shù)人都可以訪問的常用平臺(tái)。正因?yàn)槿绱?,許多個(gè)人和公司已經(jīng)利用了對(duì)軟件的需求并生產(chǎn)了應(yīng)用程序,該行業(yè)每年的收入超過770億美元。但是這些設(shè)備面臨的一個(gè)主要問題是它們有限的I/O能力,控制像繼電器這樣簡單的事情可能是一項(xiàng)艱巨的任務(wù)。這是需要不同計(jì)算設(shè)備的地方,對(duì)于大多數(shù)新手來說,我想到了兩個(gè)主要設(shè)備:Raspberry Pi和Arduino。 Raspberry Pi是一款非常強(qiáng)大的單板計(jì)算機(jī),具有多個(gè)IO連接,包括允許連接電路的通用I/O(GPIO)連接器。但Raspberry Pi也有一些缺點(diǎn)。首先,它需要大量的電力才能運(yùn)行(2A @ 5V),其次,它不是最簡單的工作和程序。這就是Arduino的用武之地!

與Raspberry Pi不同,Arduino是一個(gè)小得多的計(jì)算設(shè)備,強(qiáng)調(diào)硬件而不是軟件。因此,雖然Raspberry Pi有4個(gè)64位內(nèi)核和1GB內(nèi)存,但Arduino有一個(gè)運(yùn)行在16MHz的單核,2KB的RAM和32KB的存儲(chǔ)。但與Pi不同,Arduino有許多IO引腳,可以比Raspberry Pi做更多的工作,包括模擬 - 數(shù)字轉(zhuǎn)換和PWM(脈沖寬度調(diào)制)。 Arduino也專注于用戶的程序,并且是唯一運(yùn)行的,與Pi不同,它需要操作系統(tǒng)來運(yùn)行用戶程序(這意味著在程序運(yùn)行時(shí),許多其他進(jìn)程也是如此)。

Arduino是如何編程的?

Arduino是圍繞微控制器系列構(gòu)建的使用Atmega328P將Arduino Uno板稱為ATMega。這些微控制器與市場上數(shù)百萬的微控制器非常相似,包括微控制器生產(chǎn)的PIC器件。這些設(shè)備的問題在于它們通常需要專用的編程器設(shè)備來將用戶程序放入其閃存(例如PICKIT 3)中。這使得它們使用起來很復(fù)雜,特別是那些沒有微控制器經(jīng)驗(yàn)的人。但這就是Arduino的不同之處! Arduino的設(shè)計(jì)人員意識(shí)到專用編程器存在問題,因此他們?cè)贏rduino中設(shè)計(jì)了一個(gè)引導(dǎo)加載程序,允許USB端口加載用戶程序。因此,當(dāng)您將Arduino連接到USB端口時(shí),它將被識(shí)別為通用串行端口,并且連接的PC甚至可能將其識(shí)別為Arduino。

將Arduino連接到USB端口,我們距離我們的第一個(gè)項(xiàng)目更近了一步。但是我們使用什么語言以及我們需要下載什么應(yīng)用來制作Arduino程序?嗯,Arduino的設(shè)計(jì)人員不僅可以輕松地將Arduino連接到PC,而且他們還決定制作一個(gè)免費(fèi)的IDE(集成開發(fā)環(huán)境),它可以讓你在安裝后不到五分鐘的時(shí)間內(nèi)閃爍LED??梢酝ㄟ^以下鏈接從Arduino網(wǎng)站下載IDE:

Arduino IDE下載頁面

下載后,安裝IDE。完成后,通過啟動(dòng)Arduino程序運(yùn)行IDE。在Windows 10中,您可以打開開始菜單并鍵入“Arduino”(這應(yīng)該會(huì)啟動(dòng)IDE)。

如果沒有,請(qǐng)查看桌面上的Arduino圖標(biāo)。

如果一切都去了計(jì)劃,你應(yīng)該看到Arduino IDE加載一個(gè)空白程序,如下所示。

您的第一個(gè)程序

Arduino IDE用于制作Arduino程序的語言是C ++,它是一種面向?qū)ο蟮恼Z言。 C ++本身不會(huì)深入討論或教授,因?yàn)楸?a href="http://www.brongaenegriffin.com/v/" target="_blank">教程的目的是演示使用Arduino是多么容易。

在你的空白項(xiàng)目中,你應(yīng)該看到兩個(gè)不同的功能:setup()和環(huán)()。當(dāng)Arduino首次打開并開始運(yùn)行時(shí),它將執(zhí)行setup中的代碼。此功能用于配置硬件和變量,以便您的程序以已知狀態(tài)運(yùn)行,并且所有需要的硬件都已正確配置供您使用(例如打開ADC端口)。在setup()之后執(zhí)行的下一個(gè)main函數(shù)是loop(),它無限運(yùn)行并用于運(yùn)行程序(在執(zhí)行循環(huán)中找到的最后一條指令后,Arduino將跳轉(zhuǎn)到循環(huán)中找到的第一條指令)。在我們的項(xiàng)目中,我們將使用Arduino Uno,我們的目標(biāo)是制作板載LED閃光燈。

值得慶幸的是,IDE的設(shè)計(jì)者已經(jīng)包含了許多示例,我們將加載閃爍示例,這可以通過單擊文件》示例》 01.Basics》 Blink來完成。如果一切順利,你應(yīng)該看到以下代碼(你上面可能有一些灰色的注釋,但這沒關(guān)系):

在我們繼續(xù)前進(jìn)之前,我們必須告訴我們的IDE是我們正在使用的Arduino板。在我的情況下,我有一個(gè)Arduino Uno,所以我需要通過工具》 Board》 Arduino Uno/Genuino Uno來選擇它。

現(xiàn)在我們打開了blink示例并選擇了正確的板,現(xiàn)在是時(shí)候使用這段代碼對(duì)Arduino進(jìn)行編程了。執(zhí)行此操作的第一項(xiàng)任務(wù)是編譯代碼,單擊驗(yàn)證圖標(biāo)(如下所示):

編譯代碼后,您應(yīng)該會(huì)在底部控制臺(tái)窗口中看到以下消息:

最后一步是將程序加載到Arduino中。第一項(xiàng)任務(wù)是確保IDE知道要使用哪個(gè)串口,因此,為此,我們導(dǎo)航到工具》端口,然后選擇串口。值得慶幸的是,大多數(shù)現(xiàn)代設(shè)備沒有串行端口,因此應(yīng)該有兩種選擇之一:COM1和其他一些COM。 COM1通常不是可訪問的串行端口,并且由OS內(nèi)部使用,因此請(qǐng)選擇備用COM端口。例如,我的是COM8。被警告!計(jì)算機(jī)可能決定在將來更改COM端口,因此如果IDE在連接時(shí)找不到Arduino,請(qǐng)轉(zhuǎn)到端口列表并查找備用端口。例如,我的Arduino曾經(jīng)是COM7,但由于某種原因改為COM8。

現(xiàn)在可以通過點(diǎn)擊上傳按鈕對(duì)Arduino進(jìn)行編程!

結(jié)果?

IDE成功上傳后閃爍程序,您應(yīng)該看到板載LED亮一秒鐘,關(guān)閉一秒鐘,然后重復(fù)。但是我們的計(jì)劃如何運(yùn)作? Arduino如何打開和關(guān)閉LED?

我們之前討論過,Arduino Uno的核心是Atmel Atmega328微控制器,它有許多金屬引腳連接到集成電路(我假設(shè)你在這里有一定程度的電路知識(shí))。其中一些引腳用于供電,一些用于外部振蕩器,其余用于輸入和輸出(如開關(guān),LED,數(shù)據(jù)端口等)。 Uno上的LED連接到引腳13,因此為了使用LED,我們必須將該引腳配置為輸出(可以控制外部設(shè)備的輸出)。

為此,我們使用一個(gè)名為pinMode()的簡單函數(shù)。該函數(shù)有兩個(gè)參數(shù):我們正在配置的引腳,以及引腳的類型,無論是輸出還是輸入。因此,在我們的代碼中,我們將LED引腳配置為輸出。您可能想知道為什么該功能使用LED_BUILTIN而不是13.這是因?yàn)椴煌腁rduino板可能使用不同的引腳用于內(nèi)置LED,因此Arduino IDE的設(shè)計(jì)者巧妙地創(chuàng)建了一個(gè)名為LED_BUILTIN的變量。當(dāng)您選擇電路板類型(Uno,Nano等)時(shí),此變量將更改為內(nèi)置LED連接的正確引腳,因此您的閃爍項(xiàng)目仍然有效!

設(shè)置Arduino后,執(zhí)行主循環(huán)功能。我們遇到的第一條指令是digitalWrite(),它用于打開或關(guān)閉輸出(HIGH或LOW)。這個(gè)函數(shù)有兩個(gè)參數(shù):我們寫的引腳和值。第一條指令通過將HIGH(1)寫入LED引腳來打開LED。

打開LED后執(zhí)行的下一條指令是延遲(1000)。此函數(shù)使Arduino延遲n毫秒,其中n是傳遞給延遲函數(shù)的參數(shù)。換句話說,延遲(1000)將等待1000ms,等于一秒。如果調(diào)用delay(1),Arduino將延遲1ms。

最后兩條指令類似于之前執(zhí)行的兩條指令,除了不打開LED,我們通過寫入LOW將其關(guān)閉LED引腳使用digitalWrite()函數(shù)。一旦關(guān)閉,Arduino會(huì)在無限期重復(fù)整個(gè)循環(huán)之前執(zhí)行最后一秒鐘的延遲。

結(jié)論

雖然這個(gè)例子看似簡單,但它證明了編寫和編寫Arduino是多么容易。存在其他微控制器,例如PIC系列,但它們需要定制電路和專用編程器,而Arduino只需要USB端口和USB B電纜。當(dāng)然,在需要精確控制的某些情況下,Arduino是不實(shí)用的,例如高級(jí)傳感器,中斷控制,DMA數(shù)字信號(hào)處理。因此,如果您的產(chǎn)品是簡單的物聯(lián)網(wǎng)設(shè)備或機(jī)器人控制器,那么Arduino可能只適合您!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    89

    文章

    3704

    瀏覽量

    96244
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6508

    瀏覽量

    194669
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Arduino與LabVIEW聯(lián)合編程指南

    Arduino編程并與LabVIEW上位機(jī)結(jié)合實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制與數(shù)據(jù)采集。
    發(fā)表于 06-19 15:54 ?1次下載

    免費(fèi)分享Arduino入門+進(jìn)階(全套例程+書籍)

    Arduino是一款開源電子原型平臺(tái),由硬件(單片機(jī)開發(fā)板)和軟件(編程環(huán)境)組成,旨在讓非專業(yè)用戶也能輕松入門電子制作和編程。它的核心思想是簡化硬件開發(fā),通過直觀的編程和模塊化設(shè)計(jì),
    的頭像 發(fā)表于 05-22 11:40 ?611次閱讀
    免費(fèi)分享<b class='flag-5'>Arduino</b>入門+進(jìn)階(全套例程+書籍)

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡單易用的可編程控制器,但是由于開發(fā)平臺(tái)種類繁多,而且使用這些控制器基本上都需要對(duì)電子技術(shù)、數(shù)字邏輯、寄存器等內(nèi)容進(jìn)行多方面的了解和學(xué)習(xí),才能
    發(fā)表于 05-13 09:28

    請(qǐng)問DLP6540怎樣編程

    請(qǐng)問DLP6540怎樣編程,怎樣通過那個(gè)DLP composer來新建工程,配置各項(xiàng)參數(shù),有參考資料教程之類的么,謝謝
    發(fā)表于 02-21 06:49

    使用ADS1281的SPI采集數(shù)據(jù),各個(gè)引腳應(yīng)該怎么連接?

    我想使用ADS1281的SPI采集數(shù)據(jù),各個(gè)引腳應(yīng)該怎么連接?那些是必須用I/O口,那些可以直接上拉或下啦,如果想預(yù)留PIN模式,怎樣用最少的I/O口接線,還有同步輸入引腳的作用是什么?應(yīng)該怎么接線?謝謝
    發(fā)表于 02-10 06:52

    EE-33:C語言對(duì)ADSP-21xx定時(shí)器進(jìn)行編程

    電子發(fā)燒友網(wǎng)站提供《EE-33:C語言對(duì)ADSP-21xx定時(shí)器進(jìn)行編程.pdf》資料免費(fèi)下載
    發(fā)表于 01-15 15:46 ?0次下載
    EE-33:<b class='flag-5'>用</b>C語言對(duì)ADSP-21xx定時(shí)器進(jìn)行<b class='flag-5'>編程</b>

    如何使用Arduino實(shí)現(xiàn)CAN總線通信呢

    CAN(Controller Area Network)總線是一種常用于汽車和工業(yè)控制系統(tǒng)的串行通信協(xié)議,以其高可靠性和實(shí)時(shí)性而聞名。Arduino,作為一種流行的開源微控制器平臺(tái),可以通過附加
    的頭像 發(fā)表于 12-23 09:06 ?2554次閱讀

    ADS131A02讀出的數(shù)據(jù)不對(duì)是怎么回事?

    我的SCLK是4M,fmod = SCLK/2, fdata = fmod /32, 那我應(yīng)該怎樣用SCLK 讀取數(shù)據(jù)呢?我使用的是同步從模式。現(xiàn)在我的CS,sync連在一起,配置完寄存器后一直為低電平,讀出的數(shù)據(jù)全是6.
    發(fā)表于 12-03 08:14

    基于Arduino的串口通信項(xiàng)目

    基于Arduino的串口通信項(xiàng)目涉及多個(gè)方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準(zhǔn)備 Arduino開發(fā)板 :確保你有一塊Arduino開發(fā)板,如
    的頭像 發(fā)表于 11-22 09:24 ?2742次閱讀

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個(gè)經(jīng)常被提及的名字。STM32是一系列由STMicroelectronics生產(chǎn)的高性能微控制器,而Arduino則是一個(gè)開源電子原型平臺(tái),基于易于
    的頭像 發(fā)表于 11-19 15:45 ?4939次閱讀

    如何使用Arduino實(shí)現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動(dòng)化等領(lǐng)域。它以其高可靠性、實(shí)時(shí)性和靈活性而受到青睞。Arduino作為一個(gè)
    的頭像 發(fā)表于 11-12 10:09 ?3331次閱讀

    樹莓派與Arduino的區(qū)別是什么

    Pi): 樹莓派最初是作為教育工具設(shè)計(jì)的,旨在幫助學(xué)生學(xué)習(xí)計(jì)算機(jī)編程和電子工程。隨著時(shí)間的推移,它已經(jīng)發(fā)展成為一個(gè)多功能的微型計(jì)算機(jī),可以用于各種項(xiàng)目,包括但不限于: 家庭媒體中心 游戲機(jī) 網(wǎng)絡(luò)服務(wù)器 IoT(物聯(lián)網(wǎng))設(shè)備 教育和學(xué)習(xí)平臺(tái) Arduino
    的頭像 發(fā)表于 11-11 11:14 ?2942次閱讀

    請(qǐng)問TAS5706如何用硬件控制I2C?

    TAS5706 的Control Interface可以HW,SW。我想問問怎樣用HW來控制呢?因?yàn)槲乙粋€(gè)板上預(yù)計(jì)8個(gè)TAS5706,MCU怎樣去識(shí)別?
    發(fā)表于 10-23 08:33

    多個(gè)TLV320AIC3254一路I2C總線對(duì)其配置可行嗎?

    一片CPU3片TLV320AIC3254做音頻處理,想用一路I2C總線對(duì)其配置可行嗎? 地址好像是唯一的 0011000沒法設(shè)置,手冊(cè)中又提到可使用10位地址但是沒找到說明怎樣用,哪位大俠用過
    發(fā)表于 10-22 07:54

    如何用5509A產(chǎn)生一個(gè)白噪聲,經(jīng)AIC23播放出來然后再用AIC23采集這個(gè)聲音?

    怎樣用5509A產(chǎn)生一個(gè)白噪聲,經(jīng)AIC23播放出來然后再用AIC23采集這個(gè)聲音
    發(fā)表于 10-15 06:26