한 눈에 끝내는 아두이노 기초
    • 01
      1 강 - Hello, Arduino
    • 아두이노(Arduino)란?
      아두이노 연결 & 작동 확인
      부품 설명 기초
      부품 설명 - 브레드 보드
      아두이노 동작 방식
    • 02
      2 강 - LED 제어하기
    • LED 회로 구성하기
      LED 제어 코드 작성
      LED 제어 응용 1 - 반복문
      LED 2개 회로 구성하기
      LED 제어 응용 2 - 조건문
      삼색 LED 회로 구성하기
      삼색 LED 제어 코드 작성
    • 03
      3 강 - 버튼 스위치 사용하기
    • 버튼 스위치와 시리얼 통신
      스위치 신호 확인하기
      스위치로 LED 제어하기
    • 04
      4 강 - 청기 / 적기 게임 만들기
    • 청기 / 적기 게임 소개
      회로 구성하기
      삼색 LED 청색 / 적색 켜기
      스위치로 청색 / 적색 맞추기
    • 05
      5 강 - 능동 부저 사용하기
    • 능동 부저 소개
      회로 구성하기
      코드로 소리내기
      스위치 클릭하면 소리내기
      다양한 소리 함수로 만들기
    • 06
      6 강 - 숫자판(디지털 튜브) 사용하기
    • 7 segment 소개
      7 segment 에 숫자 표시하기
      4개로 이루어진 7 segment 소개
      7 Segment 4 Digit Module 로 숫자 표시하기
    스위치로 청색 / 적색 맞추기
    배우기
    04 4 강 - 청기 / 적기 게임 만들기
    스위치로 청색 / 적색 맞추기

    이번 강의를 끝으로 청기 / 적기 게임의 첫 번째 완성형을 만들게 됩니다. 전 강의에서는 사용하지 않았던 두 개의 버튼 스위치를 위한 세팅을 하고, 정답을 맞히는 코드를 작성합니다. loop 속의 코드는 한 번의 게임입니다. 실제로는 무한 반복하기 때문에 계속해서 게임을 하게 되겠죠.

    주어진 코드의 동작 과정은 다음과 같습니다.

    • 먼저 두 개의 변수를 추가합니다. 이는 스위치의 핀 번호를 담을 변수입니다.
    • 적기 때 누를 버튼을 7번, 청기 때 누를 버튼을 6번으로 할당합니다.
    • setup 에 두 버튼을 INPUT_PULLUP 으로 설정합니다.
    • 먼저 rand, clicked, right 변수 세 가지를 정하고 초기화시킵니다. loop 함수 안의 코드는 한 게임이 기준이기 때문입니다.
    • rand 변수에는 홀수(1), 짝수(0)가 담기게 되며 이번 게임이 청기, 적기인지 상태를 저장하기 위함입니다. 이 변수는 청기 / 적기를 켤 때와 정답을 맞힐 때 사용됩니다.
    • clicked 는 버튼이 눌렸는지 눌리지 않았는지는 확인하는 변수로 0은 눌리지 않음. 1을 눌림으로 정했습니다.
    • right 는 정답을 맞혔는지를 확인하는 것으로 마지막까지 right 변수의 값이 0이라면 오답. 1이라면 정답이 됩니다.
    • 버튼이 클릭 되기 전까지 while 문이 무한 반복됩니다. 
    • 청기 버튼, 적기 버튼을 누르면 clicked 변수의 값이 1로 바뀌며 while 문을 빠져나오게 되며, 난수의 값과 비교하여 정답을 맞췄는지, 틀렸는지를 판별합니다. 맞췄을 경우 right 변수의 값은 1로 변하게 됩니다.
    • 이제 사용자가 정답을 맞혔는지 알 수 있으므로. 정답 여부에 따라 녹색 LED를 통해 정답 또는 오답을 표현한 후, 한 게임이 종료되게 됩니다.
    • loop 함수는 무한 반복되기 때문에 다시 새로운 게임이 시작되게 됩니다.
    실습 내용

    기본적인 청기 / 적기 게임을 구현했습니다.

    지금까지 배운 아두이노와 C 언어에서 배운 내용을 응용하여 다양하게 게임을 발전시켜 보세요.

    정답 표현 방식을 개선 할 수도 있고 새로운 LED를 추가하여 정답 여부를 다르게 표시할 수도 있을 거에요.

    질문하기