Menu
CoddyTech

반환값

Coddy Arduino 여정의 입력 섹션에 포함된 레슨. 22개 중 21번째.

함수는 값을 반환할 수도 있습니다. void 대신 값의 타입을 쓰고, return과 값으로 끝내세요:

int readPercent() {
  int reading = analogRead(A0);
  return map(reading, 0, 1023, 0, 100);
}

그러면 함수 호출은 analogRead()처럼 그 값을 나타냅니다. 값을 저장하거나 출력하거나 비교할 수 있습니다:

int percent = readPercent();
if (readPercent() > 50) {
  // ...
}

return은 함수도 즉시 끝냅니다. 그 뒤의 줄은 실행되지 않습니다. 여기서 reading처럼 함수 안에서 만든 변수는 함수가 실행되는 동안에만 존재하며, 반환된 값으로 결과를 함수 밖으로 전달합니다.

challenge icon

챌린지

쉬움

노브는 A0에, LED는 13번 핀에 연결되어 있습니다:

  • A0을 읽고 값을 0부터 100까지로 매핑해 반환하는 int readPercent()를 작성하세요
  • loop()에서 readPercent()의 값을 변수에 저장하고 출력하세요
  • 백분율이 50보다 크면 LED를 켜고, 그렇지 않으면 끄세요. 100 ms 기다리세요

Run을 누르고 노브를 돌린 다음 Check를 누르세요.

직접 해보기

const int ledPin = 13;

// 여기에 int readPercent()를 작성하세요

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // int percent = readPercent();
  // 값을 출력하고, 50을 초과하면 LED를 켠 다음, 100 ms 동안 기다리세요
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

입력의 모든 레슨

직접 연습해 보세요: Arduino 플레이그라운드