페이지

2025년 12월 7일 일요일

2.1.3. C언어 문법 : 변수

아두이노 C언어 기초: 변수

안녕하세요! 여러분의 AI-IT 멘토, '파이컴'입니다. 😊

[아두이노 C언어 기초] 코드를 관리하는 마법, '변수'로 스마트하게 LED 제어하기

지난 시간에는 아두이노 13번 핀에 LED를 연결해서 1초마다 깜빡이는 실습을 해봤어요. 아마 다들 성공적으로 LED에 불을 밝혔을 거라 믿어요!

그런데 만약 LED를 13번이 아닌 10번 핀으로 옮기고 싶다면 어떻게 해야 할까요? 코드에 있는 13이라는 숫자를 전부 10으로 바꿔야겠죠. 지금은 코드가 짧아서 괜찮지만, 수백, 수천 줄이 된다면... 생각만 해도 끔찍하네요! 😱

오늘은 이런 반복적이고 귀찮은 작업을 한 번에 해결해주는 마법 같은 문법, 바로 '변수(Variable)'에 대해 배워볼 거예요. 변수 하나만 잘 써도 코드가 훨씬 깔끔해지고 관리하기 쉬워진답니다. 그럼, 변수의 세계로 함께 떠나볼까요?

Slide 1: 03. C언어 문법 : 변수

C언어 문법 변수

이번 시간의 주제는 C언어 문법의 핵심, '변수'입니다. 아두이노 코딩은 C/C++ 언어를 기반으로 하기 때문에, C언어 문법을 알아두면 훨씬 더 다양하고 멋진 작품을 만들 수 있어요. 그중에서도 변수는 프로그래밍의 가장 기본이 되는 개념이니, 오늘 확실히 알아두자고요!

Slide 2: 변수의 필요성

변수의 필요성 설명

변수는 대체 왜 필요한 걸까요? 앞서 말했던 상황을 다시 생각해 볼게요.

📍 핀 번호 변경 시 문제점

  • LED 핀을 13번에서 10번으로 바꾸려면, 코드에 있는 모든 13을 찾아서 10으로 수정해야 해요.
  • 코드가 길고 복잡해질수록 이 작업은 매우 번거롭고, 실수할 확률도 높아져요.

✨ 변수 사용의 장점

  • 맨 윗줄에 "이제부터 LED 핀은 10번이야!" 라고 딱 한 번만 알려주면 돼요.
  • 그러면 코드 전체가 마법처럼 자동으로 변경된 핀 번호를 따라 움직여요.
  • 덕분에 코드 관리가 훨씬 편리해지죠!

이처럼 변수는 '나중에 바뀔 수도 있는 값'을 이름표를 붙여 관리하는 아주 스마트한 방법이에요.

Slide 3: 변수를 사용한 회로

변수를 사용한 회로도

자, 그럼 변수를 직접 사용해보기 위해 회로를 살짝 바꿔볼게요.

✅ 준비물

  • 아두이노 우노, LED, 저항, 브레드보드

✅ 회로 구성

  • 이번에는 LED를 아두이노 디지털 10번 핀에 연결해 주세요.
  • 저항을 연결하는 방식이나 LED의 (+), (-) 극성 방향은 이전 실습과 똑같아요. 긴 다리가 (+)극, 짧은 다리가 (-)극인 것, 잊지 않으셨죠?

위 슬라이드의 회로도를 참고해서 차근차근 연결해 보세요!

Slide 4: 변수 선언 - int

변수 선언 int 코드 예시

회로를 완성했다면 이제 코드를 살펴볼 시간이에요. 변수는 어떻게 만드는 걸까요? 바로 '선언'이라는 과정을 통해 만들어요.

CODE 4.1 | 변수 선언하기
01int ledPin = 10; // "이제부터 10번을 'ledPin'이라고 부를게!"

위 코드가 바로 변수를 선언하는 문장입니다. 하나씩 뜯어볼까요?

🔹 형식: int 변수이름 = 값;

  • int: 'Integer(정수)'의 줄임말이에요. 앞으로 만들 변수가 소수점 없는 숫자(정수)를 담는 상자라는 걸 아두이노에게 알려주는 거예요.
  • ledPin: 우리가 상자에 붙여주는 이름표(변수 이름)예요. ledPin이라는 이름만 봐도 '아, LED가 연결된 핀 번호구나!' 하고 쉽게 알 수 있죠?
  • =: 수학의 '같다'는 뜻이 아니에요! 프로그래밍에서는 "오른쪽의 값을 왼쪽의 변수 상자에 집어넣어라!" 라는 의미의 할당 연산자랍니다.
  • 10: 상자에 저장하고 싶은 실제 값이에요.
  • ;: 문장의 끝을 알리는 마침표! 잊지 말고 꼭 찍어주세요.

정리하자면, int ledPin = 10; 이 한 줄은 "정수를 담을 수 있는 ledPin이라는 이름의 상자를 만들고, 그 안에 숫자 10을 저장해줘!" 라는 명령인 셈이죠.

Slide 5: 변수 사용 방법

변수 사용 방법 코드 예시

자, 이름표를 붙인 상자를 만들었으니 이제 사용해야겠죠? 사용법은 정말 간단해요.

📍 변수 이름으로 사용하기

기존에 숫자 10을 직접 적었던 모든 자리에, 우리가 만든 변수 이름인 ledPin을 대신 적어주면 끝이에요!

CODE 5.1 | 변수 사용하기
01// 숫자 10 대신 변수 이름 사용
02pinMode(ledPin, OUTPUT);
03digitalWrite(ledPin, HIGH);

이렇게 코드를 작성하면 아두이노는 ledPin이라는 상자를 열어보고 그 안에 10이 들어있는 걸 확인한 뒤, pinMode(10, OUTPUT); 이나 digitalWrite(10, HIGH); 와 똑같이 동작한답니다.

✨ 변수 사용의 진짜 장점!

만약 LED를 5번 핀으로 또 옮기고 싶다면 어떻게 할까요? 이제 코드 전체를 뒤질 필요가 없어요. 맨 위에 선언했던 단 한 줄만 이렇게 바꾸면 된답니다.

CODE 5.2 | 변수 값 변경하기
01int ledPin = 5; // 숫자만 10에서 5로 변경!

이것만 바꾸면 아래에 있는 모든 ledPin이 자동으로 5를 의미하게 돼요. 정말 편리하죠? 이것이 바로 유지보수가 편리하다는 의미랍니다.

Slide 6: 코드 실행 결과

코드 실행 결과

💡 실행 결과

  • 아두이노 10번 핀에 연결된 LED가 1초 간격으로 켜졌다 꺼졌다를 반복할 거예요.
  • 즉, 숫자를 직접 썼을 때와 동작은 완전히 똑같지만, 코드는 훨씬 더 스마트해졌어요.

💡 변수 활용의 효과

  • 핀 번호 관리: ledPin이라는 변수 하나로 핀 번호를 중앙에서 관리할 수 있게 됐어요.
  • 코드 가독성 향상: 그냥 10이라고 써있는 것보다 ledPin이라고 써있으면 '아, 이 코드는 LED 핀을 제어하는 부분이구나' 하고 훨씬 이해하기 쉬워져요.

Outro

오늘은 프로그래밍의 정말 중요한 개념인 '변수'에 대해 배워봤어요. 변수는 단순히 값을 저장하는 것을 넘어, 우리 코드를 더 유연하고, 읽기 쉽고, 관리하기 편하게 만들어주는 최고의 도구랍니다. 처음에는 조금 낯설 수 있지만, 앞으로 계속 사용하다 보면 금방 익숙해질 거예요.

오늘 배운 내용을 꼭 직접 실습해보면서 변수의 편리함을 몸으로 느껴보시길 바라요. 다음 시간에는 더 재미있는 내용으로 돌아오겠습니다. 그때까지 모두 즐거운 코딩 하세요! 😄

이 포스팅의 내용은 교재 [주니어 공학교실 아두이노의 기초] 81-84 페이지에 수록된 내용입니다.

댓글 없음:

댓글 쓰기