【Arduino教程】Arduino Mega 2560的PCB設計與編譯器使用

2021-12-10 電子產品世界

收錄於話題 #Arduino教程 5個內容

來源 | EEPW論壇

作者 | ElectronicW1a

Arduino項目實現中,看懂並且搭建各種令人眼花繚亂的電路圖,是真正開始學習Arduino的第一步。在這個基礎上,再進行各種電子元器件的代碼編寫並且運行,最終才能保證所有的組件順利運行,成功的製作出各式各樣好玩且有趣的Arduino項目。

本文提要:

Arduino電路搭建

編譯器簡介與使用教程

相關軟體介紹(附下載地址)

首先,我們來講解電路如何搭建。在前文中,講解了不少傳感器的類型,還有麵包板的結構。而幾乎所有的Arduino項目,都離不開以麵包板做基底,用各種各樣的傳感器所連接的電路連接在麵包板的孔洞裡,以實現各種不同的項目和功能。

具體來講,如圖1麵包板的結構圖所示,在中間的綠色的兩排橫孔當中,可以任意插入傳感器以及跳腳線進行並聯,而轉接到Arduino Mega 2560的麵包板中。而兩側豎排的孔洞,在那一列的任何位置都可以與插入其中的跳腳線或者傳感器相連接。

圖1 麵包板結構圖

舉個例子,如圖2所示,在這個電路當中所實現的一個功能是讓一個LED燈以不同的形式發亮。而在這個電路當中,在Arduino的13號數字引腳中,一根跳腳線和麵包板的負極豎版線的一個孔連接,而在這個旁邊接了一個電阻,電阻和一個橫排的LED燈的短腳串聯。LED燈的長腳旁接了一根黑線,黑線最終接入了Arduino Mega 2560的接地引腳。而在這個電路中,藍色的輸入線可以接入整個麵包板的豎排孔中 (如綠線中所繪的任意一個孔),都可以和電阻接通。而電阻只要與麵包板橫排孔及LED燈相連,那麼接線只能在這些橫排孔中進行,而LED長腳的一端與黑線相連接也是同樣的原理。

圖2 基礎Arduino連接圖示

在不少複雜的項目中,還有各種不同類型的麵包板,有些時候有可能一塊麵包板無法容納整個項目中的所有傳感器。而不少常用的麵包板還有微型麵包板、半型麵包板,如圖3。微型麵包板的接線方式圖一麵包板結構圖中的橫孔接線板,半型麵包板相當於一個常規麵包板的一半,接線方式相同。

圖3 微型麵包板與半型麵包板

1.2 傳感器的連接方式

接線的問題雖然不太重要,但是有些時候一些Arduino的初學者還是會對這個問題感到疑惑,所以需要在這裡簡單講一下。

首先,如果一個線路足夠簡單,很多的傳感器是可以直接接線然後連接到Mega 2560的控制器上面的。例如,如圖4所示,一個薄膜式開關可以直接和Arduino Uno控制器用杜邦線直接相連,因為薄膜式開關的外接口是母線,所以可以通過兩頭公頭的杜邦線連接。

圖4 薄膜式開關和Arduino Uno控制器連接

以此類推,有其他的不少傳感器,也可以直接通過杜邦線相連接。例如,如圖5所示,超聲傳感器可以直接使用杜邦線連接至Arduino控制器上。也可以先將其插入麵包板的孔洞內,再將杜邦線插入對應的橫排的孔洞之中,使用另外一頭連接Arduino控制器。

圖5 超聲傳感器和Arduino Uno控制器連接

當然,有些特殊的元器件是要求必須使用麵包板連接的,比如LED燈、熱敏電阻之類的微型器件。

1.3 繪製連接電路圖

為了講解後來比較複雜的電路,也方便大家讀懂其他的電路。推薦大家使用一款開源軟體,名叫fritzing。這款軟體是專門為了搭建Arduino的電路而設計的(有點類似於PCB設計的感覺)。也許有些人覺得看電路拍照就可以,但是當一個電路很複雜的時候,你真的看不清楚哪個線和哪個孔連接,相信我。

在這個軟體之中,幾乎可以找到所有的Arduino開發板,各類傳感器的模型。也可以拿滑鼠進行連線,將你所設計的電路的接線和實際搭建的電路接線聯繫起來,然後進行繪圖,查看所搭建的電路有沒有錯誤。

圖6 fritzing軟體界面的展示

接下來講解一些這款軟體使用的具體小技巧。舉個例子,如果我們想搭建一個LED RGB電路,應該怎麼做。LED RGB是一個有四個引腳的LED燈,可以使用這個燈進行變色等等操作。其中三個引腳分別為紅色、綠色、藍色,還有一個引腳接地。

首先,可以在軟體右上角紅色的搜索框內輸入你想要搜索的元器件名稱,當我嘗試搭建一個RGB LED燈構成的電路時,就在其中搜索RGB LED。然後如黑色箭頭所示,點擊該圖標然後將這個RGB LED燈拖到左面的界面中。

圖7 fritzing軟體界面的展示

然後,可以將這個RGB LED燈拖動到麵包板之上。有一點必須在這裡強調一下。當任何一個元器件被拖動到麵包板之上時,如果想把這個元器件插入麵包板或對應的集成電路中。首先必須點擊這個元器件的引腳,會發現其變成黃色。這個時候麵包板離這個引腳最近的地方會變成綠色,當把引腳插入某一行之後,這一行引腳會顯示黃色。插入之後如果這個元器件和孔洞連接的地方顯示藍色則表示連接成功。

圖8 處於連接狀態的線路

採用同樣的方法將其他三個引腳都插入麵包板中,在從下往上數的第1、2、4個引腳旁邊接1kΩ電阻。然後,點擊電阻左邊的孔,將孔洞與左側Mega 2560的數字輸出孔4、5、6相連接。而當兩個孔之間沒有任何插入的電子元件時,直接將兩個孔相連接就會出現導線。第三個孔和Mega2560的接地孔(GND)相連接。點擊導線的任意一點,按住Ctrl就可以讓這根導線彎曲。通過右邊的檢查器去更改電線的顏色。如圖9所示。

圖9 處於連接狀態的線路

最後可以點擊文件左上角的file,將這個圖片導出為PNG圖片格式,如圖10所示。最終的效果類似於圖2。

圖10 圖片導出

以上就是對於電路搭建的基礎知識的講解。

由於Arduino目前強大的生態系統,以及和各種軟硬體的兼容體系,可以用來開發Arduino的工具也不勝枚舉。這些工具有些可以用來獨立進行Arduino的開發,也可以配合使用進行交互性的開發。這些工具中比較普遍使用的包括,Arduino基礎的官方開發工具,Arduino IDE。Visual Studio的Arduino開發工具。這兩者都是使用基於C/C++的開發語言來驅動的。還有python,Matlab也有其獨立的開發工具,也可以同Arduino IDE進行交互。

2.1 Arduino IDE基礎

Arduino IDE 是進行所有Arduino開發的基礎,所以要開始進行任何更加複雜的Arduino組件進行組裝,或者進行相關的程序開發,必須先對Arduino IDE進行充分的了解和學習。

先前版本的Arduino或許在下載和配置方面有些複雜,但是目前的Arduino IDE的下載和安裝都十分簡便。Arduino IDE在其官網就可以找到其安裝包的下載,下載好之後解壓到你自己所指定的位置就可以使用。具體的下載地址和安裝方法也會同fritzing一樣附於文章末尾。

點擊打開Arduino IDE之後,首先出現的是Arduino IDE的啟動畫面。


圖11 最新版本Arduino啟動畫面

當Arduino軟體啟動之後,會顯示以下的一個窗口。這個窗口中對於所有重要的信息都做了標註。從最上一行的菜單欄,到下一行的工具欄,以及這一欄尾部的串口監控器,到最底下的項目顯示欄。代碼編寫區域,黑色框架內的調試結果顯示區。需要注意的是,在右下角的一行英文文字中,出現的前半行文字的意思為當前所使用的Arduino控制器,後半行文字中最後的一行文字的三個字中,COMx為當前所使用的串口號。


圖12 最新版本Arduino啟動畫面

先簡單敘述一下菜單欄中比較重要的幾個功能及其調試功能。

首先,在File中,一些比較重要的功能包括,新建一個項目(New),打開一個項目(Open),打開最近的項目(Open Recent),打開各種案例(Arduino官網上面有不少基礎教程,可以參看這些案例進行電路搭建以及代碼實現)。

保存/保存在指定位置(Save/Save as)。在保存的時候需要注意,保存的文件名外需要創建一個文件夾,而文件夾的名稱必須和文件的名稱一致才能保證有代碼的文件正常運行。

最重要的選項則為首選項(preference),打開首選項之後,可以看到如圖13所示的界面。在這個界面當中,可以選擇執行程序的默認語言,編譯器文字大小,是否顯示行號等等。不太喜歡閱讀英文的朋友可以選擇語言(Editor Language)的選項中更換為簡體中文。

 

圖13 首選項功能展示

菜單欄中Edit的作用不大。Sketch中,最重要的功能是庫的管理(Manage Libraries,如圖14),位於Include Library選項卡之下。在打開庫的管理(如圖15所示)之後,可以看到兩個過濾篩選菜單(紅色方框標記),一個叫Type,另外一個叫Topic。通過Type(類型)可以找到處於不同狀態的庫,有可以更新的,已經/尚未安裝的等等。通過Topic(主題)可以找到交流,傳感器,顯示等等通過功能來劃分的庫。一切Arduino所需要的庫,都可以通過搜索菜單欄來尋找,只要輸入其名稱,可以參照其下方所展示的庫名稱來進行庫的安裝等操作。

另外還有一點很重要的是,在右下角有兩個選項菜單框,一個是Version,顯示當前庫的版本號,另外一個是一個標註為install的按鈕,點擊該按鈕就能安裝這個庫。而當一個庫被安裝之後,該按鈕的位置會顯示installed,說明該庫已經存在,無需任何操作。因為Arduino的開源特性,有些公司的硬體會更新的十分迅速,而有些公司的硬體會更新的很慢。所以有時候為了整個項目的兼容性,可以安裝稍早版本的庫,以確保項目順利運行。一般情況下,只要你打開庫,則其會進行自動更新,可以根據項目自行進行版本調整。而有些無法從所需要的庫中找到並且進行安裝的庫,則可以在下載之後直接拖入到Arduino軟體安裝路徑下的library裡,這麼做同樣可以使用。

圖14 庫的管理選項

圖15 庫的管理菜單 

而菜單欄中的Tools,最重要的有兩個項目,其中之一是Board,通過這個選項,每次可以選擇所使用的Arduino控制板,如紅框所示,目前所使用的是Arduino Mega 2560控制器。而在Port選項中,是所選擇當前控制器所讀取數據的USB埠。在第一次插入不同型號的Arduino控制器時會出現電腦進行硬體安裝的提示,而在這時可能需要選擇正確的USB埠,所以一定要搞清楚插入的控制器所對應的USB埠有一一對應的關係,否則可能會出現安裝錯誤的情況。不過有些電腦會全程進行自動安裝,所以不必太過擔心這一點。而這兩項都會顯示在如圖12所示的右下角的一行字中。


圖16 Tool選項菜單

圖17 所有工具欄的功能和作用

工具欄中不同按鈕的功能說明:

校驗(Verify)。在每次下載代碼之前,必須要先驗證代碼是否編寫無誤,所有的效驗結果會顯示在如圖12所示的調試結果提示區之內。如果有錯誤,報錯格式一般都是以C/C++的形勢呈現的。

下載(Upload)。這個下載其實就相當於其他編譯器上的運行一樣。只不過下載是相對於Mega的控制器而言的,因為控制器上面有獨立的存儲器,只要不下載新的代碼,則該控制器一直運行當前的代碼。

串口監視器(Serial Monitor)。串口監視器是一個很重要的和Arduino控制器交互的工具。它主要是被用來查看串口發送或者接收到的數據。在很多時候,如果對傳感器進行數值的監控,以及用編寫的代碼和Mega2560控制器發送指令的時候,都要通過這個監視器。這個監控器有兩個設置很重要。第一,紅框標記的是換行格式,一般選擇第二個。第二,黃框標記的是波特率,一般選擇9600。波特率是指每秒傳輸數據的比特值,絕大多數Arduino控制器在使用的時候一般都設這個值。如果有例外情況,在實際案例中會講到。

圖18 串口監視器

以上所述為初學者使用Arduino IDE所必須了解的基礎設置及使用方法,更為複雜的問題會在後面講解到。

2.2 Arduino兼容的編譯器及其交互

根據以上所述的Arduino IDE的功能,其實可以看到其局限性還是比較強的,比如說在編譯方面,遠不如Visual Studio或者Pycharm等一些編譯器隨時根據你所輸入的代碼做出警告或者報錯提示,IDE最終只會給你一個綜合性的提示。

而唯一可以同Arduino交互的方法幾乎就是通過它的串口監視器。而這個串口監視器的功能及其有限。所以,為了實現一些更加複雜的功能,例如用傳感器所讀出的值畫圖(這種方法可以被用來審視傳感器的狀態,以及評估某些傳感器的測量極限),或者可以用更高級的方法來和Arduino進行交互,例如搭建一個簡易的App從而實現一個類似於目前智能家居系統的IoT項目等等。實現這些項目,就必然使用到其他的編譯器的獨立開發,或者其和IDE的交互等等。這些東西展開來講比較複雜,會在後期的教程中慢慢展開來講如何使用。

下載地址:

https://fritzing.org/download/

Fritzing的下載本來是可以免費的,它的官網是希望你去捐款9歐元然後下載的,但是也可以跳過捐款直接下載。幾個月之前還可以這樣,目前好像必須捐款下載了。不用最新版本的話可以求助淘寶。瀏覽這個網站需要連接外網。

3.2 Arduino IDE

下載地址:

https://www.arduino.cc/en/software

Arduino的使用方法比較直接,可以解壓縮之後直接進行使用,所以不需要在這裡多贅述什麼。

相關焦點

  • 十個中文例程教會你輕鬆上手製作Arduino智能小車
    Arduino簡介本文引用地址:http://www.eepw.com.cn/article/201706/348117.htmArduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino IDE)。
  • 數碼管與ARDUINO 開發板的連接使用
    單片機與74LS595(8位輸出鎖存移位寄存器)的使用方法74HC595的數據端:QA--QH: 八位並行輸出端,可以直接控制數碼管的8個段。QH': 級聯輸出端。我將它接下一個595的SI端。數碼管模塊與arduino連接示意圖接線說明:數碼管的VCC –
  • arduino從零開始(4)PWM與呼吸燈
    你將了解脈衝寬度調試(PWM)的原理你將使用PWM製作一個呼吸燈的效果脈衝寬度調試PWM,也就是脈衝寬度調製,用於將一段信號編碼為脈衝信號(方波信號)。是在數字電路中 達到 模擬輸出效果的一種手段。即:使用數字控制產生佔空比不同的方波(一個不停在開與關之間切換的信號)來控制模擬輸出。我們要在數字電路中輸出模擬信號,就可以使用PWM技術實現。
  • Arduino使用光敏電阻實驗
    打開APP Arduino使用光敏電阻實驗 發表於 2018-01-24 17:18:02 它構建於開放原始碼simple I/O介面版,並且具有使用類似Java、C語言的Processing/Wiring開發環境。主要包含兩個主要的部分:硬體部分是可以用來做電路連接的Arduino電路板;另外一個則是Arduino IDE,你的計算機中的程序開發環境。
  • 萬能超的arduino學習日記(一)
    本科時候有接觸過arduino,但是由於導師方向原因,轉做了3D列印和動力學分析,所以這裡是啥都會一點點的萬能超,希望能夠和大家一起學習討論。最近由於興趣原因,決定重新撿起arduino,所以決定寫這個萬能超的arduino學習日記跟大家一起重新學習。最開始的入門學習,我選擇跟B站太極創客的學習視頻,因為有基礎,選擇二倍速觀看學習。
  • 如何使用Qt為arduino製作圖形界面
    如何使用Qt為arduino製作圖形界面 網絡整理 發表於 2019-11-13 11:11:39 步驟1:安裝Qt
  • Arduino在嵌入式開發中應用案例之arduino點亮LED
    本分享一個通過arduino點亮LED的案例。( UCSR0A & (1<<UDRE0))); /* Put data into buffer, sends the data */ UDR0 = Data[i]; }} //接收數據, 使用中斷接收數據ISR(USART_RX_vect){ uint8_t ReceivedData; ReceivedData = UDR0;}
  • [新課推薦]人工智慧科普活動資源包配套課程Micro:bit+ Arduino...
    課程的第一章會介紹arduino控制板、arduino編程軟體的使用以及簡單的基礎傳感器的使用。第二章主要講程序的邏輯關係以及複雜傳感器的應用。第三章主要講課程的綜合應用,通過搭建一個小車、編寫程序實現小車不同的功能。通過本課程的學習,大家可以掌握arduino編程以及arduino開源硬體的使用。
  • 智能家居控制-arduino紅外遙控控制燈
    上一篇文章介紹了 arduino接受智能家具系統中的紅外遙控的解碼在此基礎上,今天就做一個遙控器控制的燈,我們可以將燈換成繼電器,這樣的話就實現了,用紅外遙控機,控制家裡的電器開關,比如燈,電視,插座,洗衣機等接線圖幾原理圖如上,一個板子一個紅外接收器,一個燈(可以換成你想控制的任何設備
  • 基於Arduino DIY的雷射雕刻機
    使用材料:Arduino UNO R3作為控制板、Grbl作為Gcode代碼編譯器、Easydriver作為步進電機驅動器、雷射發射器(30+RMB、300mW、5V電壓)、木板、各種螺帽、螺栓等;註:雷射傷眼,使用請小心,最好花8塊錢買個護目鏡;知識:Gcode在工業控制上用的很多,是一種通用的控制指令,數控工具機上經常用。
  • Arduino教程┃模擬土壤溼度傳感器的介紹
    寬x高) ;2.工作電壓3.3V-5V;3.設有固定螺栓孔,方便安裝;4、靈敏度調節電位器:模塊中藍色的電位器是用於土壤溼度的閥值調節,順時針調節,控制的溼度會越大,逆時針越小;通過電位器調節土壤溼度控制閥值,溼度低於設定值時,DO輸出高電平,高於設定值時,DO輸出低電平;可以實現自動對菜園,花園自動澆水,家庭花盆土壤溼度的控制,各種電子比賽,電子積木,arduino
  • 敢碰就報警的Arduino Yún系統
    筆者選擇了Arduino Yún,因為它非常易於使用,還能輕鬆配置無線Wi-Fi,而且如果你想換成RaspberryPi,也很容易。當然啦,如果你使用RaspberryPi的話,Wi-Fi配置可能會略微麻煩一些,因為它必須要連接到一臺計算機上才能進行配置操作,而使用Arduino Yún就相對輕鬆多了,任何人都可以在上面直接配置。
  • 一文看懂arduino驅動uln2003操作步進電機的方法
    打開APP 一文看懂arduino驅動uln2003操作步進電機的方法 發表於 2018-05-30 09:34:32   arduino驅動uln2003操作步進電機的方法   1、網上買的步進電機,很多接線順序都不對。
  • 大牛輕鬆帶你玩轉Arduino智能硬體六-arduino入門:LED流水燈
    (六)arduino入門:LED流水燈    一、本節介紹  在本課中,您將進行一個簡單但有趣的實驗 - 使用LED來創建流動的LED燈。
  • 用Arduino讀取霍爾流量傳感器的脈衝數
    安裝好開發環境,接好線,選擇好通道,點亮板子,連接霍爾流量傳感器至arduino板子,黃線接pin 2.紅色接5V,黑色接GND.把霍爾流量傳感器接在管路上接好小水泵都接好之後,打開水泵開關,水流流過,監視窗口就會顯示脈衝數,每秒鐘更新一次。
  • Arduino+Processing模擬雷達掃描效果教程
    一、前言閱讀此文前請戳這個視頻觀看使用Arduino超聲波傳感器模擬雷達掃描教程,先了解效果,有直觀感受再來看下文。我將超聲波傳感器的Trig、Echo分別連接在擴展板的4、5號引腳,將伺服電機連接在擴展板的9號引腳上,為了簡化程序,後續我沒有使用液晶顯示屏,請你自行添加相關程序。三、軟體準備1、Arduino IDE 1.8.9
  • LabVIEW+Arduino之四位數碼管顯示
    經過幾天的摸索,分別使用LabVIEW和Arduino C/C++實現了同樣的效果,今天跟大家簡單分享一下。charScan[] = {0x08, 0x04, 0x02, 0x01}; //位選所對應的掃描碼,對應從pin11掃描到pin8;voidsetup() {DDRB =0xff; // 設置 PORTB為輸出,對應arduino
  • 基於Arduino與LabVIEW的直流電機轉速控制系統
    本文引用地址:http://www.eepw.com.cn/article/201701/337030.htm下面我們利用帶有編碼器的直流電機、Arduino控制器、直流電機驅動板和LabVIEW上位機軟體以實驗探索的形式來設計一個直流電機轉速比例控制實驗。
  • Arduino教程:超聲波傳感器認識(Arduino IDE例程)
    在我的上一篇教程中《Arduino教程:認識超聲波傳感器(簡明版)》中,有提到使用Mixly編程獲取超聲波傳感器的值,有網友詢問Arduino IDE中例程,現公布如下:
  • 微軟放棄的遊戲被他們復活了:Windows經典「三維彈球」現實版,CAD建模、Arduino編程、數控工具機打造,硬核致敬童年
    不僅如此,他們還把整個過程做了個教程——只要9步,你也可以打造一臺屬於自己的三維彈球。把「三維彈球」搬到現實中我們先來回憶一波這款經典的Windows小遊戲。設計中最可能出現的問題可能就是遊戲機本身的尺寸限制和內部結構的安排,一些預想的彈球擊打方式實驗時才發現無法實現,所以需要先畫出設計草圖,然後在此基礎上不斷改進。