找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8690|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

Arduino開發(fā)環(huán)境的搭建與編程入門基礎(chǔ)教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:468714 發(fā)表于 2019-1-15 18:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
一、下載安裝
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺(tái),包含硬件(各種型號(hào)的arduino板)和軟件(arduino IDE)。它適用于藝術(shù)家、設(shè)計(jì)師、愛好者和對(duì)于“互動(dòng)”有興趣的朋友們。

1.Arduino IDE下載
官網(wǎng)下載地址:https://www.arduino.cc/en/Main/Software
官網(wǎng)下載有時(shí)打不開可以直接下載老師網(wǎng)盤中的軟件。




官網(wǎng)下載界面.png


將網(wǎng)頁(yè)界面改成中文模式后選擇合適的安裝包。我的系統(tǒng)為win10,64位,所以選擇下載Windows安裝包。當(dāng)然也可以選擇英文模式中的Windows installer。下載完成后,直接雙擊exe文件開始安裝。
2.安裝
(1)許可協(xié)議





許可協(xié)議.png


點(diǎn)擊 I Agree。
(2)安裝選項(xiàng)




安裝選項(xiàng).png


從上到下依次是:
安裝Arduino軟件
安裝USB驅(qū)動(dòng)
創(chuàng)建開始菜單快捷方式
創(chuàng)建桌面快捷方式
關(guān)聯(lián)ino文件
安裝保持默認(rèn)即可
(3)安裝文件夾




選擇安裝位置.png


選擇安裝位置,其中默認(rèn)安裝位置為C:\Program Files(x86)\Arduino,可以根據(jù)自己的需要調(diào)整安裝位置。
(4)安裝過(guò)程



安裝過(guò)程中.png





USB驅(qū)動(dòng)安裝1.png





USB驅(qū)動(dòng)安裝2.png





LLC端口安裝.png


安裝完成后點(diǎn)擊close
(5)安裝完成
這時(shí)桌面上出現(xiàn)Arduino圖標(biāo)




logo.png


(6)界面介紹



軟件界面.png

菜單欄包括:文件,編輯,項(xiàng)目,工具,幫助
  • 文件菜單:
    寫好的程序通過(guò)文件的形式保存在計(jì)算機(jī)時(shí),需要使用文件菜單,文件菜單常用的選項(xiàng)包括:新建文件,打開文件,保存,另存為,關(guān)閉,示例,
  • 編輯菜單:
    緊鄰文件菜單右側(cè)的是編輯菜單,編輯菜單顧名思義是編輯文本時(shí)常用的選項(xiàng)集合。常用的編輯選項(xiàng)為恢復(fù)、重做、剪切、復(fù)制、粘貼 、全選和查找 。這些選項(xiàng)的快捷鍵也和Microsoft Windows 應(yīng)用程字的編輯快捷鍵相同。恢復(fù)為Ctrl+Z、剪切為Ctrl+X、復(fù)制為Ctrl+C、粘貼為Ctrl+V、全選為Ctrl+A、查找為 Ctrl+F。此外,編輯菜單還提供了其他選項(xiàng),如“注釋”和“取消注釋”,Arduino編輯器中使用“//” 代表注釋。還有“增加縮進(jìn)”和“減少縮進(jìn)”選項(xiàng)、“復(fù)制到論壇”和“復(fù)制為HTML”等選項(xiàng)。
  • 項(xiàng)目菜單
    程序菜單包括與程序相關(guān)功能的菜單項(xiàng)。主要包括:
    驗(yàn)證/編譯:用以完成程序的檢查與編譯,通過(guò)使用編譯器編譯程序來(lái)檢查代碼的語(yǔ)法錯(cuò)誤。
    顯示項(xiàng)目文件夾:會(huì)打開當(dāng)前程序的文件夾。
    加載庫(kù):導(dǎo)入所引用的Arduino庫(kù)文件。
    添加文件:可以將一個(gè)其他程序復(fù)制到當(dāng)前程序中,并在編輯器窗口的新選項(xiàng)卡中打開。
  • 工具菜單
    工具菜單是一個(gè)與Arduino開發(fā)板相關(guān)的工具和設(shè)置集合。主要包括:
    自動(dòng)格式化:可以整理代碼的格式,包括縮進(jìn)、括號(hào),使程序更易讀和規(guī)范。
    項(xiàng)目存檔: 將程序文件夾中的所有文件均整合到一個(gè)壓縮文件中,以便將文件備份或者分享。
    修正編碼并重新裝載:在打開一個(gè)程序時(shí)發(fā)現(xiàn)由于編碼問(wèn)題導(dǎo)致無(wú)法顯示程序中的非英文字符時(shí)使用的,如一些漢字無(wú)法顯示或者出現(xiàn)亂碼時(shí),可以使用另外的編碼方式重新打開文件。
    串口監(jiān)視器:是一個(gè)非常實(shí)用而且常用的選項(xiàng),類似即時(shí)聊天的通訊工具,PC與Arduino 開發(fā)板連接的串口-交談1的內(nèi)容會(huì)在該串口顯示器中顯示出來(lái)。在串口監(jiān)視器運(yùn)行時(shí),如果要與Arduino 開發(fā)板通信,需要在串口監(jiān)視器頂部的輸入欄中輸入相應(yīng)的字符或字符串,再單擊發(fā)送按鈕就能發(fā)送信息給Arduino.在使用串口監(jiān)視器時(shí),需要先設(shè)置串口 波特率,當(dāng)Arduino與PC的串口波特率相同時(shí),兩者才能夠進(jìn)行通訊。Windows PC的串口波特率的設(shè)置在計(jì)算機(jī)設(shè)備管理器中的端口屬性中設(shè)置。
    開發(fā)板:用來(lái)選澤串口連接的Arduino開發(fā)板型號(hào),當(dāng)連接不同型號(hào)的開發(fā)板時(shí)需要根據(jù)開發(fā)板的型號(hào)到“板卡1選項(xiàng)中選擇相應(yīng)的開發(fā)板。
    端口:需要手動(dòng)設(shè)置系統(tǒng)中可用的串口時(shí)選擇的,在每次插拔一個(gè)Arduino電路板時(shí),這個(gè)菜單的菜單項(xiàng)都會(huì)自動(dòng)更新,也可手動(dòng)選擇哪個(gè)串口接開發(fā)板。
    串口:需要手動(dòng)設(shè)置系統(tǒng)中可用的串口時(shí)選擇的,在每次插拔一個(gè)Arduino電路板時(shí),這個(gè)菜單的菜單項(xiàng)都會(huì)自動(dòng)更新,也可手動(dòng)選擇哪個(gè)串口接開發(fā)板。
    板卡:用來(lái)選澤串口連接的Arduino開發(fā)板型號(hào),當(dāng)連接不同型號(hào)的開發(fā)板時(shí)需要根據(jù)開發(fā)板的型號(hào)到“板卡1選項(xiàng)中選擇相應(yīng)的開發(fā)板。
菜單欄下方按鈕包括:驗(yàn)證,上傳,新建,打開程序,保存程序,串口監(jiān)視器
  • 校驗(yàn):用以完成程序的檢查與編譯,通過(guò)使用編譯器編譯程序來(lái)檢查代碼的語(yǔ)法錯(cuò)誤。
  • 上傳:即通常所說(shuō)的下載或燒寫功能,將編譯后的程序文件上傳到Arduino板中,用于更新Arduino板中的程序。
  • 新建:新建一個(gè)程序文件。
  • 打開:打開一個(gè)存在的程序文件
  • 保存,保存當(dāng)前的程序文件。
  • 串口監(jiān)視窗,可監(jiān)視開發(fā)環(huán)境使用的串口收發(fā)的數(shù)據(jù),打開一個(gè)串口終端窗口,通過(guò)這個(gè)窗口可以使用ISP串口與Arduino通信。
二、Arduino編程語(yǔ)言特點(diǎn)
1.Arduino語(yǔ)言
arduino 使用C/C++語(yǔ)言編寫程序,雖然C++兼容C語(yǔ)言,但是這兩種語(yǔ)言又有所區(qū)別。C語(yǔ)言是一種面向過(guò)程的編程語(yǔ)言,C++是一種面向?qū)ο蟮恼Z(yǔ)言。早期的 arduino核心庫(kù)使用C語(yǔ)言編寫,后來(lái)引進(jìn)了面向?qū)ο蟮乃季S,目前最新的arduino核心庫(kù)使用C與C++混合編程。

通常所說(shuō)的Arduino語(yǔ)言,是指Arduino核心庫(kù)所提供的各種應(yīng)用程序編程接口(Application Programming Interface,簡(jiǎn)稱API)的集合。這些API是對(duì)更底層的單片機(jī)支持庫(kù)進(jìn)行二次封裝所形成的。這些封裝好的API使得程序中的語(yǔ)句更容易被理解, 因此可以不用理會(huì)單片機(jī)中繁雜的寄存器配置就能直觀的控制Aeduino,在增強(qiáng)了程序可讀性的同時(shí),也提高了開發(fā)效率。
2.Arduino程序結(jié)構(gòu)
Arduino程序結(jié)構(gòu)與傳統(tǒng)的C/C++的程序結(jié)構(gòu)有所不同——Arduino程序中沒(méi)有main()函數(shù)。
其實(shí)并不是Arduino程序中沒(méi)有main()函數(shù),而是main()函數(shù)定義隱藏在了Arduino的核心庫(kù)文件中。在進(jìn)行Arduino開發(fā)時(shí)一般不直接操作main函數(shù),而是使用setup()和loop()兩個(gè)函數(shù)。
Arduino程序的基本結(jié)構(gòu)如下:
void setup{//在這里填寫setup()函數(shù)代碼,它只會(huì)運(yùn)行一次}void loop{//在這里填寫loop()函數(shù)代碼,它會(huì)不斷重復(fù)運(yùn)行}
  • setup()
    Arduino控制器通電或復(fù)位后,即會(huì)開始執(zhí)行setup()函數(shù)中的程序,改程序只會(huì)執(zhí)行一次。
    通常是在setup()函數(shù)中完成Arduino的初始化設(shè)置,如配置I/O口狀態(tài)和初始化串口等操作
  • loop()
    setup()函數(shù)中的程序執(zhí)行完畢后,Arduino會(huì)接著執(zhí)行l(wèi)oop()函數(shù)中的程序。而loop()函數(shù)是一個(gè)死循環(huán),其中的程序會(huì)不斷地重復(fù)執(zhí)行。
    通常loop()函數(shù)中完成程序的主要功能,如驅(qū)動(dòng)各種模塊和采集數(shù)據(jù)等。
3.Arduino C/C++語(yǔ)言部分基礎(chǔ)
(1)數(shù)據(jù)類型

  • 常量
    在程序運(yùn)行過(guò)程中其值不能改變的量,常量可以是字符也可以是數(shù)字,通常使用語(yǔ)句 ↓ 定義常量
#define 常量名 常量值比如在Arduino核心庫(kù)中已定義的常量PI,即是使用語(yǔ)句 ↓ 定義的
#define PI 3.1415926535897932384626433832795
  • 變量
    程序中可變的值稱為變量,其定義方法是:
類型 變量名;例如:
int i;int i =95;int i;i=95①整型


整數(shù)即整數(shù)類型。Arduino可用的整數(shù)類型及取值范圍如下表所示。在ArduinoDue中int型及unsigned int 型占用四字節(jié)。


Arduino可用整數(shù)類型及其取值范圍.jpg


②浮點(diǎn)型
浮點(diǎn)數(shù)就是平常所說(shuō)的實(shí)數(shù),在Arduino中有float和double兩種浮點(diǎn)類型,但在使用AVR座位核心的Arduino上兩者的精度是一樣的,都占用4字節(jié)內(nèi)存空間。在Arduino Due中,double類型占用8字節(jié)內(nèi)存空間。
浮點(diǎn)型數(shù)據(jù)的運(yùn)算較慢且有一定的誤差,因此通常會(huì)把浮點(diǎn)類型轉(zhuǎn)換為整型來(lái)處理相關(guān)運(yùn)算。如9.8cm通常會(huì)換算為98mm來(lái)計(jì)算。
③字符型
即char類型,占用1字節(jié),存儲(chǔ)字符變量。存儲(chǔ)字符變量時(shí),字符需要用單引號(hào)引用,如
char col='C'④布爾型
即boolean類型。它的值只用兩個(gè):false(假)和true(真)。占用一字節(jié)。
(2)選擇結(jié)構(gòu)
  • if 語(yǔ)句
    ①簡(jiǎn)單分支結(jié)構(gòu)
if(表達(dá)式){  語(yǔ)句;}②雙分支語(yǔ)句
if(表達(dá)式){  語(yǔ)句1;}else{  語(yǔ)句2;}③多分支語(yǔ)句
if(表達(dá)式1){  語(yǔ)句1;}else if(表達(dá)式2){  語(yǔ)句2;}else if(表達(dá)式3){  語(yǔ)句3;}else if(表達(dá)式4){  語(yǔ)句4;}……
  • switch...case語(yǔ)句
switch(表達(dá)式){   case 常量表達(dá)式1:   語(yǔ)句1   break;   case 常量表達(dá)式2:   語(yǔ)句2   break;   case 常量表達(dá)式3:   語(yǔ)句3   break;   ……  default:         語(yǔ)句n         break;}

(3)循環(huán)結(jié)構(gòu)

  • 循環(huán)語(yǔ)句
    ①while循環(huán)
while(表達(dá)式){  語(yǔ)句;}②do...while循環(huán)
do{  語(yǔ)句;}while(表達(dá)式);③for循環(huán)
for(表達(dá)式1;表達(dá)式2;表達(dá)式3){  語(yǔ)句;}
  • 循環(huán)控制語(yǔ)句
    ①break
if(表達(dá)式){  break;}②continue
if(表達(dá)式){  continue;}

4.基礎(chǔ)語(yǔ)句
1.配置引腳的模式為輸入模式或輸出模式
pinMode(pin,mode); pin為指定配置的引腳編號(hào),mode為指定的配置模式——input(輸入),output(輸出)
2.設(shè)置引腳輸出高電平或低電平
digitalWrite(pin,value);pin為指定輸出的引腳編號(hào),value為要指定的輸出電平——high(高電平),low(低電平)
3.讀取外部輸入的數(shù)字信號(hào)
digitalRead(pin);pin為指定讀取狀態(tài)的引腳編號(hào)。
4.延時(shí)函數(shù)
delay(ms);單位為ms




Arduino+傳感器 玩轉(zhuǎn)電子制作.jpg



Arduino編程.jpg




Arduino編程從零開始.jpg




Arduino從基礎(chǔ)到實(shí)踐.jpg




Arduino入門基礎(chǔ)教程.jpg




Arduino實(shí)戰(zhàn)指南AVR篇.jpg


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:724485 發(fā)表于 2020-4-17 23:19 來(lái)自手機(jī) | 只看該作者
好豐富。真太贊了
回復(fù)

使用道具 舉報(bào)

板凳
ID:1130053 發(fā)表于 2024-8-5 00:41 | 只看該作者
看了好多Arduino編程語(yǔ)言都沒(méi)一個(gè)全的
回復(fù)

使用道具 舉報(bào)

地板
ID:1130053 發(fā)表于 2024-8-15 13:21 | 只看該作者
看來(lái)是認(rèn)真學(xué)了一段時(shí)間
回復(fù)

使用道具 舉報(bào)

5#
ID:1130053 發(fā)表于 2024-8-15 13:21 | 只看該作者
sfls 發(fā)表于 2024-8-5 00:41
看了好多Arduino編程語(yǔ)言都沒(méi)一個(gè)全的

確實(shí)是
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表