2주차 버튼 제어하기: 두 판 사이의 차이

아두위키 : Arduwiki
(새 문서: === 1. 아두이노 디지털 핀 === 가운데|프레임없음|392x392픽셀 아두이노 디지털 입출력 pin은 보드의 digital pin 0 ~ 13을 사용할 수 있습니다. 0, 1번 pin은 컴퓨터와 아두이노가 통신할 때 주로 사용하기 때문에 우리는 2 ~ 13 핀을 사용하여 디지털 입출력을 사용할 수 있습니다. 저번 시간에는 디지털 출력(digitalWrite)를 사용해보았습니다. 이번...)
 
편집 요약 없음
6번째 줄: 6번째 줄:


=== 2. 시리얼 모니터(Sirial Monitor) ===
=== 2. 시리얼 모니터(Sirial Monitor) ===
시리얼 모니터란 아두이노에서 보내주는 데이터를 아두이노 IDE에 포함되오 있는 창을 이용해 출력해 확인해볼 수 있는 것을 말합니다. 아두이노에 연결된 센서를 이용해 측정된 값을 출력해서 확인해볼 수 있습니다.
시리얼 모니터란 아두이노에서 보내주는 데이터를 아두이노 IDE에 포함되어 있는 창을 이용해 출력해 확인해볼 수 있는 것을 말합니다.  
 
아두이노에 연결된 센서를 이용해 측정된 값을 출력해서 확인해볼 수 있습니다.
[[파일:시리얼 모니터.png|가운데|프레임없음|482x482픽셀]]
[[파일:시리얼 모니터.png|가운데|프레임없음|482x482픽셀]]
아두이노 IDE의 오른쪽 위에 시리얼 모니터를 누르면 아래에 창이 생성됩니다.
아두이노 IDE의 오른쪽 위에 시리얼 모니터를 누르면 아래에 창이 보이게 됩니다.


시리얼 모니터를 이용해 출력하는 방법을 알아봅시다.
시리얼 모니터를 이용해 출력하는 방법을 알아봅시다.

2023년 12월 29일 (금) 17:27 판

1. 아두이노 디지털 핀

아두이노 디지털 입출력 pin은 보드의 digital pin 0 ~ 13을 사용할 수 있습니다. 0, 1번 pin은 컴퓨터와 아두이노가 통신할 때 주로 사용하기 때문에 우리는 2 ~ 13 핀을 사용하여 디지털 입출력을 사용할 수 있습니다.

저번 시간에는 디지털 출력(digitalWrite)를 사용해보았습니다. 이번 시간에는 디지털 출력(digitalRead)를 사용해봅시다.

2. 시리얼 모니터(Sirial Monitor)

시리얼 모니터란 아두이노에서 보내주는 데이터를 아두이노 IDE에 포함되어 있는 창을 이용해 출력해 확인해볼 수 있는 것을 말합니다.

아두이노에 연결된 센서를 이용해 측정된 값을 출력해서 확인해볼 수 있습니다.

아두이노 IDE의 오른쪽 위에 시리얼 모니터를 누르면 아래에 창이 보이게 됩니다.

시리얼 모니터를 이용해 출력하는 방법을 알아봅시다.

2-1. 시리얼 모니터에 출력하기

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

int n = 1;
void loop() {
  Serial.print("n : ");
  Serial.println(n);
  delay(1000);
  n+=1;
}

위 코드를 작성해봅시다.

시리얼 모니터를 사용하기 위해서는 setup() 함수에 Serial.begin() 함수를 이용해 보드 레이트 기본값을 설정하고 시리얼 모니터를 사용하겠다고 코드를 작성합니다.

loop() 함수에서는 1초에 한 번씩 [n] 변수 값을 증가시키며 시리얼 모니터에 출력하는 코드입니다.

Serial.print() 함수는 괄호 안의 문자를 출력하는 함수이며 Serial.println() 함수는 괄호 안의 문자를 출력하고 마지막에 줄바꿈을 해주는 함수입니다.

코드를 실행시킨 후 시리얼 모니터 아이콘을 클릭하면 아두이노 IDE 아래 창에서 결과를 확인할 수 있습니다.

3. 버튼




택트 스위치(Tact Switch)는 디지털 핀에 연결하여 입력 신호로 활용 가능합니다.

3-1. 버튼 회로도

3-2. 코드

버튼을 이용해 버튼이 눌릴 때마다 시리얼 모니터에 "button push!"라는 문장을 출력하는 코드를 작성해봅시다.

int btn = 9;

void setup() {
  Serial.begin(9600);
  pinMode(btn, INPUT_PULLUP);
}

void loop() {
  if(digitalRead() == LOW) {
    Serial.println("button push!");
  }
  delay(100);
}

아두이노에는 자체적으로 풀업 저항이 내장되어있습니다.

디지털 입력 핀 모드를 설정할 때 'INPUT_PULLUP'을 사용하면 외부에 저항을 추가하지 않아도 디지털 핀을 풀업 저항으로 사용할 수 있게 됩니다.

버튼이 눌리게 되면 digitalRead() 함수에서 [LOW]가, 버튼이 눌리지 않을 때는 [HIGH] 값이 반환됩니다.