교육자료

마르시스에듀는 창의적인 미래 인재 양성을 목표로 누구나 쉽고 재미있게
코딩을 배울 수 있는 STEAM(융합인재교육) 솔루션을 제공합니다.

마르시스에듀의 다양한 코딩 교구와 교육 콘텐츠를 만나보세요.

 

샘랩

[샘랩] 코딩정음의 FUN Making_메뉴 회전판

샘랩 FUN MAKING
#초등 고 #중등 #출처 표기 2019-10-31 09:01:13







 

  • TV프로그램에서 벌칙을 정하는데 사용하는 회전판을 본적이 있나요? 어떻게 동작하나요?

           - 둥근 판을 돌리다가 사용자가  원할 때 멈추게 됩니다.


  • 회전판을 작동하기 위해 꼭 필요한 기능은 무엇일까요?

        - 사용자가 신호를 보냈을때 회전하고, 사용자가 다시 신호를 보냈을 때 멈출 수 있어야 합니다.


  • 회전판의 기능 중  SAM Labs로 구현해야 하는 부분은 어디일까요?

        - 버튼을 눌렀을 때 모터가 동작할 수 있어야 합니다.

   

  • 회전판을 조금 더 생동감있게 구현하려면 어떤 동작이 추가되면 좋을까요?

        - 멈출 떄 바로 멈추는 것이 아니라 서서히 멈추게 하도록 하고, 멈추는 신호를 소리로 알려주면 좋겠습니다. 

 

  

 



  • SAM Labs : 버튼 1개, DC모터 1개
  • 준비물 : 조립식 블록(블록형 및 바퀴형), 투명테이프, 가위, CD, 색종이, 빨대

 

1. 준비물을 준비합니다.

 

 

2. DC모터에 바퀴와 조립식 블록을 연결합니다.

 

 

3. 색종이에 선택지 내용을 작성하여 CD 크기에 맞게 잘라 CD 앞면에 붙입니다.

  

 

4. CD뒷면에 양면테이프를 붙여 바퀴형 블록과 접착시켜 줍니다.

 

 

5. 조립식 블록을 연결하여 회전판을 위한 거치대를 만들어 줍니다.

 

 

 

6. DC모터에 SAM Labs키트에 있는 조립식 키트를 부착하여 거치대에 연결합니다.

  

 

7. 빨대를 부착시켜주세요.

 

 

 

 

 

​1. SAM Space를 실행한후 버튼(입력)과 DC모터(출력)을 페어링해 줍니다.

 

2. 버튼과 DC모터를 드래그하여 작업창으로 옮기고 연결시켜 줍니다.

 

 

3. 버튼을 눌러 시연해 봅시다.

 

 

 

 

 

 

누르고 있는 버튼에서 손을 떼면 회전판이 천천히 멈추면서 신호음을 보낼 수 있도록 만들어 봅시다.

 

1. www.samlabs.com에 접속하여 [Teaching Materials] - [Google Workbench]를 실행합니다. 

 

2. 왼쪽 상단에 [Devices]를 클릭하고 [Button]과 [DC Motor]를 선택합니다.

  

3. 센서 전원을 켜고 [Connecting]을 눌러 센서들을 페어링합니다.

 

4. [Button]-[Events]에서 {When button is pressed}를 작업창에 드래그하여 옮겨 줍니다. '버튼을 눌렀을 때' 조건문을 설정하기 위한 블록입니다.


​5. [DC Motor] - [Actions]에서 {Set DC Motor spee to 0}를 작업창에 드래그 합니다. DC모터의 스피드를 설정하기 위한 블록입니다.

 

6. DC모터의 스피드를 100으로 바꿉니다.

 

7. [Button]-[Events]에서 {Wait until button is pressed}를 작업창에 드래그한 후 {released}로 변경해줍니다. 버튼에서 손을 뗄 떼까지 기다리라는 의미입니다. (※ pressed로 해두면 버튼을 누를떄까지 기다리라는 의미가 됩니다)

 

8. [DC Motor]-[Actions]에서 {Set DC Motor speed to 0}를 작업창에 드래그합니다.

 

9. 그림처럼 코딩을 완성시켜줍니다. 버튼을 누르고 있는 순간에는 모터의 속도가 100, 버튼에서 손을 떼면 모터의 속도가 0가 됩니다.

  

10. 회전판이 서서히 멈추도록 코딩을 변경해 봅시다.

[Variables]-[create variable]을 클릭하여 모터의 스피드 조정을 위한 변수를 만들어줍니다. (본 자료에서는 [speed]라는 이름의 변수를 만들겠습니다.)

 

 

11. [General] - [program start Veriables] - {Set speed to Math 0} 을 드래그한 후 숫자를 100으로 변경합니다. 시작할 때 변수의 값을 100으로 설정하기 위함입니다.

 

 

12. [Button] - [Events] - {When button is pressed}

      [DC Motor] - [Actions] 에서 {set DC Motor speed to 0}

      [Variables] - {speed}

      [Button] - [Events] - {Wait button is released}를 드래그하여 순서대로 연결합니다.

      이렇게 코딩을 해주면 버튼을 누르면 손을 떼기 전까지 모터의 속도를 [변수(speed)] 값으로 설정할 수 있습니다.

 

 

13. [Button] - [Events] - {When button is released}

       [Logic] - {repeat 10 times do}

       [DC Motor] - [Actions] - {Set DC Motor speed to / Variables - speed}

       [Variables] - {change speed by -10}

       [General] - {wait for 0.3 seconds}

       [General] - {print / Variables - speed}를 드래그하여 순서대로 연결합니다.

      버튼에서 손을 데면 0.3초동안 속도를 10만큼 줄이는 과정을 10번 반복하게 됩니다. 결과적으로 3초동안 속도를 100만큼 줄이게 됩니다. 속도가 줄어드는 과정을 확인할 수 있도록 속도 값이 화면에 나타나도록 {print} 블록을 사용하였습니다.

 

 

14. RUN을 누르면 버튼을 누르고 3초 후 회전판이 멈추며, 회전판의 속도는 왼쪽 Console에서 확인할 수 있습니다.

  

 

 

15. 회전판이 멈췄을 때 부저가 울리도록 코딩을 추가해 봅시다.

    왼쪽에 [Add Device]를 클릭하여 [Buzzer]를 페어링합니다.

 

16. 앞에서 완성한 코드 아래에

    [if Logic] - [if do]

    [Variables] - speed

    [Math] - 0

 

    [do Buzzer] - [Actions] - [Set buzzer volume to 0 => 100] => buzzer의 볼륨을 100으로 설정합니다.

    [General] - [wait 0 => 2 seconds] => 2초간 볼륨을 유지합니다.

    [Buzzer] - [Actions] - [clear buzzer] 를 드래그하여 완성해 줍니다. => 소리를 제거합니다.

  

샘랩 FUN MAKING 목록

마르시스에듀는 누구나 21세기 필수 기술을 쉽고 재미있게 익혀 창의적이고 논리적인 사고력을 바탕으로 문제 해결을 할 수 있도록 돕는 에듀테크 회사입니다. 아이디어를 현실화할 수 있는 제품과 콘텐츠를 개발하고 서비스를 제공함으로써 미래 사회를 능동적으로 살아갈 수 있는 방법을 제시할 것입니다.

    

PRODUCT