色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arduino I/O函數詳解

我快閉嘴 ? 來源:創客少年 ? 作者:創客少年 ? 2022-09-13 11:03 ? 次閱讀

Arduino I/O函數

Arduino 板上的引腳可以配置為輸入或輸出。我們將在這些模式下解釋引腳的功能。重要的是要注意,大多數 Arduino 模擬引腳可以按照與數字引腳完全相同的方式進行配置和使用。

引腳配置為INPUT

Arduino 引腳默認配置為輸入,因此在使用它們作為輸入時,不需要使用pinMode()顯式聲明為輸入。以這種方式配置的引腳被稱為處于高阻抗狀態。輸入引腳對采樣電路的要求非常小,相當于引腳前面的100兆歐的串聯電阻

這意味著將輸入引腳從一個狀態切換到另一個狀態所需的電流非常小。這使得引腳可用于諸如實現電容式觸摸傳感器或讀取LED作為光電二極管的任務。

被配置為 pinMode(pin,INPUT)的引腳(沒有任何東西連接到它們,或者有連接到它們而未連接到其他電路的導線),報告引腳狀態看似隨機的變化,從環境中拾取電子噪音或電容耦合附近引腳的狀態。

上拉電阻

如果沒有輸入,上拉電阻通常用于將輸入引腳引導到已知狀態。這可以通過在輸入端添加上拉電阻(到5V)或下拉電阻(接地電阻)來實現。10K電阻對于上拉或下拉電阻來說是一個很好的值。

使用內置上拉電阻,引腳配置為輸入

Atmega 芯片內置了2萬個上拉電阻,可通過軟件訪問。通過將pinMode()設置為INPUT_PULLUP 可訪問這些內置上拉電阻。這有效地反轉了INPUT模式的行為,其中HIGH表示傳感器關閉,LOW表示傳感器開啟。此上拉的值取決于所使用的微控制器。在大多數基于AVR的板上,該值保證在20kΩ和50kΩ之間。在 Arduino Due 上,它介于50kΩ和150kΩ之間。有關確切的值,請參考板上微控制器的數據表。

當將傳感器連接到配置為 INPUT_PULLUP 的引腳時,另一端應接地。在簡單開關的情況下,這會導致當開關打開時引腳變為高電平,當按下開關時引腳為低電平。上拉電阻提供足夠的電流來點亮連接到被配置為輸入的引腳的LED。如果項目中的LED似乎在工作,但很昏暗,這可能是發生了什么。

控制引腳是高電平還是低電平的相同寄存器(內部芯片存儲器單元)控制上拉電阻。因此,當引腳處于INPUT模式時,配置為有上拉電阻導通的引腳將被開啟;如果引腳通過pinMode()切換到OUTPUT模式,引腳將配置為高電平。這也適用于另一個方向,如果通過pinMode()切換到輸入,則處于高電平狀態的輸出引腳將設置上拉電阻。

示例

pinMode(3 , INPUT) ; // set pin to input without using built in pull up resistor
pinMode(5 , INPUT_PULLUP) ; // set pin to input using built in pull up resistor

引腳配置為OUTPUT

通過pinMode()配置為OUTPUT的引腳被認為處于低阻抗狀態。這意味著它們可以向其他電路提供大量的電流。Atmega引腳可以向其他器件/電路提供(提供正電流)或吸收(提供負電流)高達40mA(毫安)的電流。這是足以點亮LED或者運行許多傳感器的電流(不要忘記串聯電阻),但不足以運行繼電器,螺線管或電機

試圖從輸出引腳運行高電流器件,可能損壞或破壞引腳中的輸出晶體管,或損壞整個Atmega芯片。通常,這會導致微控制器中出現“死”引腳,但是剩余的芯片仍然可以正常工作。因此,最好通過470Ω或1k電阻將OUTPUT引腳連接到其他器件,除非特定應用需要從引腳吸取最大電流。

pinMode()函數

pinMode()函數用于將特定引腳配置為輸入或輸出。可以使用INPUT_PULLUP模式啟用內部上拉電阻。此外,INPUT模式顯式禁止內部上拉。

pinMode()函數語法

void setup () {
 pinMode (pin , mode);
}
  • pin- 你希望設置模式的引腳的編號

  • mode- INPUT,OUTPUT或INPUT_PULLUP。

示例

int button = 5 ; // button connected to pin 5
int LED = 6; // LED connected to pin 6

void setup () {
 pinMode(button , INPUT_PULLUP); 
// set the digital pin as input with pull-up resistor
 pinMode(button , OUTPUT); // set the digital pin as output
}

void setup () {
 If (digitalRead(button ) == LOW) { // if button pressed
 digitalWrite(LED,HIGH); // turn on led
 delay(500); // delay for 500 ms
 digitalWrite(LED,LOW); // turn off led
 delay(500); // delay for 500 ms
 }
}

digitalWrite()函數

digitalWrite()函數用于向數字引腳寫入HIGH或LOW值。如果該引腳已通過pinMode()配置為OUTPUT,則其電壓將被設置為相應的值:HIGH為5V(或3.3V在3.3V板上),LOW為0V(接地)。如果引腳配置為INPUT,則digitalWrite()將啟用(HIGH)或禁止(LOW)輸入引腳的內部上拉。建議將pinMode()設置為INPUT_PULLUP,以啟用內部上拉電阻。

如果不將pinMode()設置為OUTPUT,而將LED連接到引腳,則在調用digitalWrite(HIGH)時,LED可能會變暗。在沒有明確設置pinMode()時,digitalWrite()將啟用內部上拉電阻,這就像一個大的限流電阻。

digitalWrite()函數語法

void loop() {
 digitalWrite (pin , value);
}
  • pin-你希望設置模式的引腳的編號

  • value- HIGH或LOW。

示例

int LED = 6; // LED connected to pin 6

void setup () {
 pinMode(LED, OUTPUT); // set the digital pin as output
}

void setup() { 
 digitalWrite(LED, HIGH); // turn on led
 delay(500); // delay for 500 ms
 digitalWrite(LED, LOW); // turn off led
 delay(500); // delay for 500 ms
}

analogRead()函數

Arduino能夠檢測是否有一個電壓施加到其引腳,并通過 digitalRead() 函數報告。開/關傳感器(檢測物體的存在)和模擬傳感器之間存在一個差異,模擬傳感器的值連續變化。為了讀取這種類型的傳感器,我們需要一個不同類型的引腳。

在Arduino板的右下角,你會看到6個標記為“Analog In”的引腳。這些特殊引腳不僅可以告知是否有電壓施加給它們,還可以告知它們的值。通過使用analogRead()函數,我們可以讀取施加到其中一個引腳的電壓。

此函數返回0到1023之間的數字,表示0到5伏特之間的電壓。例如,如果施加到編號0的引腳的電壓為2.5V,則 analogRead(0) 返回 512。

analogRead()函數語法

analogRead(pin);
  • pin- 要讀取的模擬輸入引腳的編號(大多數電路板上為0至5,Mini和Nano上為0至7,Mega上為0至15)

示例

int analogPin = 3;//potentiometer wiper (middle terminal) 
// connected to analog pin 3 
int val = 0; // variable to store the value read

void setup() {
 Serial.begin(9600); // setup serial
} 

void loop() {
 val = analogRead(analogPin); // read the input pin
 Serial.println(val); // debug value
}

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4332

    瀏覽量

    62646
  • Arduino
    +關注

    關注

    188

    文章

    6470

    瀏覽量

    187149

原文標題:Arduino I/O函數

文章出處:【微信號:創客少年,微信公眾號:創客少年】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    標準I/O操作函數詳解

    1、基本操作 1)打開文件 打開文件有3個標準函數,分別為fopen()、fdopen()和freopen()。它們可以不同的模式打開,但都返回一個指向FILE的指針,該指針指向對應的I/O流。此后
    發表于 08-12 13:48

    標準I/O操作函數詳解

    1、基本操作 1)打開文件 打開文件有3個標準函數,分別為fopen()、fdopen()和freopen()。它們可以不同的模式打開,但都返回一個指向FILE的指針,該指針指向對應的I/O流。此后
    發表于 08-20 16:43

    Arduino I/O函數在模式下引腳分別有哪些功能呢

    Arduino I/O函數在模式下引腳分別有哪些功能呢?
    發表于 01-24 06:11

    PICC庫函數詳解

    PICC庫函數詳解
    發表于 04-18 20:13 ?132次下載

    什么是I/O地址

    什么是I/O地址 I/O地址中I是input的簡寫,O是output的簡寫,也就是輸入輸出地址
    發表于 02-05 10:01 ?1347次閱讀

    Linux 系統應用編程之標準I/O詳解

    本章前面幾節所述的文件及I/O讀寫都是基于文件描述符的。這些都是基本的I/O控制,是不帶緩存的。而本節所要討論的I/
    發表于 10-18 15:45 ?0次下載

    介紹 I/O NI系統,C系列的I/O模塊

    內容包括:理想的確定性以太網I/O,具有確定性分布式I/O的NI系統,C系列的I/O模塊,與La
    的頭像 發表于 06-14 06:19 ?4588次閱讀
    介紹 <b class='flag-5'>I</b>/<b class='flag-5'>O</b> NI系統,C系列的<b class='flag-5'>I</b>/<b class='flag-5'>O</b>模塊

    如何添加ArduinoUno的額外I/O引腳

    如果您想要更多的銷釘,請查看我的啟動項目,以創建64個I/O Arduino屏蔽!是的,在正常大小的arduino防護罩上有64個額外的針腳……瘋狂。。
    的頭像 發表于 09-23 08:44 ?7162次閱讀
    如何添加ArduinoUno的額外<b class='flag-5'>I</b>/<b class='flag-5'>O</b>引腳

    Linux中如何使用信號驅動式I/O

    大圖 I/O 復用 (select、poll、epoll): 通過 I/O 復用函數向內核注冊一組事件,內核通過
    的頭像 發表于 03-12 14:47 ?2436次閱讀
    Linux中如何使用信號驅動式<b class='flag-5'>I</b>/<b class='flag-5'>O</b>?

    Arduino 常用函數參考文檔

    ,該部分只會執行一次。通常我們會在setup() 函數中完成Arduino的初始化設置,如配置I/O口狀態,初始化串口等操作。eg.示例程序// 給13號引腳連接的設備設置一個別名“l
    發表于 11-30 12:06 ?11次下載
    <b class='flag-5'>Arduino</b> 常用<b class='flag-5'>函數</b>參考文檔

    基礎I/O功能

    基礎數字I/O口介紹 LED點亮 按鍵消抖檢測 延時函數
    發表于 12-03 13:51 ?11次下載
    基礎<b class='flag-5'>I</b>/<b class='flag-5'>O</b>功能

    Arduino Nano數字I/O

    電子發燒友網站提供《Arduino Nano數字I/O板.zip》資料免費下載
    發表于 07-18 14:59 ?4次下載
    <b class='flag-5'>Arduino</b> Nano數字<b class='flag-5'>I</b>/<b class='flag-5'>O</b>板

    Arduino語法詳解含示例詳解

    Arduino語法詳解_含示例詳解
    發表于 07-19 14:09 ?6次下載

    Arduino供電的I/O Modbus/TCP設備服務器

    電子發燒友網站提供《Arduino供電的I/O Modbus/TCP設備服務器.zip》資料免費下載
    發表于 11-24 14:27 ?0次下載
    <b class='flag-5'>Arduino</b>供電的<b class='flag-5'>I</b>/<b class='flag-5'>O</b> Modbus/TCP設備服務器

    STM32庫函數SystemInit()詳解

    STM32庫函數SystemInit()詳解
    的頭像 發表于 09-18 15:45 ?4078次閱讀
    STM32庫<b class='flag-5'>函數</b>SystemInit()<b class='flag-5'>詳解</b>
    主站蜘蛛池模板: 精品无人区麻豆乱码1区2| 超碰免费视频部落格| china野外18:19| 久久精品热线免费| 亚洲 综合 欧美在线 热| 成人影片迅雷下载| 青春草久久| 草莓视频免费看| 欧美精品九九99久久在免费线 | 黑丝制服影院| 胸大的姑娘中文字幕视频| 国产AV一区二区三区日韩| 色欲天天天综合网免费| 调教日本美女| 试看2分钟AA片| 国产精品乱码色情一区二区视频| 桃隐社区最新最快地址| 国产精品久久久久久久久久久| 色欲AV亚洲情无码AV蜜桃| 国产 亚洲 中文字幕 在线| 为什么丈夫插我我却喜欢被打着插| 高肉黄暴NP文公交车| 我的美女奴隶| 国产做国产爱免费视频| 亞洲人妻AV無碼在線視頻| 久久精品18| babesvideos欧美最新| 日韩欧美国产免费看清风阁| 国产成人免费高清视频| 亚在线观看免费视频入口| 精品手机在线1卡二卡3卡四卡| 在线成年av动漫电影| 欧美成人免费观看久久| 国产1769一七六九视频在线| 亚洲高清无在码在线无弹窗| 久久国产免费| MD传媒MD0021在线观看| 午夜理论在线观看不卡大地影院| 久久6699精品国产人妻| DASD-700美谷朱里| 亚洲高清有码中文字|