brunch

You can make anything
by writing

C.S.Lewis

by Cylogic Aug 07. 2020

10. 첫 번째 장난감 - LED 가위 바위 보

이 강좌는 아두이노를 이용하여 초보자가 장난감을 만드는 과정을 이해할 수 있도록 하는 목표를 가지고 있다.

그래서 명확하게 작품들의 구조를 정하고 다음 강좌를 진행하려고 한다.


우리고가 만들 장난감들은...


1. 빛의 장난감

2. 센서 반응형 장난감

3. 반복, 회전, 직진 운동을 하는 작동 장난감

4. 사용자가 명령을 내려서 움직이는 장난감

5. 기타 창의성을 요하는 다양한 장난감


이런 기능을 가지도록 할 예정이다.


입력부가 있고, 출력부가 있어서 입력 신호에 의한 출력 동작이 진행되는 아주 기초적인 구조에서, 하나의 입력 신호가 여러 가지 출력(작동)을 만들어 내는 장난감으로 발전해 나갈 예정이다.


예를 들자면,

처음에는 스위치를 켜서 작동시키다가 => 스위치를 센서로 대치하기도 하고,

센서에 의해 LED가 동작하다가 => 모터가 회전하기도 하고,

이때 음악 소리도 흘러나오는 형태의 동작을 만들어 갈 예정이다.


추가로...

우리는 장난감을 만들 것이기 때문에 모든 작품은 관심 가는 외형을 가지기 바라고, 최종 결과물이 즐거움의 대상이 되길 바란다.




그래서... 첫 번째 장난감은 지금까지 배운 내용을 가지고 만들어 보자.


장난감 제목:

LED 가위 바위 보


장난감의 정의 :

1. 세 개의 LED가 있고 그 LED 등을 각각 가위, 바위, 보라고 하자.

2. 버튼을 누르면 세 개 중 한 개의 LED가 무작위로 켜지게 되고,

    이에 해당하는 가위 바위 보가 나온 것으로 보면 된다.

3. 다시 버튼을 누르면 3개 불의 2번 반짝거리고 꺼져서 준비가 되었음을 알린다.

4. 불이 모두 꺼진 상태에서 새로운 가위 바위 보를 시작한다.

 

장난감 재료 :

1. 아두이노 보드

2. 브레드보드

3. LED 3개 (각각 다른 색이면 좋다.)

4. 저항 220 오옴 3개

5. 버튼스위치

6. 연결을 위한 전선들


구조:

1. 3개의 LED를 3곳의 디지털 핀(8, 9, 10번 핀)에 연결한다

2, 버튼을 연결하고 (2번 핀)


새롭게 배우는 프로그램 요소:

임의의 숫자를 발생시키는 random 함수


구성:


코드 :

코드의 다른 부분은 이미 배운 부분이니 더 설명하지 않도록 하고

x=random(3) 만을 설명하면 될 것 같다.


아두이노의 공식 홈페이지 (arduino.cc)를 보면 그 참고 자료에 다음과 같이 random에 대해 정의해 두었다.


Syntax  

   random(max)

   random(min, max)


Parameters  

min : lower bound of the random value, inclusive (optional).

max: upper bound of the random value, exclusive.


Returns  

A random number between min and max-1. Data type : long


얘기인즉슨 random(숫자)라는 함수를 실행하면 0부터 숫자보다 1 작은 숫자 중의 임의의 숫자가 나온다는 것이다.


즉, x=random(3)이라고 하면 x의 값에 경우에 따라 0 ,1 또는 2가 입력된다는 것이다.

다음 명령어인 digitalWrite(x+ledGA, HIGH)를 살펴보자.

여기서 나오는 숫자 x에 ledGA(즉 8)을 더하면 8,9,10 중 하나의 핀이 지정되고, 이를 HIGH로 하면 해당 LED가 켜지게 된다.


실행 화면 :


실행화면을 보면 버튼을 한번 누르면 전체 불이 켜지고 나서 잠시 후에 꺼진다. 이러면 게임이 준비된 것이다.

다시 버튼을 누르면 세 개의 램프 중 하나가 켜지게 된다.


만일

빨강- 가위 / 노랑-바위 / 파랑 -보 ----- 로 지정을 해 두었다면

그때그때 가위바위보 게임을 하는 것이라고 생각할 수 있다.

이 게임은 좀 더 공부가 진행된 이후에 실제 손가락 모형의 게임으로 바꿔서 만들어 볼 예정이다.


이를 미리 보여드리면...

아래의 영상과 같이 동작이 된다.



매거진의 이전글 9. LED와 스위치 : 앞 선 내용 복습
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari