Arduino

[Arduino] if, else, switch, 삼항연산자


if, else 문

int led_pin = 12;
int a, b, c = 0;
char input;

void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  while (Serial.available() > 0)
  {
    input = Serial.read();
  }

  if (input == 1) {     // input이 1이면
    digitalWrite(led_pin, HIGH);    // LED를 ON 시킴
  } 
  else if (input == 2) {      // input이 2이면
    digitalWrite(led_pin, LOW);     // LED를 OFF 시킴
  } 
  else {        // input이 1,2가 아니면,
    digitalWrite(led_pin, HIGH);
    delay(1000);
    digitalWrite(led_pin, LOW);
    delay(1000);                // LED를 1초 간격으로 ON/OFF 반복함
 }
}

switch 문

int led_pin = 12;
int a, b, c = 0;
char input;

void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  while (Serial.available() > 0)
  {
    input = Serial.read();
  }

  switch(input){
    case 1:{
      digitalWrite(led_pin, HIGH);    // LED를 ON 시킴
      break;
    }
    case 2:{
      digitalWrite(led_pin, LOW);     // LED를 OFF 시킴
      break;
    }
    default:{
      digitalWrite(led_pin, HIGH);
      delay(1000);
      digitalWrite(led_pin, LOW);
      delay(1000);
      break; 
    }
  }
}

삼항연산자는 세 개의 피연산자를 취할 수 있는 유일한 연산자입니다.

int a = 1 == 1 ? 1 : 0;

// 1 == 1는 진실이기 떄문에 a변수의 값은 1 되고 만약에 거짓이였다면 0값이 된다. 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다