변수란 무엇인가요?
아두이노 코딩을 하다 보면 반드시 만나게 되는 것이 있어요. 바로 변수입니다. 변수는 컴퓨터가 어떤 정보를 기억하고 사용할 수 있게 해주는 이름표예요. 숫자, 글자, 센서 값 등 여러 정보를 담을 수 있어요.
이번 글에서는 변수의 개념과 아두이노에서 변수를 사용하는 방법을 아주 쉽게 설명해 드릴게요!
변수는 왜 필요할까요?
예를 들어, 어떤 센서가 보내준 숫자 값을 저장하고 나중에 사용하려면, 그 값을 어딘가에 기억해야겠죠? 이때 변수에 저장해 두면 코드 어디에서든 쉽게 불러와서 사용할 수 있어요.
쉽게 말하면, 변수는 “정보를 담는 상자”예요. 각 상자에는 이름이 붙어 있어서 어떤 정보가 들어있는지 구별할 수 있답니다.
변수 선언하기
변수를 사용하려면 먼저 변수의 자료형과 이름을 정해줘야 해요.
int ledPin = 13; // 정수형 변수 ledPin에 13 저장
이 코드는 'ledPin이라는 변수에 13이라는 값을 넣었다'는 뜻이에요. 이제부터 ledPin을 사용할 때마다 13이라는 값이 대신 사용돼요.
자주 쓰는 변수 자료형
int
: 정수 (예: 1, 23, -5)float
: 소수 (예: 3.14, -0.5)char
: 문자 하나 (예: 'A', 'b')String
: 문자열 (예: "Hello")boolean
: 참/거짓 (true, false)
변수는 이렇게 사용해요
다음은 변수를 사용해서 LED를 깜빡이는 코드예요:
int ledPin = 13; // LED 핀 번호를 변수로 저장
void setup() {
pinMode(ledPin, OUTPUT); // 변수 ledPin을 사용
}
void loop() {
digitalWrite(ledPin, HIGH); // LED 켜기
delay(1000);
digitalWrite(ledPin, LOW); // LED 끄기
delay(1000);
}
이처럼 숫자 13
대신 ledPin
이라는 변수를 쓰면 나중에 핀 번호를 바꾸고 싶을 때 한 줄만 고치면 돼서 편리해요.
변수의 값 바꾸기
변수는 값을 바꿔가며 사용할 수 있어요. 아래 코드를 볼게요:
int count = 0;
void loop() {
count = count + 1;
Serial.println(count);
delay(1000);
}
이 코드는 count
라는 변수에 숫자를 하나씩 더하면서 출력해요. 시리얼 모니터에 1, 2, 3, 4... 이렇게 숫자가 올라가는 걸 볼 수 있어요.
변수 이름 짓는 규칙
- 영어 문자와 숫자, 밑줄(_) 사용 가능 (예: myLED, button1)
- 숫자로 시작하면 안 돼요 (예:
1 led
❌) - 띄어쓰기는 안 되고, 대신
my_variable
처럼 밑줄을 사용해요 - 이미 정해진 단어(
int
,void
등)는 이름으로 사용할 수 없어요
전역 변수와 지역 변수
변수는 선언하는 위치에 따라 두 가지로 나뉘어요:
- 전역 변수: 함수 밖에 선언되어 프로그램 전체에서 사용 가능
- 지역 변수: 함수 안에서만 사용할 수 있는 변수
int ledPin = 13; // 전역 변수
void loop() {
int value = 1; // 지역 변수 (loop 함수 안에서만 사용됨)
}
실습 아이디어
- 버튼을 누를 때마다 count 변수를 1씩 늘려보기
- 센서 값을 변수에 저장하고 출력하기
- 변수 값을 기준으로 조건문(if)을 만들어보기
마무리하며
변수는 아두이노 코딩에서 가장 기본이자 필수 개념이에요. 숫자, 문자, 센서 값 등 어떤 데이터든 변수로 저장하고 활용할 수 있어요. 다음 시간에는 함수에 대해 배워볼 거예요. 여러 동작을 나눠서 처리할 수 있게 도와주는 멋진 도구랍니다!