常量:修訂版本之間的差異
(以“在Arduino语言中Constants 是预定义的变量。他们是用来使程序易于阅读。我们按组将常量进行分类: <font color="orange" size="+2">''...”为内容创建页面) |
|||
(由1名用戶作出的3個中途修訂版本未被顯示) | |||
第 75 行: | 第 75 行: | ||
<font color="orange" size="+1">'''引脚配置为INPUT_PULLUP'''</font> | <font color="orange" size="+1">'''引脚配置为INPUT_PULLUP'''</font> | ||
− | |||
arduino上的单片机具有内部上拉电阻(电阻连接到电源内部)并且你可以使用。如果你倾向于使用它代替外部上拉电阻,可以使用pinMode()设置引脚为INPUT_PULLUP 。 | arduino上的单片机具有内部上拉电阻(电阻连接到电源内部)并且你可以使用。如果你倾向于使用它代替外部上拉电阻,可以使用pinMode()设置引脚为INPUT_PULLUP 。 | ||
第 81 行: | 第 80 行: | ||
详细可以参考使用例程:[https://www.arduino.cc/en/Tutorial/InputPullupSerial Input Pullup Serial] | 详细可以参考使用例程:[https://www.arduino.cc/en/Tutorial/InputPullupSerial Input Pullup Serial] | ||
− | + | 引脚作为输入配置两者INPUT或INPUT_PULLUP任何一个都可以被损坏或摧毁了,如果连接了负电压或高电压(5 v或3 v) 。 | |
− | + | ||
− | + | ||
<font color="orange" size="+1">'''引脚配置为Outputs'''</font> | <font color="orange" size="+1">'''引脚配置为Outputs'''</font> | ||
− | + | 引脚通过pinMode() 配置为 输出(OUTPUT) 即是将其配置在一个低阻抗的状态。这意味着他们可以为其他电路提供充足的电流。Atmega单片机引脚可以为其他设备/ 电路提供到40mA的电流或者反向电流。这使得他们用于驱动LEDs,因为LEDs通常使用不到40mA电流。负载大于40mA电流的(例如:电机)将需要外接晶体管或者其他相关电路。 | |
− | + | ||
− | + | ||
第 97 行: | 第 92 行: | ||
− | + | 大多数Arduino电路板都有一个引脚通过串联电阻连接板载LED。常量LED_BUILTIN 为该引脚的引脚号。大多数板子的板载led都是连接到数字引脚13的。 | |
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | [[Arduino语法参考 | 返回Arduino语法参考列表]] | ||
+ | |||
+ | 更多建议和问题欢迎反馈至 [http://www.yfrobot.com YFRobot论坛] |
2015年8月14日 (五) 17:24的最新修訂版本
在Arduino語言中Constants 是預定義的變量。他們是用來使程序易於閱讀。我們按組將常量進行分類:
邏輯層定義: true 與 false (Boolean 布爾型常量)
在Arduino語言里有兩個常量被用於表示真和假: true,與false。
false
在這兩個常量中 false 更容易被定義。false 被定義為 0 。
true
true通常被定義為1,這個正確的,但其實 true 具有更廣泛的定義。在布爾含義(Boolean sense)里任何非零整數都為 true,所以像-1,2,或者200都被定義為 true。
注意 true 和 false 常量不同於 HIGH, LOW, INPUT 和 OUTPUT 需要小寫。
引腳電壓定義: HIGH 與 LOW
當對數字引腳讀或者寫操作時只有兩個可能的值:HIGH和LOW。
HIGH
HIGH(參考引腳)的含義有所不同,取決於引腳(pin)設置為 INPUT 還是 OUTPUT。當一個引腳通過pinMode()被設置為 INPUT,並使用digitalRead()函數讀取引腳時,在以下情況中,Arduino控制器將返回 HIGH:
- - 引腳電壓大於3V(5V板)
- - 引腳電壓大於2V(3.3V板)
引腳也可以通過 pinMode()設置為 INPUT,然後使用digitalWrite() 設置為HIGH。這將使能內部20K上拉電阻並將這個輸入引腳控制為HIGH狀態,除非有外部拉低電路。這是INPUT_PULLUP如何工作及更詳細的描述如。
當引腳通過pinMode()設置為OUTPUT,通過digitalWrite()設置為HIGH時,該引腳狀態:
- - 5 V (5V boards);
- - 3.3 V (3.3V boards);
在這種狀態下它可以輸出電流,例如:點亮一個通過串聯電阻連接到GND的LED。
LOW
LOW(參考引腳)的含義也有所不同,同樣取決於引腳(pin)設置為 INPUT 還是 OUTPUT。當一個引腳通過pinMode()被設置為 INPUT,並使用digitalRead()函數讀取引腳時,在以下情況中,Arduino控制器將返回 LOW:
- - 引腳電壓低於3V(5V板)
- - 引腳電壓低於2V(3.3V板)
當一個引腳通過pinMode()被設置為 OUTPUT,並使用digitalWrite()函數設置為 LOW狀態時,該引腳電壓為0V(5V板和3.3V板相同)。在這種狀態下它可以反向電流,例如:點亮一個通過串聯電阻連接到+5V(或者+3.3V)的LED。
Defining Digital Pins modes: INPUT, INPUT_PULLUP, and OUTPUT
數字引腳可以被用做 INPUT,INPUT_PULLUP或OUTPUT。通過pinMode()改變一個數字引腳使用狀態(在3者中切換)。
引腳配置為INPUT
Arduino(Atmega)引腳通過pinMode()配置為 輸入(INPUT) 即是將其配置在一個高阻抗的狀態。引腳配置為INPUT 使引腳進行取樣時對電路要求非常小,相在引腳前當於串聯一個100M歐電阻。這使得他們更利於讀取一個傳感器。
如果你配置你的引腳為INPUT,並讀取一個開關狀態,當開關處於打開狀態時輸入引腳將是「浮動的」,並導致不可預知的結果。為了保證當開關打開狀態能讀到一個確切的狀態,必須使用上拉或者下拉電阻。這個電阻的目的是當開關打開時,引腳處於一個已知狀態。通常我們會選擇10 K歐姆電阻,因為它阻值低確有效防止浮動輸入,同時當開關關閉是,一個高阻值的電阻阻礙了電流流通。 有關更多信息,請參見教程:Digital Read Serial
如果使用一個下拉電阻,當開關打開時輸入引腳將為低,當開關關閉為高。
如果使用一個上拉電阻,當開關打開時輸入引腳將為高,當開關關閉為低。
引腳配置為INPUT_PULLUP
arduino上的單片機具有內部上拉電阻(電阻連接到電源內部)並且你可以使用。如果你傾向於使用它代替外部上拉電阻,可以使用pinMode()設置引腳為INPUT_PULLUP 。
詳細可以參考使用例程:Input Pullup Serial
引腳作為輸入配置兩者INPUT或INPUT_PULLUP任何一個都可以被損壞或摧毀了,如果連接了負電壓或高電壓(5 v或3 v)。
引腳配置為Outputs
引腳通過pinMode()配置為 輸出(OUTPUT) 即是將其配置在一個低阻抗的狀態。這意味着他們可以為其他電路提供充足的電流。Atmega單片機引腳可以為其他設備/電路提供到40mA的電流或者反向電流。這使得他們用於驅動LEDs,因為LEDs通常使用不到40mA電流。負載大於40mA電流的(例如:電機)將需要外接晶體管或者其他相關電路。
Defining built-ins: LED_BUILTIN
大多數Arduino電路板都有一個引腳通過串聯電阻連接板載LED。常量LED_BUILTIN 為該引腳的引腳號。大多數板子的板載led都是連接到數字引腳13的。
更多建議和問題歡迎反饋至 YFRobot論壇