亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Arduino教程:認識Arduino控制板

發布時間:2020-06-21 22:21:27 來源:網絡 閱讀:1098 作者:acktomas 欄目:編程語言

Arduino教程:認識Arduino控制板

1.1 課程說明

認識Arduino控制板的各個部分,

1.2 器材

名稱 數量 規格
Arduino uno控制板 1 R3

1.3 UNO電路:

Arduino教程:認識Arduino控制板

UNO參數
名稱 參數說明
工作電壓: 5V
輸入電壓: 接上USB時無須外部供電或外部7V~12V DC輸入
輸出電壓: 5V DC輸出和3.3V DC輸出 和外部電源輸入
微處理器: ATmega328
Bootloader: Arduino Uno
時鐘頻率: 16 MHz
輸入電壓(推薦): 7-12V
輸入電壓(限制): 6-20V
支持USB接口協議及供電(不需外接電源) ?
支持ISP下載功能 ?
數字I/O端口: 14(6個PWM輸出口)
模擬輸入端口: 6
直流電流 I/O端口: 40mA
直流電流 3.3V端口: 50mA
Flash 內存: 32 KB (ATmega328) (0.5 KB用于引導程序)
SRAM : 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
尺寸: 75x55x15mm

1.4 詳細內容:

我們將了解Arduino板上的不同組件。將學習Arduino UNO板,因為它是Arduino板系列中最受歡迎的。此外,它是開始使用電子和編碼的最佳板。有些板看起來與下面給出的有些不同,但多數Arduino中的這些組件大部分是共同的。 Arduino教程:認識Arduino控制板

引腳 說明
1.Power USB Arduino板可以通過使用計算機上的USB線供電。你需要做的是將USB線連接到USB接口。
2.Barrel Jack 電源(桶插座);Arduino板可以通過將其連接到電影插口直接從交流電源供電。
3.Voltage Regulator 穩壓器;穩壓器的功能是控制提供給Arduino板的電壓,并穩定處理器和其他元件使用的直流電壓。
4.Crystal Oscillator 晶體振蕩器;晶振幫助Arduino處理時間問題。Arduino如何計算時間?答案是,通過使用晶體振蕩器。在Arduino晶體頂部打印的數字是16.000H9H。它告訴我們,頻率是16,000,000赫茲或16MHz。
5、17.Arduino Reset Arduino重置;;你可以重置你的Arduino板,例如從一開始就啟動你的程序。可以通過兩種方式重置UNO板。首先,通過使用板上的復位按鈕(17)。其次,你可以將外部復位按鈕連接到標有RESET(5)的Arduino引腳。
6、7、8、9.Pins 引腳(3.3,5,GND,Vin)
- ? 3.3V(6) - 提供3.3輸出電壓
- ? 5V(7) - 提供5輸出電壓
- ? 使用3.3伏和5伏電壓,與Arduino板一起使用的大多數組件可以正常工作。
- ? GND(8)(接地) -Arduino上有幾個GND引腳,其中任何一個都可用于將電路接地。
- ? Vin(9) -此引腳也可用于從外部電源(如交流主電源)為Arduino板供電。
10.Analog pins 模擬引腳 Arduino UNO板有六個模擬輸入引腳,A0到A5。這些引腳可以從模擬傳感器(如濕度傳感器或溫度傳感器)讀取信號,并將其轉換為可由微處理器讀取的數字值。
11.Main microcontroller 微控制器 每個Arduino板都有自己的微控制器(11)。你可以假設它作為板的大腦。Arduino上的主IC(集成電路)與板對板略有不同。微控制器通常是ATMEL公司的。在從Arduino IDE加載新程序之前,你必須知道你的板上有什么IC。此信息位于IC頂部。有關IC結構和功能的更多詳細信息,請參閱數據表。
12.ICSP pin ICSP引腳 <br>大多數情況下,ICSP(12)是一個AVR,一個由MOSI(Master Output,Slave Input),MISO(Master Input, Slave Output),SCK(Serial Clock),RESET,VCC和GND組成的Arduino的微型編程頭。Arduino教程:認識Arduino控制板Arduino教程:認識Arduino控制板<p>它通常被稱為SPI(Serial Peripheral Interface,串行外設接口),可以被認為是輸出的“擴展”。實際上,你是將輸出設備從屬到SPI總線的主機。SPI接口的全稱是"Serial Peripheral Interface",意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在EEPROM、FLASH、實時時鐘、AD轉換器,還有數字信號處理器和數字信號解碼器之間。SPI接口是在CPU和外圍低速器件之間進行同步串行數據傳輸,在主器件的移位脈沖下,數據按位傳輸,高位在前,低位在后,為全雙工通信,數據傳輸速度總體來說比I2C總線要快,速度可達到幾Mbps。</p>
13.Power LED indicator 電源LED指示燈 當你將Arduino插入電源時,此LED指示燈應亮起,表明你的電路板已正確通電。如果這個指示燈不亮,那么連接就出現了問題。
14.TX and RX LEDs TX和RX LED 在你的板上,你會發現兩個標簽:TX(發送)和RX(接收)。它們出現在Arduino UNO板的兩個地方。首先,在數字引腳0和1處,指示引腳負責串行通信。其次,TX和RX LED(13)。發送串行數據時,TX LED以不同的速度閃爍。閃爍速度取決于板所使用的波特率。RX在接收過程中閃爍。
15.Digital I/O 數字I/O Arduino UNO板有14個數字I/O引腳(15)(其中6個提供PWM(脈寬調制)輸出),這些引腳可配置為數字輸入引腳,用于讀取邏輯值(0或1);或作為數字輸出引腳來驅動不同的模塊,如LED,繼電器等。標有“?”的引腳可用于產生PWM。
16.AREF AREF AREF代表模擬參考。它有時用于設置外部參考電壓(0至5伏之間)作為模擬輸入引腳的上限。

1.5 板載LED閃爍實驗

arduino上有一個名稱為L的led發光二級管,這個led其實是連接在13號引腳上的,所以我們通過控制13號引腳就能夠控制此led燈閃爍。 下面我們來看程序源碼

  /* 
    作者:智芯坊 
    時間:       年    月    日 
    發表地址: 
    程序說明:  
    使一個Led亮一秒,滅一秒,如此往復。 
  */  
void setup() {                  
    // 初始化數字引腳,使其為輸出狀態。  
    // 大部分Arduino控制板上,數字13號引腳都有一顆Led。  
    pinMode(13, OUTPUT);
} 

void loop() {  
    digitalWrite(13, HIGH);   // 使Led亮  
    delay(1000);              // 持續1秒鐘  
    digitalWrite(13, LOW);    // 使Led滅  
    delay(1000);              // 持續1秒鐘。  
}
程序說明
  1. 首先打開Arduino?IDE,我們把代碼輸入。
  2. 然后選擇控制板型號,本次實驗使用的是arduino兼容控制板,選擇為arduino uno即可。
  3. 然后選擇端口號,本次實驗為COM7端口,一般為列表最后一個。
  4. 然后點擊編譯,編譯完成后,會在左下方提示。編程成功后,就可以點擊下載了。下載完成后,也會在左下方提示。
Ps:
  1. 所有Arduino程序都是由參數設置(setup)和循環(loop)兩個函數組成,函數名后面一定跟著小括號;大括號({})用于界定程序區塊的范圍
  2. 若要指揮Arduino控制某個數字引腳的元器件,必須先把引腳設置成“輸出(output)”模式,若是要接收來自傳感器的輸入值,則要把該引腳設置成“輸入(input)”模式。Arduino的每個數字和模擬引腳都能輸出“高電位”和低電位信號
  3. 注釋(comment):是程序中的說明文字,語法: //: 放在說明文字的前方;單行注釋 / …… /:多行注釋。

1.6 補充閱讀相關知識:

1.6.1 模擬引腳

本文是對于Arduino芯片上模擬引腳的介紹。上面所說的Arduino芯片主要包括(Atmega8, Atmega168,Atmega328或Atmega1280)。

  1. 數模轉換電路 Arduino中使用的Atmega控制器都配有一個板載6通道數模轉換器,這個轉換器的精度為10bit,能夠返回0-1023的整數。盡管模擬引腳的主要功能是讀取模擬信號,但是實際上和0-13號數字引腳一樣,模擬引腳也可以進行INPUT、OUTPUT操作(GPIO)。因此,如果你在做項目時需要更多的數字引腳,那么模擬引腳也可用作GPIO操作。
  • 引腳編號 A0、A1、A2、A3……就是模擬引腳的編號。你可以用這個編號讓模擬引腳輸出高電平或低電平。下面的例子會將A0口設置為輸出模式,并且輸出高電平:
pinMode(A0, OUTPUT);
digitalWrite(A0, HIGH);
  1. 上拉電阻 模擬引腳也有和數字引腳一樣的內置上拉電阻。通過下列代碼激活模擬引腳內部的上拉電阻。 digitalWrite(A0, HIGH); // 將上拉電阻激活。(這與普通的輸入引腳有點區別) 但是激活了上拉電阻后,再用analogRead()的話,讀出的值會受到影響。
  2. 一些額外需注意的細節 如果一個引腳已經被設置成為OUTPUT模式,analogRead函數就不能夠正常工作。因此,如果要將模擬引腳當做數字引腳并且設置了OUTPUT模式,請在調用analogRead前將這個模擬引腳重新定義為INPUT模式。 如上所述,如果你將模擬引腳定為輸出模式并且輸出了HIGH,那么它內部的上拉電阻就會被激活。如果這時候再轉為INPUT,那么上拉電阻將依然工作著。(因此,你需要先設置為LOW,再轉換為INPUT,才能夠獲得正確結果。) 從Atmega的數據手冊中,我們可以知道:如果要在模擬引腳上進行快速的電平切換,會導致電子噪聲。這會給模電轉換模塊帶來“抖動”,從而影響到其他引腳上的模擬信號值讀取。因此,你需要在將模擬引腳進行電平操作切換后使用后用delay函數進行一小段時間的延遲,然后再使用analogRead()去讀取其他引腳上的模擬信號。
1.6.2. 數字引腳

Arduino上的引腳可以被設置為輸入模式(INPUT)或輸出模式(OUTPUT)。甚至很多Arduino (Atmega單片機)上的模擬引腳也可以被當做數字引腳使用。本篇文章將介紹引腳在兩種不同模式(INPUT和OUTPUT)下的功能。

  1. INPUT模式 Arduino (Atmega) 引腳默認是輸入模式(INPUT)因此在程序中一般你不需要特別指定為INPUT模式。處在INPUT模式的引腳將處于高阻抗狀態(high-impedance)(相當于引腳串接了一個100兆歐的電阻),因而它對于電路幾乎沒有任何影響。數字引腳可以被用來讀取觸碰開關、把LED當做以光電二極管讀取,或者使用RCTime來讀取模擬信號傳感器。 然而,使用pinMode(pin, INPUT)配置的引腳在沒連接到任何電路上時(處于懸空狀態),從引腳讀出的結果可能會“亂跳”。這是因為引腳收到了電子噪聲的干擾,或者由于電容耦合讀取了附近引腳的值。
  2. INPUT模式引腳的上拉電阻 一般來說,我們希望在輸入引腳懸空時保持一個穩定的狀態。這可以通過加一個上拉電阻(上拉到+5V)或加一個下拉電阻(下拉到GND)來實現。上拉電阻或下拉電阻一般選用10kΩ電阻比較合適。
  3. 使用INPUT_PULLUP對輸入引腳進行配置 在Atmega芯片中每個輸入引腳都對應著一個20kΩ的上拉電阻,你可以通過代碼去使這些內置上拉電阻發揮作用(只需在pinMode函數中傳入INPUT_PULLUP函數作為參數即可) 。使用上拉電阻會“反轉”讀取結果,當讀取到HIGH的時候說明引腳上為低電壓,當讀取到LOW時說明引腳上是高電壓。 不同微控制器內置上拉電阻的阻值大小也不盡相同。在大多數AVR板中,上拉電阻用的是20kΩ到50kΩ。而在Arduino Due中,上拉電阻用的是50kΩ到150kΩ。如果你想知道你板子上內置上拉電阻的確切阻值,請參閱微控制器的數據手冊。 當傳感器連接到用INPUT_PULLUP常量配置的引腳時,傳感器的另一端應該被連接到GND。假如你將一個開關連接到這個引腳上,當開關斷開時將會讀到HIGH,閉合時讀到LOW。 上拉電阻的電流足夠讓LED微微亮起,所以如果你發現在自己的項目中,LED雖然在工作,但是亮度很微弱,一般就說明你將引腳錯誤地設置為了INPUT模式。 在單片機內部,上拉電阻是用一個寄存器(單片機的一塊記憶區域)控制的,這個寄存器又同時控制引腳是高電平(HIGH)還是低電(LOW)。基于這個原因,如果你將一個INPUT_PULLUP的輸入引腳重新配置成OUTPUT的話,它會立即輸出高電平。相反,如果你將一個正在輸出高電平的OUTPUT引腳重新配置為INTPUT,它會自動將上拉電阻打開。 在Arduino 1.0.1之前可以用以下代碼配置內部上拉電阻:
pinMode(pin, INPUT); // 將引腳設置為INPUT模式
digitalWrite(pin, HIGH); // 打開引腳的上拉電阻

而目前應該這樣寫

pinMode(pin,INPUT_PULLUP);

特別提示: 13號引腳相比其他引腳來說不適宜配置為INPUT模式,因為在絕大多數板上,它連著一個板載LED。如果你激活13號引腳上的上拉電阻,它只能拉到1.7V而非你所期望的5V,因為LED分走了電壓。而由于一直不滿5V,從13號引腳上讀出的結果總是LOW。如果你非要將13號引腳設置為INPUT模式,請外加一個下拉電阻。 4. OUTPUT模式 OUTPUT模式的引腳在工作時是低阻抗的,也就是說OUTPUT模式的引腳能夠給外部電路提供可靠的電流支持。Atmega引腳最高可以為外部設備提供40mA的電流。這個電流完全足夠點亮LED(別忘記串接電阻,否則甚至會燒掉你的LED)或者驅動絕大多數傳感器。不過別指望用它去直接驅動大多數繼電器、螺線管或者電機。 讓Arduino的引腳短路,或者讓大電流通過都可能會損壞內部晶體管或損壞Atmega芯片。如果第一種情況發生,你會發現雖然Arduino貌似工作正常,但是那個損壞的引腳已經無法工作了。因此,最好在外圍串接470Ω到1kΩ的電阻,來確保外電路總電流小于等于40mA,除非如果你的電路確實需要比較高的電流,否則就最好進行限流。

1.7 wiki:

  1. void: 只用在函數聲明中。它表示該函數將不會被返回任何數據到它被調用的函數中。
  2. setup():當Arduino板起動時setup()函數會被調用。用它來初始化變量,引腳模式,開始使用某個庫,等等。該函數在Arduino板的每次上電和復位時只運行一次。
  3. loop():可以用它來實時控制arduino板。
  4. pinMode(): void pinMode (uint8_t pin, uint8_t mode) ? 設置引腳模式 ? 配置引腳為輸出或輸出模式。 參數: ? pin 引腳編號 ? mode: INPUT, OUTPUT, 或 INPUT_PULLUP。 例子:
  5. pinMode(ledPin, OUTPUT); // sets the digital pin as output 注解: 模擬引腳也可以當作數字引腳使用, 編號為14(對應模擬引腳0)到19(對應模擬引腳5). digitalWrite() void digitalWrite (uint8_t pin, uint8_t value) ? 寫數字引腳 ? 寫數字引腳, 對應引腳的高低電平. 在寫引腳之前, 需要將引腳設置為OUTPUT模式. 參數: ? pin 引腳編號 ? value HIGH 或 LOW 用法:
  6. digitalWrite(ledPin, HIGH); // 點亮LED 注解: ? 模擬引腳也可以當作數字引腳使用, 編號為14(對應模擬引腳0)到19(對應模擬引腳5). delay(ms) void delay (unsigned long ms)
    ? 延時(毫秒) ? 延時, 單位毫秒(1秒有1000毫秒). 警告: 參數為unsigned long, 因此在延時參數超過32767(int型最大值)時, 需要用"UL"后綴表示為無符號 長整型, 例如: delay(60000UL);. 同樣在參數表達式, 切表達式中有int類型時, 需要強制轉換為 unsigned long類型, 例如:
  7. delay((unsigned long)tdelay * 100UL);
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

韩城市| 荥经县| 五大连池市| 大港区| 林芝县| 安吉县| 乌拉特前旗| 平湖市| 花莲市| 得荣县| 化州市| 双流县| 湖北省| 三门峡市| 景德镇市| 无极县| 河池市| 盐城市| 岳阳市| 墨竹工卡县| 赣州市| 孟州市| 佛坪县| 绥芬河市| 高州市| 高台县| 基隆市| 宜兴市| 松滋市| 通化市| 巴彦县| 五常市| 民丰县| 六盘水市| 金阳县| 昌邑市| 永仁县| 于都县| 二连浩特市| 东乡族自治县| 象州县|