페이지

2026년 1월 10일 토요일

4.1.2. 7-세그먼트 회로 구성하기

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

지난 시간에는 7-세그먼트의 원리에 대해 알아보았죠? 오늘은 이론을 넘어 직접 회로를 만들고 코드를 작성해서 숫자 '0'을 선명하게 화면에 띄워보는 실습을 진행할 거예요. "다리가 10개나 되고 순서도 뒤죽박죽이라 복잡해 보여요!"라고 생각하셨을 수도 있지만, 저와 함께 차근차근 따라 하면 누구나 성공할 수 있답니다. 자, 그럼 시작해 볼까요?

Slide 1: 7-세그먼트 회로 구성하기

이번 시간의 목표는 명확해요. 바로 7-세그먼트 회로를 구성하는 것이죠. 4장 '화면과 움직임으로 표현하기'의 첫 번째 실습인 만큼, 기본기를 탄탄히 다지는 시간이 될 거예요. 우리는 가장 이해하기 쉬운 공통 음극(Common Cathode) 방식을 사용해서 숫자 '0'을 만들어 보겠습니다.

Slide 2: 숫자 '0' 표시 회로 (1) - 준비와 연결 규칙

본격적으로 회로를 꾸미기 전에, 먼저 준비물과 연결 규칙부터 꼼꼼히 살펴볼게요. 계획을 잘 세우면 실제 연결은 훨씬 수월해지거든요.

준비물

먼저 아래 준비물을 챙겨주세요.

  • 아두이노 우노
  • 7-세그먼트 디스플레이 (공통 음극 타입)
  • 저항 (각 LED 조각을 보호할 220Ω ~ 1kΩ 저항 7개)
  • 브레드보드와 점퍼선

회로 구성 규칙

7-세그먼트는 결국 7개의 LED 묶음이라서 연결할 선이 꽤 많아요. 하지만 규칙만 알면 간단합니다!

  1. 공통 다리 연결: 우리가 사용할 부품은 '공통 음극(Common Cathode, CC)' 타입이에요. 이름처럼 모든 LED의 음극(-)이 하나로 묶여 있다는 뜻이죠. 이 공통 핀은 아두이노의 GND(Ground) 핀에 연결해주면 됩니다. 7-세그먼트 부품의 위아래 가운데에 있는 공통 핀(GND) 중 하나를 골라 연결해주세요.
  2. 신호 다리 연결: 이제 각 LED 조각(a~g)을 제어할 차례예요. 아래 핀 지도(Pin map)를 보고 순서대로 연결해 봅시다.
    • 핵심 원칙: LED를 연결할 땐 항상 저항을 함께 연결하는 것, 기억나시죠? '1인 1보디가드' 원칙! 각 신호선 중간에 저항을 하나씩 꼭 끼워주세요.
7-세그먼트 핀 아두이노 핀
a2
b3
c4
d5
e6
f7
g8
GNDGND

이 표만 있으면 길을 잃을 걱정은 없겠죠? a부터 g까지 차례대로 아두이노 2번부터 8번 핀에 연결하면 됩니다.

Slide 3: 숫자 '0' 표시 회로 (2) - 실제 회로도

자, 이제 앞서 배운 규칙대로 실제 브레드보드에 회로를 구성한 모습이에요. 그림을 보면서 천천히 따라 해보세요.

  • 7-세그먼트를 브레드보드 중앙에 꽂아주세요.
  • 핀 지도에 맞춰 각 핀(a~g)과 아두이노 핀(2~8)을 저항을 거쳐 점퍼선으로 연결합니다.
  • 7-세그먼트의 공통 GND 핀을 아두이노의 GND 핀에 연결합니다.

💡 멘토의 팁!
점퍼선 색깔을 핀마다 다르게 사용하면 나중에 연결이 맞는지 확인할 때 훨씬 편하답니다!

Slide 4: 숫자 '0' 표시 코드 (1) - 핀 모드 설정

하드웨어 연결이 끝났으니 이제 소프트웨어, 즉 코드를 작성할 차례예요. 아두이노에게 "어떤 핀을 어떻게 사용할지" 알려주는 단계부터 시작해 볼게요.

아두이노 스케치를 열고 setup() 함수 안에 아래 코드를 작성해 주세요. setup() 함수는 코드가 시작될 때 딱 한 번만 실행되는 초기 설정 공간이에요.

CODE 4.1 | 핀 모드 설정
01void setup() {
02 // 2번부터 8번까지 모든 핀을 '출력'으로 설정해요.
03 pinMode(2, OUTPUT);
04 pinMode(3, OUTPUT);
05 pinMode(4, OUTPUT);
06 pinMode(5, OUTPUT);
07 pinMode(6, OUTPUT);
08 pinMode(7, OUTPUT);
09 pinMode(8, OUTPUT);
10}

pinMode(핀번호, 모드) 함수는 특정 핀의 역할을 정해주는 역할을 해요. 우리는 7-세그먼트의 LED를 켜고 끄는 신호를 보내야 하니까, 2번부터 8번까지 총 7개의 핀을 모두 OUTPUT(출력) 모드로 설정했습니다.

Slide 5: 숫자 '0' 표시 코드 (2) - 숫자 '0' 만들기

이제 대망의 마지막 단계! loop() 함수 안에 실제로 숫자 '0' 모양을 만드는 코드를 작성해 보겠습니다. loop() 함수는 setup()이 끝난 후 계속해서 반복 실행되는 메인 공간이에요.

숫자 '0'을 만들려면 어떻게 해야 할까요? 맞아요! 가운데 허리띠 부분인 'g' 조각만 끄고, 나머지 테두리(a, b, c, d, e, f)는 모두 켜면 되겠죠?

CODE 5.1 | 숫자 '0' 만들기
01void loop() {
02 // 숫자 '0' 모양 만들기 (가운데 빼고 다 켜기)
03 digitalWrite(2, 1); // a (맨 위) 켜기
04 digitalWrite(3, 1); // b (오른쪽 위) 켜기
05 digitalWrite(4, 1); // c (오른쪽 아래) 켜기
06 digitalWrite(5, 1); // d (맨 아래) 켜기
07 digitalWrite(6, 1); // e (왼쪽 아래) 켜기
08 digitalWrite(7, 1); // f (왼쪽 위) 켜기
09 digitalWrite(8, 0); // g (가운데) 끄기 -> 이것만 꺼야 '0'
10}
  • 테두리 켜기: digitalWrite(핀번호, 1)은 해당 핀으로 전기를 보내라는(HIGH) 뜻이에요. 공통 음극 방식에서는 전기가 흘러야 LED가 켜지므로, a~f에 해당하는 2~7번 핀에 1 신호를 보내 모두 켭니다.
  • 가운데 끄기: 반대로 digitalWrite(핀번호, 0)은 전기를 끊으라는(LOW) 뜻입니다. 'g' 조각에 해당하는 8번 핀에 0 신호를 보내서 가운데 부분만 꺼주는 거죠.

코드를 모두 작성했다면 아두이노에 업로드해 보세요. 7-세그먼트에 빨간색 숫자 '0'이 선명하게 나타나면 성공입니다!

💡 잠깐! 틴커캐드(Tinkercad) 꿀팁
가상 시뮬레이션 도구인 틴커캐드로 실습하다가 "어? 7-세그먼트 부품이 안 보여요!" 하고 당황한 적 있나요? 틴커캐드는 처음엔 자주 쓰는 부품만 보여주는 [기본] 모드로 설정되어 있어요. 오른쪽 부품 창 상단의 '구성요소' 드롭다운 메뉴를 [모두(All)]로 바꿔보세요. 숨어있던 7-세그먼트를 비롯한 다양한 부품들을 만날 수 있답니다!

어때요, 생각보다 어렵지 않죠? 복잡해 보이는 7-세그먼트도 핀 지도를 보고 차근차근 연결하고, 각 조각을 제어하는 코드의 원리만 이해하면 멋진 숫자를 표현할 수 있답니다. 오늘 '0'을 만드는 데 성공하셨다면, 이제 다른 숫자나 알파벳을 만드는 데도 도전해볼 수 있을 거예요!

오늘 실습은 여러 개의 LED를 동시에 제어해서 특정 패턴을 만드는 아주 중요한 예제였어요. 궁금한 점이 있다면 언제든 댓글로 질문해주세요. 그럼, 다음 포스팅에서 더욱 재미있는 내용으로 다시 만나요! 👋

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

댓글 없음:

댓글 쓰기