상수
설명
상수는 Arduino 언어에서 미리 정의된 표현식이다. 그것들은 프로그램을 읽기 쉽게 하기 위해 사용된다. 그룹으로 상수를 분류한다:
논리 수준 정하기: true 그리고 false (Boolean 상수)
아두이노 언어에서 참과 거짓을 표현하기 위해 사용되는 두 상수가 있다: true, 그리고 false.
false
false 둘 중에 정의하기 쉽다. false 는 0 (zero)으로 정의된다.
true
true 는 1로 정의된다고 흔히 말하지만, 맞지만, true는 더 넓은 정의가 있다. 영 아닌 정수는 부울 의미로 true이다. 그래서 부울 의미로 -1, 2 그리고 -200 모두 true로 정의된다.
true 및 false 상수는 HIGH, LOW, INPUT, 그리고 OUTPUT 와 달리 소문자로 씀을 유의하라.
핀 수준 정의: HIGH 및 LOW
디지털 핀에 읽거나 쓸 때 핀이 얻고/설정 할 수 있는 것은 오직 두 값만 있다: HIGH 및 LOW.
HIGH
(핀에서 참조하는) HIGH 의 뜻은 핀 설정이 INPUT 이냐 OUTPUT 이냐에 따라 좀 다르다. 핀이 pinMode() 에서 INPUT 으로 설정되고, digitalRead() 로 읽으면 아두이노(ATmega)는 아래의 경우에 HIGH 라 보고 한다:
- 3.0V 이상의 전압이 핀 (5V boards)에 존재
- 2.0V 이상의 전압이 핀 (3.3V boards)에 존재
핀은 pinMode() 에서 INPUT 로 설정될 수도 있고, 나중에 digitalWrite() 로 HIGH 가 된다. 이것은 내부 20K 풀업 저항을 가능하게 할 것이며, 입력 핀을 외부 회로에 의해 LOW 로 당겨지지 않으면 HIGH 읽기로 pull up 할 것이다. 이것이 INPUT_PULLUP 이 동작하는 방식이며 아래에 더 자세히 설명한다.
핀이 pinMode() 에서 OUTPUT 로 설정되고, digitalWrite() 에서 HIGH 로 설정될 때, 핀은 :
- 5V (5V 보드)
- 3.3V (3.3V 보드)
이 상태에서 전류를 공급할 수 있고, 예를들어 직렬 저항을 통해 접지에 연결된 LED에 불이 켜진다.
LOW
LOW 의 뜻도 핀 설정이 INPUT 이냐 OUTPUT 이냐에 따라 좀 다르다. 핀이 pinMode() 에서 INPUT 로 설정되고, digitalRead() 로 읽을 때, 아두이노(ATmega)는 아래의 경우 LOW 를 보고한다:
- 핀에 1.5V 이하 전압이 존재(5V 보드)
- 핀에 약 1.0V 이하 전압이 존재(3.3V 보드)
핀이 pinMode() 에서 OUTPUT 로 설정되고, digitalWrite() 에서 LOW 로 설정될 때, 핀은 0 V에 있다(5V 와 3.3V 보드 둘다). 이 상태에서 전류를 공급할 수 있다. 직렬 저항에서 5V(또는 +3.3V)에 연결된 LED 불을 밝힌다.
디지털 핀 모드 정의: INPUT, INPUT_PULLUP, 그리고 OUTPUT
디지털 핀은 INPUT, INPUT_PULLUP, 또는 OUTPUT 로 쓰일 수 있다. pinMode() 로 핀을 바꾸면 핀의 전기적 동작이 바뀐다.
INPUT 으로 구성된 핀
pinMode() 에서 INPUT 로 설정된 아두이노(ATmega)는 high-impedance state 에 있다고 말한다. INPUT 으로 구성된 핀들은 그들이 샘플링 하는 데 극도로 작은 요구를 하고, 핀 앞에는 100 메가 옴의 직렬 저항과 동일. 이것은 센서를 읽기 좋게 만든다.
If you have your pin configured as an INPUT, and are reading a switch, when the switch is in the open state the input pin will be "floating", resulting in unpredictable results. In order to assure a proper reading when the switch is open, a pull-up or pull-down resistor must be used. The purpose of this resistor is to pull the pin to a known state when the switch is open. A 10 K ohm resistor is usually chosen, as it is a low enough value to reliably prevent a floating input, and at the same time a high enough value to not not draw too much current when the switch is closed. See the Digital Read Serial tutorial for more information.
- If a pull-down resistor is used, the input pin will be LOW when the switch is open and HIGH when the switch is closed.
- If a pull-up resistor is used, the input pin will be HIGH when the switch is open and LOW when the switch is closed.
INPUT_PULLUP으로 구성된 핀
The ATmega microcontroller on the Arduino has internal pull-up resistors (resistors that connect to power internally) that you can access. If you prefer to use these instead of external pull-up resistors, you can use the INPUT_PULLUP argument in pinMode().
See the Input Pullup Serial tutorial for an example of this in use.
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).
OUTPUT으로 구성된 핀
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.
내장된 정의 : LED_BUILTIN
대부분의 아두이노 보드는 저항에 직렬로 온보드에 연결된 핀을 갖고 있다. 상수 LED_BUILTIN 은 온보드 LED가 연결된 핀 번호이다. 대개의 보드는 이 LED가 디지털 13에 연결되어 있다.
※ ARDUINO BUY RECOMMENDATION
Arduino UNO R3 | |
Arduino Starter Kit |
Additionally, some links direct to products from our own brand, DIYables.