日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

Arduino從零入門(Arduino安裝、設(shè)置以及項目實操)

作者:佚名    文章來源:網(wǎng)絡(luò)整理    點擊數(shù):    更新時間:2024/8/31


一、Arduino安裝與設(shè)置

1.1 Arduino簡介

Arduino是一款便捷靈活、方便上手的開源電子原型平臺,由一個歐洲開發(fā)團隊于2005年冬季開發(fā)。
Arduino包括硬件(各種型號的Arduino板)和軟件(Arduino IDE)。 Arduino IDE就是開發(fā)Arduino板必須要用到的配套IDE。
常用型號的Arduino板:
Arduino開發(fā)板有多種型號,以下是一些常用的:

  • Arduino Uno:這是一個基礎(chǔ)級開發(fā)板,對于初學(xué)者來說非常友好。
  • MEGA2560:這是功能更強大的開發(fā)板,有更多內(nèi)存和連接端口,適合需要處理大量數(shù)據(jù)的項目。
  • Arduino Micro:這是一種微型化的開發(fā)板,尺寸更小,適合需要小巧、便攜解決方案的項目。
  • Leonardo:這款開發(fā)板集成了ATmega32u4控制器和USB接口,適用于需要無線通信的項目。
  • Arduino Nano:該開發(fā)板更加緊湊,旨在為那些需要小型化解決方案的項目提供服務(wù)。
  • GEMMA (吉瑪):這是一種基本的開發(fā)板,對于初學(xué)者來說也是一個不錯的選擇。
  • Arduino 101:這款開發(fā)板基于Intel Galileo,集成了Wi-Fi和藍牙功能,非常適合需要網(wǎng)絡(luò)連接的項目。
  • Arduino Ethernet:這款開發(fā)板可以讓您的項目連接到局域網(wǎng)或互聯(lián)網(wǎng)。
  • Arduino Yún:這款開發(fā)板基于ATmega32u4和ESP8266 Wi-Fi微控制器,具有內(nèi)置以太網(wǎng)和SD卡支持,可以實現(xiàn)遠程控制和數(shù)據(jù)存儲。
  • Arduino Due:這是一款高性能的開發(fā)板,適用于需要高速運算和大量存儲空間的項目。

 

Arduino結(jié)構(gòu):

1、引腳:與控制器直接相連的針腳。
2、端口:數(shù)字輸入輸出端口、模擬輸入端口、電源端口等。其中,輸入輸出都是針對開發(fā)板來說的,向開發(fā)板發(fā)送信號那就是輸入,反之為輸出。數(shù)字輸入輸出只能0和1,端口0和端口1是用來傳輸數(shù)據(jù)用的。電源端口向外提供電壓,有5V和3.3V。
從使用引腳到端口的轉(zhuǎn)變原因
✨單片機從使用引腳到端口的轉(zhuǎn)變主要是為了解決引腳沖突和提高系統(tǒng)的可擴展性。在單片機的早期設(shè)計中,引腳是最基本的輸入輸出單位。但隨著應(yīng)用需求的增加,特定的引腳可能會被多個外設(shè)或模塊同時使用,導(dǎo)致引腳沖突。這種情況下,如果繼續(xù)使用單獨的引腳,可能需要頻繁地更改硬件連接或重新分配引腳,這不僅增加了設(shè)計的復(fù)雜性,也可能影響系統(tǒng)的穩(wěn)定性和可靠性。

✨ 為了解決這個問題,單片機引入了端口的概念。端口是由多個引腳組成的邏輯單元,它可以獨立地進行輸入輸出操作,而不需要關(guān)心引腳的具體配置和狀態(tài)。通過使用端口,設(shè)計者可以更加靈活地管理和控制各個外設(shè),避免引腳沖突的問題。此外,端口還提供了更高級的輸入輸出功能,如中斷、DMA等,進一步提高了系統(tǒng)的響應(yīng)速度和處理能力。

✨總的來說,從引腳到端口的轉(zhuǎn)變是為了提高單片機的可擴展性和穩(wěn)定性,使其更好地滿足復(fù)雜應(yīng)用的需求。

 
3、Arduino的程序存儲空間最大為多少?
Arduino的程序存儲空間最大為32256字節(jié)。這個存儲空間由兩部分組成:靜態(tài)存儲空間和動態(tài)存儲空間。靜態(tài)存儲空間主要用于存放程序代碼和全局變量,其最大空間為32256字節(jié);動態(tài)存儲空間主要用于存放局部變量,其最大空間為2048字節(jié)。

但需要注意的是,程序存儲空間的大小也受到Arduino開發(fā)板型號的影響。例如,對于某些Arduino Mega系列的開發(fā)板,其程序存儲空間可以達到256KB。因此,在編寫Arduino程序時,需要根據(jù)具體的開發(fā)板選擇合適的編程方式和優(yōu)化策略,以確保程序能夠正常運行。
 

1.2 Arduino安裝

Arduino編程軟件的安裝,官網(wǎng)鏈接:https://www.arduino.cc/
登錄官網(wǎng)后找到軟件安裝包
 
如果官網(wǎng)下載太慢可以登錄太極創(chuàng)客網(wǎng)址:http://www.taichi-maker.com/,進行快速下載。
 
安裝過程:注意要全選,然后一路Nect即可等待安裝完成!
 

1.3 Arduino設(shè)置

首先,點擊文件首選項,對其進行參數(shù)設(shè)置。勾選“顯示行號”,一般第一次打開設(shè)置界面,都未勾選。
 
其次,設(shè)置IDE中開發(fā)板的型號和端口,在連接上開發(fā)板后,在工具選項欄中選擇“開發(fā)板”型號以及“端口號”。

1.4 Arduino界面

關(guān)于界面說明:

1、打鉤的是“驗證”,實際作用就是編譯代碼成可執(zhí)行程序;
2、向左的箭頭是上傳,實際作用就是將可執(zhí)行程序燒錄到開發(fā)板上。
 

Arduino的程序入口在哪里?

Arduino的程序入口是setup()loop()兩個主要函數(shù)。當(dāng)Arduino板啟動時,setup()函數(shù)會被調(diào)用,它負責(zé)初始化變量、設(shè)定引腳模式以及啟用必要的庫等功能。這個函數(shù)在Arduino板的每次上電和復(fù)位時只會運行一次。

loop()函數(shù)則是Arduino的主循環(huán),它在setup()函數(shù)執(zhí)行完畢后開始執(zhí)行,并會不斷循環(huán)執(zhí)行,以處理輸入、輸出和控制邏輯。

值得注意的是,雖然在許多編程環(huán)境中,程序的入口通常是名為main()的函數(shù),但在Arduino開發(fā)中,并沒有直接使用這個函數(shù)作為程序入口。實際上,main()函數(shù)存在于Arduino核心庫中,并仍然作為程序的入口。
 

二、Arduino項目實操

2.1 主要函數(shù)學(xué)習(xí)

Arduino編寫程序的函數(shù)主要包括以下幾個:

  1. setup():在程序開始時執(zhí)行一次,通常用于初始化硬件和設(shè)置初始狀態(tài)。
  2. loop():在程序運行時不斷執(zhí)行,通常用于處理輸入、輸出和控制邏輯。
  3. pinMode():設(shè)置引腳的模式,如輸入或輸出。
  4. digitalRead():讀取數(shù)字引腳的狀態(tài),返回0或1。
  5. digitalWrite():向數(shù)字引腳寫入電平,可以是高電平(1)或低電平(0)。
  6. analogRead():讀取模擬引腳的值,范圍為0到1023。
  7. analogWrite():向模擬引腳寫入值,范圍為0到255。
  8. delay():暫停程序執(zhí)行一段時間,單位為毫秒。
  9. delayMicroseconds():暫停程序執(zhí)行一段時間,單位為微秒。
  10. millis():獲取程序從啟動到現(xiàn)在的毫秒數(shù)。
  11. micros():獲取程序從啟動到現(xiàn)在的微秒數(shù)。
  12. map():將一個數(shù)值從一個范圍映射到另一個范圍。
  13. constrain():將一個數(shù)值限制在一個范圍內(nèi)。
  14. Serial.begin():初始化串行通信。
  15. Serial.print():向串行監(jiān)視器發(fā)送數(shù)據(jù)。
  16. Serial.println():向串行監(jiān)視器發(fā)送數(shù)據(jù)并換行。
  17. Serial.read():從串行監(jiān)視器讀取一個字節(jié)的數(shù)據(jù)。
  18. Serial.available():檢查串行監(jiān)視器是否有可用的數(shù)據(jù)。
  19. Serial.write():向串行監(jiān)視器發(fā)送一個字節(jié)的數(shù)據(jù)。
  20. Serial.flush():清空串行監(jiān)視器的緩沖區(qū)。

各個函數(shù)具體作用以及用法可以看太極的官網(wǎng):
http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/
 

2.2 控制LED閃爍

面包板的出現(xiàn)
面包板,也被稱為萬用線路板或集成電路實驗板,是專為電子電路的無焊接實驗設(shè)計制造的工具。其名稱源于板子上的眾多小插孔,這些插孔看起來很像面包中的小孔。
面包板在真空管電路的年代就已經(jīng)開始出現(xiàn),當(dāng)時的元器件體積較大,人們常常通過螺絲和釘子將它們固定在切面包用的木板上進行連接,后來隨著元器件體積的不斷縮小,雖然元器件變小了,但"面包板"的名稱卻延續(xù)了下來。

面包板的使用大大提高了實驗效率,同時也降低了實驗故障的出現(xiàn)幾率。由于各種電子元器件可以根據(jù)需要進行插入或拔出,這樣一來就無需焊接,從而節(jié)省了電路的組裝時間。而且元件可以重復(fù)使用,所以面包板非常適合用于電子電路的組裝、調(diào)試和訓(xùn)練。
 
面包板的連接原理是基于插孔連接的。每個金屬孔都與周圍的金屬孔相連,形成一個電路節(jié)點。當(dāng)我們需要連接兩個電路節(jié)點時,只需在它們之間插入導(dǎo)線即可。

點亮開發(fā)板上的LED
開發(fā)板上的LED與13號引腳相連,因此只需要控制該引腳的電平即可實現(xiàn)對LED的控制。

void setup() {

  // put your setup code here, to run once:
  pinMode(13,OUTPUT);
} 
void loop() {

  // put your main code here, to run repeatedly:
  digitalWrite(13,HIGH);
  delay(500);//持續(xù)亮0.5秒
  digitalWrite(13,LOW);
  delay(500);//持續(xù)熄滅0.5秒
}

點亮面包板上的LED
首先,根據(jù)電路原理圖使用導(dǎo)線連接面包板、LED以及開發(fā)板。其次,LED短邊為負極,長邊為正極。
 

 

int pin=5;
void setup() {

  // put your setup code here, to run once:
  pinMode(pin,OUTPUT);
} 
void loop() {

  // put your main code here, to run repeatedly:
  digitalWrite(pin,HIGH);
  delay(500);//持續(xù)亮0.5秒
  digitalWrite(pin,LOW);
  delay(500);//持續(xù)熄滅0.5秒
}

2.3 按鍵開關(guān)操作

上拉和下拉電阻:上拉電阻和下拉電阻的主要作用是將狀態(tài)不確定的信號線通過一個電阻將其箝位至高電平(上拉)或低電平(下拉),從而避免電壓的“懸浮”,造成電路的不穩(wěn)定。在數(shù)字電路中,通常有三種狀態(tài):0(低電平)、1(高電平)、浮空(不確定、隨機)。
具體來說,上拉電阻是在某信號線上,通過電阻與一個固定的高電平VCC相接,使其電壓在空閑狀態(tài)保持在VCC電平;而下拉電阻則是將某信號線通過電阻接在固定的低電平GND上,使其空閑狀態(tài)保持GND電平。

本次通過按鍵開關(guān)對Arduino的引腳輸入高、低電平。

項目實操總結(jié)

1、首先,根據(jù)電氣原理以及想要實現(xiàn)的功能連接電路圖;
2、然后,再按照電路圖連接導(dǎo)線和部件;
3、最后,按照想要實現(xiàn)的功能編寫代碼。

Tags:Arduino入門,Arduino,入門教程  
責(zé)任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢