“常量”的版本间的差异

来自YFRobotwiki
跳转至: 导航搜索
(以“在Arduino语言中Constants 是预定义的变量。他们是用来使程序易于阅读。我们按组将常量进行分类: <font color="orange" size="+2">''...”为内容创建页面)
 
第81行: 第81行:
 
 详细可以参考使用例程:[https://www.arduino.cc/en/Tutorial/InputPullupSerial Input Pullup Serial]
 
 详细可以参考使用例程:[https://www.arduino.cc/en/Tutorial/InputPullupSerial Input Pullup Serial]
  
See the Input Pullup Serial tutorial for an example of this in use.
+
引脚作为输入配置两者INPUT或INPUT_PULLUP任何一个都可以被损坏或摧毁了,如果连接了负电压或高电压(5 v或3 v)
 
+
Pins configured as inputs with either INPUT or INPUT_PULLUP can be damaged or destroyed if they are connected to voltages below ground (negative voltages) or above the positive power rail (5V or 3V).
+
  
  

2015年8月14日 (五) 11:28的版本

在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


当对数字引脚读或者写操作时只有两个可能的值:HIGHLOW


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


数字引脚可以被用做 INPUTINPUT_PULLUPOUTPUT。通过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

Pins configured as OUTPUT with pinMode() are said to be in a low-impedance state. This means that they can provide a substantial amount of current to other circuits. Atmega pins can source (provide current) or sink (absorb current) up to 40 mA (milliamps) of current to other devices/circuits. This makes them useful for powering LEDs because LEDs typically use less than 40 mA. Loads greater than 40 mA (e.g. motors) will require a transistor or other interface circuitry.

Pins configured as outputs can be damaged or destroyed if they are connected to either the ground or positive power rails.


Defining built-ins: LED_BUILTIN


Most Arduino boards have a pin connected to an on-board LED in series with a resistor. The constant LED_BUILTIN is the number of the pin to which the on-board LED is connected. Most boards have this LED connected to digital pin 13.