아두이노 프로그래밍 기초(2)

변수(Variable)

변수란 값을 저장할 수 있는 메모리 공간에 붙여진 이름입니다. 프로그래밍에서 변수를 사용하면 데이터를 저장하고 재사용할 수 있으며, 다양한 **자료형(Data type)**으로 선언이 가능합니다.

상수(Constant)

상수는 한 번 저장한 값을 변경할 수 없는 메모리 공간입니다. 상수를 정의하려면 const 키워드를 사용하여 선언합니다. 이를 통해 **심볼릭 상수(Symbolic Constant)**를 생성할 수 있습니다.

const int num = 10;  // num은 상수로 10을 저장하며, 변경 불가

식별자(Identifier)

식별자는 데이터 항목, 변수, 상수, 함수 등을 식별하기 위해 사용하는 이름입니다.

식별자 작성 규칙:

  1. 알파벳이나 언더바(_)로 시작해야 합니다.
  2. 알파벳, 숫자, 언더바로 구성할 수 있습니다.
  3. 띄어쓰기를 사용할 수 없습니다.
  4. 기존에 이미 사용 중인 이름과 중복되지 않아야 합니다.

연산자(Operator)

연산자는 연산을 수행할 때 사용하는 기호입니다. 피연산자의 개수우선순위에 따라 계산 방식이 달라집니다.

대입 연산자와 산술 연산자

연산자 기능 동일 연산
= 대입 a = 20
+ 덧셈 a = a + 4 a += 4
뺄셈 a = a – 4 a -= 4
* 곱셈 a = a * 4 a *= 4
/ 나눗셈 a = a / 4 a /= 4
% 나머지 a = a % 4 a %= 4

증가, 감소 연산자

연산자 기능
++a 값을 1 증가 후, 해당 문장 계산
a++ 해당 문장 계산 후, 값을 1 증가
–a 값을 1 감소 후, 해당 문장 계산
a– 해당 문장 계산 후, 값을 1 감소

관계 연산자

연산자 기능
< a < b a가 b보다 작은가
> a > b a가 b보다 큰가
== a == b a와 b가 같은가
!= a != b a와 b가 같지 않은가
<= a <= b a가 b 이하인가
>= a >= b a가 b 이상인가

논리 연산자

연산자 기능
&& a && b AND
|| a || b OR
! !a NOT

비트 연산자

연산자 기능
& a & b 비트 단위 AND
| a | b 비트 단위 OR
^ a ^ b 비트 단위 XOR
~ ~a 비트 단위 NOT

함수(Function)

printf 함수

printf는 문자열과 데이터를 출력하는 데 사용되는 함수입니다. 특수 문자를 포함한 문자열 출력이 가능하며, 원하는 형식으로 데이터를 표시할 수 있습니다.

printf("Hello! I am seongju\n");  // 줄 바꿈 포함
printf("My age is %d", age);     // 변수 값 출력

자료형(Data Type)

자료형은 변수가 저장할 데이터의 종류를 정의합니다. 일반적으로 같은 자료형끼리만 연산이 가능합니다.

자료형 메모리 크기 표현 가능한 데이터 범위
char 1 byte -128 ~ +127
short 2 byte -32,768 ~ +32,767
int 4 byte -2,147,483,648 ~ +2,147,483,647
long 4 byte -2,147,483,648 ~ +2,147,483,647
float 4 byte 3.4 × 10-37 ~ 3.4 × 1038
double 8 byte 1.7 × 10-307 ~ 1.7 × 10308
long double 8 byte 이상 구현에 따라 차이가 있음

과제: 자기 소개를 출력해보세요

1. 아두이노 IDE에서 코드 작성하기

void setup() {
    Serial.begin(9600);  // 시리얼 통신 시작
    Serial.println("Hello! I am seongju.");  // 자기 소개 출력
}

void loop() {
    // 반복 실행 코드 없음
}

2. 시리얼 모니터란?

시리얼 모니터는 아두이노와 컴퓨터가 USB로 연결된 상태에서 데이터를 주고받을 수 있는 도구입니다.

  • 사용 방법:
    • 아두이노 IDE에서 오른쪽 상단의 돋보기 아이콘을 클릭하여 시리얼 모니터를 실행합니다.
    • Serial.print 또는 Serial.println을 사용한 데이터를 확인할 수 있습니다.