新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Becky老師又來(lái)啦!這次玩Arduino

Becky老師又來(lái)啦!這次玩Arduino

作者: 時(shí)間:2024-08-28 來(lái)源:Digikey 收藏

文章 概述

本文引用地址:http://2s4d.com/article/202408/462425.htm

本期視頻介紹了 的概念 、 功能 及其在電子設(shè)計(jì)中的 應(yīng)用 。視頻通過(guò)構(gòu)建簡(jiǎn)單的電路,展示了如何使用進(jìn)行編程和實(shí)現(xiàn)LED控制。文章還提供了詳細(xì)的步驟和代碼示例,幫助初學(xué)者入門(mén),并鼓勵(lì)讀者加入全球社區(qū),分享經(jīng)驗(yàn)和解決問(wèn)題。


從事電子行業(yè)或者是電子設(shè)計(jì)愛(ài)好者,一定有聽(tīng)過(guò)Arduino。但你所理解的Arduino是什么呢? 是一款開(kāi)發(fā)板? 還是一家公司?不管怎樣,Arduino都是電子設(shè)計(jì)不可或缺的重要資源,在編程上提供極大的幫助。以下視頻將利用Arduino建構(gòu)簡(jiǎn)單的電路,讓你了解其功能,加強(qiáng)你的設(shè)計(jì)能力。快點(diǎn)開(kāi)視頻跟隨Becky老師一起學(xué)習(xí)吧!

Arduino簡(jiǎn)介

Arduino 讓科技創(chuàng)新變得簡(jiǎn)單。它是一系列微控制器板,讓您感知周圍的環(huán)境并控制電子設(shè)備。 Arduino 一詞指的是電路原型設(shè)計(jì)過(guò)程的幾個(gè)層面。 其中一個(gè)是指硬件,包括官方的 Arduino 板和成千上萬(wàn)種兼容Arduino的衍生產(chǎn)品。與硬件進(jìn)行通信的軟件被稱為集成開(kāi)發(fā)環(huán)境,名為 Arduino IDE 。而且,你使用的編程語(yǔ)言也叫做Arduino,它是基于C++。Arduino還可以是指 Arduino公司 的商標(biāo),他們制造官方的開(kāi)發(fā)板并維護(hù)開(kāi)源文檔,有助于使整個(gè)生態(tài)系統(tǒng)免費(fèi)且便于共享。

Arduino 是一個(gè)龐大的全球社區(qū),這意味著你可以在網(wǎng)上找到幾乎數(shù)不盡的靈感、代碼范例和關(guān)于你的問(wèn)題的答案。

跟著本系列視頻進(jìn)行操作,你將逐漸掌握用電控制元器件和Arduino語(yǔ)言編程的關(guān)鍵概念。

開(kāi)始Arduino原型設(shè)計(jì)

以下是推薦用于開(kāi)始 Arduino 硬件原型設(shè)計(jì)的材料:

  • Arduino Uno 或其他兼容板和USB 電纜

  • 無(wú)焊面包板

  • 跳線 或 實(shí)心連接線

  • 3V 通孔 LED

  • 100-1000 歐姆的通孔電阻

您還可以使用 Tinkercad Circuits 或 Fritzing 等電路模擬器開(kāi)始,無(wú)需任何硬件。

連接與配置

建議從 Arduino Uno 開(kāi)始,或使用兼容板,例如 Adafruit Metro 、 Sparkfun Redboard 或 Seeeduino 。 這些專為初學(xué)者使用的開(kāi)發(fā)板有較大的標(biāo)簽,幫助你清楚地看到你插入邊緣引腳上的連接器,而這些連接器連接到微控制器芯片本身的各種引腳。微控制器芯片是一個(gè)微型計(jì)算機(jī),運(yùn)行我們從常規(guī)計(jì)算機(jī)上上傳的程序。在開(kāi)發(fā)板上,你還會(huì)看到一個(gè)復(fù)位按鈕、一個(gè)電源指示燈、一些用于指示開(kāi)發(fā)板何時(shí)發(fā)送和接收數(shù)據(jù)的LED,還有一個(gè)連接到引腳13的LED,用于在不插入其他元器件的情況下進(jìn)行測(cè)試。其他元器件支持微控制器,并使電路的布線和編程變得簡(jiǎn)單,讓不會(huì)電氣工程的人也可以做到。請(qǐng)確保使用正確的USB連接線將開(kāi)發(fā)板連接到電腦上,這里需要的是 支持?jǐn)?shù)據(jù)傳輸?shù)臄?shù)據(jù)線 ,而不是外表相似的那種僅能用于充電的線。區(qū)分它們的方法是,使用數(shù)據(jù)線時(shí) Arduino 開(kāi)發(fā)板會(huì)出現(xiàn)在軟件的端口菜單中,而充電線則不會(huì)。確保這一點(diǎn)的最佳方法是購(gòu)買(mǎi)注明是 數(shù)據(jù)線 的線。您還需要一塊 無(wú)焊面包板 ,它的內(nèi)部有金屬條和許多孔,可以讓你快速、輕松地連接元器件。我習(xí)慣用固定板將面包板和 Arduino 板連接起來(lái),這樣電路就可以更好地結(jié)合在一起。你需要一些導(dǎo)線來(lái)連接Arduino,無(wú)論是 面包板專用的導(dǎo)線 或者 實(shí)心銅芯導(dǎo)線 都可以。構(gòu)建基礎(chǔ)電路

在進(jìn)入軟件部分之前,我們可以先建立一個(gè)簡(jiǎn)單的電路。使用出廠默認(rèn)程序讓一個(gè)連接到引腳13的LED閃爍,引腳13連接到LED較長(zhǎng)的正極,而 LED 較短的負(fù)極通過(guò)電阻接地,以幫助限制電流,防止LED燒壞。 對(duì)于這個(gè)電路,需要一個(gè)功率為1/4 瓦的電阻,阻值從100歐到1000歐都可以。 如果你想了解更多,可以觀看我們系列前期的 “【與美女創(chuàng)客入門(mén)電子世界】在做LED開(kāi)發(fā)?這個(gè)視頻很實(shí)用!” 。用導(dǎo)線將Arduino上標(biāo)有標(biāo)簽的5伏電壓和地線引腳連接到無(wú)焊面包板上的母線,這些母線沿著無(wú)焊面包板的兩側(cè)延伸,方便大家輕松地接入電源和地線。對(duì)于這個(gè)電路來(lái)說(shuō),沒(méi)有嚴(yán)格要求使用地線母線作為連接面包板地線的中間接口,但 在原型設(shè)計(jì)時(shí)連接母線是最佳做法 。當(dāng)在斷開(kāi)電源的情況下完成了電路,接著就可以將開(kāi)發(fā)板連接到電腦。新電路中的LED應(yīng)該會(huì)與開(kāi)發(fā)板上的迷你貼片式LED一起閃爍,如果沒(méi)有閃爍,請(qǐng)?jiān)俅螜z查你的線路是否都連接好,并確保你的LED沒(méi)有插反。開(kāi)發(fā)板的連接孔非常小,所以很容易把導(dǎo)線插入錯(cuò)誤的行中。編程基礎(chǔ)當(dāng)LED閃爍,就可以深入研究控制它的程序。基本的閃爍范例可在Arduino軟件中下載,并需要將其安裝到電腦上。打開(kāi)軟件,找到文件 > 范例 > 01.基礎(chǔ),最后點(diǎn)擊閃爍。所有這些額外的符號(hào)都是Arduino語(yǔ)法的一部分,但不用感到害怕,從零開(kāi)始學(xué)習(xí)并編寫(xiě)合適的代碼需要時(shí)間,這里會(huì)向你一一解釋,當(dāng)你的水平有所提升,可以隨時(shí)參考這些例子。第一部分是代碼塊注釋 ,接著是代碼的設(shè)置部分,用于設(shè)置程序后續(xù)所需的內(nèi)容,它在程序啟動(dòng)時(shí)就會(huì)運(yùn)行。這里的閃爍程序?qū)⒁_13設(shè)置為輸出,這樣可以使開(kāi)發(fā)板發(fā)送信號(hào),而不僅是接收信號(hào)。程序的主體部分在循環(huán)內(nèi),只要開(kāi)發(fā)板通電,這部分代碼將重復(fù)執(zhí)行。雙斜杠后面的灰色文字是注釋,使你更容易理解程序。這里使用的輸出命令稱為digitalWrite(),它是一個(gè)函數(shù),用于將一個(gè)引腳設(shè)置為HIGH或LOW,即打開(kāi)或關(guān)閉狀態(tài)。這里會(huì)使用函數(shù)delay()來(lái)暫停程序,它會(huì)暫停指定的毫秒數(shù),一秒等于1000毫秒??偟膩?lái)說(shuō),該程序以一秒的間隔打開(kāi)和關(guān)閉一個(gè)LED。這個(gè)時(shí)間間隔可以改變,只需要改變delay的數(shù)值,就可以自定義這段代碼,比如500毫秒或2000毫秒。要將程序上傳到 Arduino 開(kāi)發(fā)板上,請(qǐng)確保USB連接線插好,并從工具菜單中選擇對(duì)應(yīng)的開(kāi)發(fā)板和端口。 如果你的端口沒(méi)出現(xiàn)或找不到對(duì)應(yīng)的端口,請(qǐng)嘗試拔掉開(kāi)發(fā)板,檢查端口菜單,然后重新插上開(kāi)發(fā)板,再次查看端口菜單,看看有沒(méi)有出現(xiàn),然后點(diǎn)擊上傳按鈕,以將閃爍范例代碼傳輸?shù)紸rduino開(kāi)發(fā)板上。標(biāo)有TX和RX的LED指示燈會(huì)閃爍,顯示軟件正在與開(kāi)發(fā)板進(jìn)行通信,并會(huì)顯示“上傳完成”的通知。片刻后,設(shè)置的閃爍效果就會(huì)出現(xiàn)。如果要上傳到一個(gè)兼容Arduino,而非Arduino公司的開(kāi)發(fā)板上,可能需要安裝額外的驅(qū)動(dòng)程序,才能在端口菜單中看到該開(kāi)發(fā)板。參考產(chǎn)品文檔便可了解所需操作。

控制LED亮度

現(xiàn)在已經(jīng)成功運(yùn)行了一個(gè)數(shù)字示例,下一步是要更深入地了解Arduino的功能。當(dāng)然,閃爍是不錯(cuò)的功能,也可以讓LED處于半亮半滅的狀態(tài)。方法是編程漸變效果,但在Arduino上只有幾個(gè)引腳能夠進(jìn)行類似模擬輸出的操作,這些引腳在你的開(kāi)發(fā)板上會(huì)用一個(gè)小波浪線(~)或其他標(biāo)記來(lái)標(biāo)明。

在進(jìn)行任何修改之前,請(qǐng)先拔掉連接線,然后將連接到引腳13的導(dǎo)線插入標(biāo)有PWM標(biāo)記的引腳9。在Arduino軟件中點(diǎn)擊文件 > 范例 > 01.基礎(chǔ) > 漸變,然后將開(kāi)發(fā)板連接上電腦,上傳該代碼到Arduino板上,就可以看到LED的漸亮和漸滅效果。Arduino板只能生成數(shù)字信號(hào),即HIGH和LOW,但analogWrite() 通過(guò)脈沖寬度調(diào)制(PWM),來(lái)模擬在開(kāi)和關(guān)之間的亮度變化,從而實(shí)現(xiàn)看起來(lái)像是亮度調(diào)節(jié)的效果。LED快速地開(kāi)和關(guān),便會(huì)覺(jué)得是看到光線變暗。LED點(diǎn)亮和熄滅的時(shí)間比例決定了LED的亮度。看看代碼,便可以了解這種漸變效果是如何實(shí)現(xiàn)的??梢栽?Arduino 首選項(xiàng)中啟用行號(hào),以便更好地引用代碼的不同部分。第16行到18行說(shuō)明了程序中使用的三個(gè)變量;第23行的設(shè)置部分將引腳9配置為輸出;在第29行,analogWrite()函數(shù)根據(jù)作為變量的亮度值來(lái)設(shè)置引腳9的輸出;在第32行,亮度通過(guò)數(shù)值為5的fadeAmount遞增。第35行使用if語(yǔ)句通過(guò)比較運(yùn)算符檢查亮度,如果亮度小于或等于零,或者大于或等于255,則執(zhí)行內(nèi)部代碼,否則,跳過(guò)該部分。因此,代碼會(huì)增加亮度,直到達(dá)到或超過(guò)255。然后,將fadeAmount設(shè)置為-5,并遞減亮度直到達(dá)到零或小于零。最后的delay()函數(shù)是防止代碼運(yùn)行過(guò)快,以至于你無(wú)法看到效果。PWM的快速閃爍也是為什么有時(shí)在相機(jī)或手機(jī)上,錄制LED燈時(shí)會(huì)出現(xiàn)閃爍。這取決于快門(mén)速度。PWM也用于在RGB LED中實(shí)現(xiàn)顏色混合,每種顏色的LED被設(shè)置為不同的亮度級(jí)別,當(dāng)它們?cè)谕粋€(gè)封裝中混合時(shí),可以形成任何顏色的光。進(jìn)階編程技巧在這個(gè)Arduino基礎(chǔ)入門(mén)教程中,最后一個(gè)要介紹的概念是for()循環(huán),也稱為計(jì)數(shù)循環(huán)。它從一個(gè)初始值計(jì)數(shù)到一個(gè)上限值,在這個(gè)程序中,我們以5為增量從0計(jì)數(shù)到255。就像之前的LED漸變程序一樣,這表明有不止一種編寫(xiě)相同程序的方法。你也可連接更多的LED,并使用for()循環(huán)來(lái)為它們添加動(dòng)態(tài)效果,在for()循環(huán)完成計(jì)數(shù)后,主循環(huán)的剩余部分會(huì)執(zhí)行,然后重新開(kāi)始。剛開(kāi)始接觸Arduino可能會(huì)讓人感到壓力,但別忘了當(dāng)你遇到問(wèn)題時(shí),可以在網(wǎng)上查找相關(guān)資料。 Arduino 官網(wǎng)有一個(gè)很實(shí)用的參考部分,可以在那里找到代碼每個(gè)部分的解析和示例,還有一個(gè)社區(qū)論壇,可以在其中找到與你的項(xiàng)目相關(guān)的協(xié)助。對(duì)于電子設(shè)計(jì)或電子愛(ài)好者來(lái)說(shuō),Arduino是非常實(shí)用的工具,它可以幫助你完成一些設(shè)計(jì),而且還有豐富的資源為你解決疑難。掌握好使用Arduino的技巧,相信會(huì)是一大助力,成就出更多你的創(chuàng)意作品。

關(guān)于本系列視頻

電子設(shè)計(jì)博大精深,對(duì)于初學(xué)者來(lái)說(shuō),有一定的難度。本系列視頻旨在介紹一些入門(mén)級(jí)的技術(shù)和技巧,包括電路設(shè)計(jì)基礎(chǔ)知識(shí)、簡(jiǎn)單編程等,讓初學(xué)者從基礎(chǔ)開(kāi)始,再一步步向更進(jìn)階出發(fā),在電子設(shè)計(jì)的世界里,發(fā)掘更多樂(lè)趣,同時(shí)也可以讓電子設(shè)計(jì)愛(ài)好者溫故知新。

關(guān)于Becky Stern

Becky Stern 是一名創(chuàng)客,擁有多年設(shè)計(jì)電子項(xiàng)目的經(jīng)驗(yàn),創(chuàng)作和分享是她兩大愛(ài)好。在獨(dú)立創(chuàng)業(yè)之前,她曾擔(dān)任 Instructables (Autodesk) 的產(chǎn)品經(jīng)理、Adafruit 的可穿戴電子產(chǎn)品總監(jiān)等。她的作品曾被 BBC、CNN、Business Insider、Forbes 和 Science Friday 等知名媒體報(bào)道過(guò)。她創(chuàng)建了數(shù)百個(gè)關(guān)于技術(shù)和手工制作的在線DIY教程和視頻,旨在分享她的知識(shí),幫助同是電子設(shè)計(jì)愛(ài)好者的同路人學(xué)習(xí),相互交流。 





關(guān)鍵詞: Digikey Arduino

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉