91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

怎樣用Arduino編程

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

掃碼添加小助手

加入工程師交流群

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

一個獨特的硬件控制器

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

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

Arduino是如何編程的?

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

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

Arduino IDE下載頁面

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

如果沒有,請查看桌面上的Arduino圖標。

如果一切都去了計劃,你應該看到Arduino IDE加載一個空白程序,如下所示。

您的第一個程序

Arduino IDE用于制作Arduino程序的語言是C ++,它是一種面向?qū)ο蟮恼Z言。 C ++本身不會深入討論或教授,因為本教程的目的是演示使用Arduino是多么容易。

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

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

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

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

編譯代碼后,您應該會在底部控制臺窗口中看到以下消息:

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

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

結(jié)果?

IDE成功上傳后閃爍程序,您應該看到板載LED亮一秒鐘,關閉一秒鐘,然后重復。但是我們的計劃如何運作? Arduino如何打開和關閉LED?

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

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

設置Arduino后,執(zhí)行主循環(huán)功能。我們遇到的第一條指令是digitalWrite(),它用于打開或關閉輸出(HIGH或LOW)。這個函數(shù)有兩個參數(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將其關閉LED引腳使用digitalWrite()函數(shù)。一旦關閉,Arduino會在無限期重復整個循環(huán)之前執(zhí)行最后一秒鐘的延遲。

結(jié)論

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

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

    關注

    90

    文章

    3717

    瀏覽量

    97247
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    USBISP/USBasp編程器給Atmega32U4下載Arduino bootloader引導程序

    對于新出廠的ATmega32U4芯片內(nèi)部是沒有arduino引導程序的,需要用戶預先下載bootloader后才能用串口下載自己的應用程序.在某些罕見情況下舊的bootloader會導致一些bug
    的頭像 發(fā)表于 01-31 14:38 ?738次閱讀
    USBISP/USBasp<b class='flag-5'>編程</b>器給Atmega32U4下載<b class='flag-5'>Arduino</b> bootloader引導程序

    CH341編程軟件下載

    一款外國人設計的CH341編程軟件,針對24CXX,25CXX等編程下載,有更新資料見閑魚上”于人雜貨鋪“
    發(fā)表于 01-23 15:37 ?16次下載

    ARDUINO串口收發(fā)16進制碼

    到16進制碼為 1B 02 00 0A 8E 00 41 BA 40 00 42 16 FE BF 18,對收到的16進制碼進行解析,可以得到正確的溫度濕度值。但是Arduino UNO向設備發(fā)送
    發(fā)表于 01-18 17:27

    UNO Q:開啟Arduino的全新未來

    圖源: * Arduino* 作者:Matt Campbell,貿(mào)澤電子專稿 發(fā)布日期: 2025年10月7日 Arduino UNO Q不僅是靈活UNO平臺的下一代產(chǎn)品,更是一種全新的開發(fā)模式。雙
    的頭像 發(fā)表于 12-15 11:46 ?895次閱讀

    Arduino plc和termux esp

    Arduino plc和termux esp
    的頭像 發(fā)表于 12-06 06:41 ?1901次閱讀

    大神們,想知道你們都用什么ide編程調(diào)試器? Arduino IDE?還是 e2studio ?還有其他嗎?哪個好用呢

    大神們,想知道你們都用什么ide編程調(diào)試器? Arduino IDE? 還是 e2studio ? 還有其他嗎? 哪個IDE好用呢? 求指點呀
    發(fā)表于 11-30 12:05

    WEMOS D1 R32 Arduino IDE 點燈程序 及搭建

    https://v.kuaishou.com/J43p6seX D1 R32 "Arduino IDE "閃爍 該作品在快手被播放過1次,點擊鏈接,打開【快手】直接觀看!
    的頭像 發(fā)表于 10-27 14:51 ?600次閱讀

    高通宣布收購 Arduino,加速普及前沿邊緣計算與 AI 技術

    “ ?全新 Arduino UNO Q 開發(fā)板與 Arduino App Lab 將為數(shù)百萬開發(fā)者帶來高通 Dragonwing 處理器的強大動力。? ” ? 要點速覽: 強強聯(lián)合 :此次收購將高
    的頭像 發(fā)表于 10-08 11:15 ?757次閱讀
    高通宣布收購 <b class='flag-5'>Arduino</b>,加速普及前沿邊緣計算與 AI 技術

    如何用Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄
    的頭像 發(fā)表于 08-08 20:16 ?3671次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板給另一個<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板重新燒錄引導程序bootlaoder

    【Milk-V Duo S 開發(fā)板免費體驗】Milk-V DuoS之使用Arduino開發(fā)小核

    Milk-V DuoS之使用Arduino開發(fā) Arduino 是一個很流行的開源硬件平臺,具有簡潔性、易用性和開放性等優(yōu)點。它提供了豐富的庫函數(shù)和示例代碼,使得即使對于沒有編程經(jīng)驗的人來說,也能夠
    發(fā)表于 07-17 21:01

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

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

    免費分享Arduino入門+進階(全套例程+書籍)

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

    下一代物聯(lián)網(wǎng):芯科科技和Arduino借助邊緣AI和ML簡化Matter設計和應用

    Silicon Labs(芯科科技)和Arduino宣布建立合作伙伴關系,旨在通過Arduino Nano Matter開發(fā)板(基于芯科科技的MGM240系列多協(xié)議無線模塊)的兩階段合作來簡化Matter協(xié)議的設計和應用
    的頭像 發(fā)表于 05-19 11:15 ?830次閱讀
    下一代物聯(lián)網(wǎng):芯科科技和<b class='flag-5'>Arduino</b>借助邊緣AI和ML簡化Matter設計和應用

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

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

    PSoC6怎么設置Flash讀保護,防止編程器讀出?

    PSoC6 怎么設置Flash讀保護,防止編程器讀出
    發(fā)表于 04-21 06:15