배푸 창의로봇 sw교육 4. 아두이노...

25
배푸 창의로봇SW교육 4. 아두이노 맛보기

Post on 07-Jan-2017

45 views

Category:

Education


10 download

TRANSCRIPT

Page 1: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

배푸 창의로봇SW교육

4. 아두이노 맛보기

Page 2: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

주의 사항➔ 던지지 않는다.

➔ 엠봇을 책상 위나 걸상 위에 놓지 않는다. 떨어지면 망가진다.

➔ 엠봇의 윗쪽에 물을 흘리지 않는다.

➔ 엠봇 위에 물건을 올려놓거나 누르지 않는다.

➔ 엠본을 넘어 걸을 때는 차거나 밟지 않도록 조심한다.

➔ 팀원들끼리 서로의 동의 하에 엠봇 사용을 한다.

➔ 엠봇 프로그래밍할 때 항상 정지명령을 프로그래밍하고 정지 명령키는

스페이스바 키로 한다.

Page 3: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

권장 사항➔ 서로 양보하고 배려한다.

➔ 부정적인 말을 하지 않는다.

➔ 친구들과 서로 의논하고 토의한다.

➔ 서로 격려하는 말을 구체적으로 말한다.

➔ 다른 팀의 작업도 살펴보고 의견을 교환한다.

➔ 의문이 나는 것은 즉각 친구들과 얘기해 본다.

➔ 친구들과 충분히 논의하고 선생님에게 질문한다.

➔ 선생님 말씀에 호응하고 질문한다.

Page 4: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

학습목표

1. 아두이노 회로구성을 실습한다.

2. 아두이노 프로그래밍을 실습한다.

3. 엠블록에서 스트래치 코드를 C코드로

변환한다.

4. 엠블록에서 아두이노 코드를 업로딩한다.

5. 아두이노 프로젝트를 어떻게 접근하는지를

배운다.

Page 5: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

수업진행순서

1. 프로젝트이그나이트 링크로 들어간다.

2. 아두이노 시뮬레이션을 수행한다.

3. 엠봇에서 LED켜는 코드를 프로그래밍한다.

4. 엠블록 코드를 C코드로 변환한다.

5. C코드를 컴파일하고 엡봇에 업로드한다.

6. 아두이노 프로젝트를 따라하려면...

Page 7: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

https://goo.gl/bjj0mj이 프로젝트는 버튼을 누르면 색깔 빛이 깜박이는 제어판을 만들 것입니다 .하나의 버튼을 누리면 초록색 LED를 켤 것입니다 . 그리고 초록색을 끄면 다른 두개의 빛이 깜빡일 것입니다 .이것은 아누이노가 입력과 출력을 어떻게 제어하는지를 보여주는 것입니다 .아래의 회로도를 보십시오 . 버튼이 눌리지 않으면 디지탈핀 2번에 전압이 0볼트가 됩니다. 버튼이 눌리면 2번핀이 5볼트가 됩니다. 2번핀의 볼트를 읽는 것은 버튼이 눌렸는지에 따라 결정됩니다 .출력 디지탈 핀에는 3개의 LED들이 연결되어 있습니다 .

다음 버튼을 누르시오

Page 8: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

https://goo.gl/bjj0mj이 프로젝트는 다음과 같은 전기소자가 필요합니다 . 1개의 푸시버튼 , 2개의 빨간색 LED, 1개의 초록색 LED, 220옴 저항, 3개의 10K옴 저항, 그리고 아두이노 우노보드와 브레드보드

실행과제 :1. 브레드보드에 각 전기소자(Components)를

배치한다 .2. 다음 버튼을 클릭하세요 .

다음 버튼을 누르시오

Page 9: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

디지탈 핀아두이노의 디지탈핀들은 두개의 상태가 가능하다 . 입력핀에 전압이 있는 상태와 전압이 없는 상태이러한 입력의 종류를 이진수(0 또는 1), 디지탈이라고 한다. 이러한 상태는 High, Low라고 말하기도 하는데 High, 즉 1일 때는 전압이 있는 상태를 말하고, Low, 즉 0일 때는 전압이 없는 상태를 의미한다 .digitalWrite()라고 불리는 명령을 사용해 출력핀에 High를 입력하면 그것은 켜진 상태를 말한다. 핀과 접지사이의 전압은 5볼트(V)가 나타날 것이다. 출력핀을 Low로 한다면 그것은 꺼진 상태를 말한다.

실행과제 :1. 작업대에서 아두이노 우노보드에서

디지탈핀들을 확인하시오 .2. 다음을 클릭하세요 .

다음 버튼을 누르시오

Page 10: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

디지탈 핀(2)아두이노소스에서 입력이나 출력으로 사용하기 원하는 각각의 핀을 그림과 같이 설정해야 한다.핀이 출력핀으로 정의된다면 LED와 같은 전기소자를 켤수 있다. 입력핀으로 정의된다면 스위치가 눌렸는지 아닌지를 확인할 수 있다.

실행과제 :1. Done를 눌러 다음 장으로 가시오

다음 버튼을 누르시오

Page 11: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

전원 연결어떤 프로젝트도 첫번째 단계는 아두이노의 5V를 연결하고 접지(GND)핀을 브레드보드에 연결하는 것이다.

실행과제 :1. 아두이노 5V핀을 브레드보드 빨간줄 열에

연결하시오 .2. 접지(GND)핀을 브레드보드 검정줄 열에

연결하시오 .

다음 버튼을 누르시오

Page 12: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

3개 LED 추가2개의 빨간색, 1개의 파란색 LED를 추가한다 .LED의 두 다리는 애노드와 캐소드라고 불린다. 애노드(anode)는 전류가 흘러 들어가는 LED의 단자이고 회로에서 아두이노 출력핀을 연결한다 . 아두이노 핀이 High상태가 되면 이 단자는 5V를 받는다. 캐소드(cathode)는 전류가 흘러 나가는 LED의 단자이다 . 이 경우 전류는 LED의 캐소드에서 나와 저항을 거쳐 그라운드로 간다.본 시뮬레이션에서는 다리에 마우스를 갖다대면 애노드, 캐소드 표시가 뜨는데 실제로는 긴다리가 애노드이고 짧은 다리가 캐소드이다 .실행과제 :

1. 브레드보드 E열에 그림과 같이 LED를 배치한다 . 각 LED는 두개의 구멍에 나란히 놓는다.

2. 220옴 저항을 LED의 캐소드와 접지에 연결한다 .

3. 아두이나 5번 핀에 첫번째 LED의 애노드를 연결한다 .

4. 4번 핀에 두번째 LED의 애노드를 연결한다 .

5. 초록색 LED의 애노드를 3번 핀에 연결한다 .

6. 다음 버튼을 클릭한다 .

다음 버튼을 누르시오

Page 13: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

푸쉬버튼 추가이전 프로젝트에서 했던 것처럼 브레드보드에 버튼을 배치한다 . 한쪽은 전원에 연결하고 다른 한쪽은 아두이노의 2번핀에 연결한다 .아두이노에 연결된 2번핀과 10k옴 저항을 배치한다 . 이 저항을 “풀다운"저항이라고 부른다. 버튼이 눌리지 않았을 때는 2번 핀을 0V로 입력이 된다. 버튼이 눌렸을 때는 2번 핀이 5V입력이 된다.실행과제 :

1. 보이는 것처럼 LED들이 배치된 오른쪽에 푸시버픈을 놓는다.

2. 브레드 보드 5V열(빨간색)에 버튼 왼쪽을 연결한다 .

3. 아두이노의 2번 핀을 버튼 오른쪽에 연결한다 .

4. 그리고 버튼의 오른쪽에 풀다운 저항(10k옴)을 접지와 연결한다 . 펼침 메뉴에서 저항값을 선택할 수 있다.

5. 다음 버튼을 클릭한다 .

다음 버튼을 누르시오

Page 14: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

시작하기 전에모든 아두이노 프로그램은 두가지 중요 부분이 있다. setup()과 loop()라는 함수이다 .함수는 컴퓨터 프로그램의 한 부분으로 특정한 작업을 수행한다 . 이 단원에서는 pinMode(), digitalRead(), digitalWrite(), 그리고 delay()등의 함수를 아두이노 개발환경에 이미 있는 부분인 함수들을 소개할 것이다.setup()과 loop()함수는 개발자가 스스로 만든는 부분으로 그림과 같이 정의한다 .

실행과제 :1. setup() 함수는 단지 한번만

실행된다 . 이 함수 내에 변수를 정의하고 입력과 출력 핀들을 지정한다 .

2. loop()함수는 자체적으로 계속 반복 수행된다 . 주로 핀의 입력상태 , 예를 들어 버튼이 눌렸는지 , 등을 제크하고 특정한 출력을 수행하도록 한다.

3. 다음 버튼을 클릭한다 .

다음 버튼을 누르시오

Page 15: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

주석쓰기코드 편집기에서 갈색부분은 //로 항상 시작한다 . 이것을 주석이라 부른다.개발자의 프로그램소스에서 설명을 달고 싶다면 코드내에 주석을 남기면 된다. 이 경우 컴퓨터는 주석부분을 무시하고 프로그램 수행을 한다.프로그램 소스에서 주석을 남기는 것은 좋은 습관이다 . 그리고 프로젝트 후에 다시 소스를 봤을 때, 개발자는 프로그래밍을 했을 때 어떤 생각을 했었는지 정확히 알게 된다.

실행과제 :1. 코드 편집기에서 //로 표시된

부분을 확인하라 . setup(), loop()함수들에 대한 설명이 있다.

2. 다음 버튼을 클릭한다 .

다음 버튼을 누르시오

Page 16: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

1. 프로그래밍의 처음에 해야할 것은 변수를 생성하는 것입니다 . 변수란 프로그램 명령에 의해 변경되는 값을 말한다.

다음 버튼을 누르시오

Page 17: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

1.

다음 버튼을 누르시오

Page 18: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

1.

다음 버튼을 누르시오

Page 19: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

1.

다음 버튼을 누르시오

Page 20: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

1.

다음 버튼을 누르시오

Page 21: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

1.

다음 버튼을 누르시오

Page 22: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

1.

다음 버튼을 누르시오

Page 23: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

사용하기이전 프로젝트에서 했던 것처럼 브레드보드에 버튼을 배치한다 . 한쪽은 전원에 연결하고 다른 한쪽은 아두이노의 2번핀에 연결한다 .아두이노에 연결된 2번핀과 10k옴 저항을 배치한다 . 이 저항을 “풀다운"저항이라고 부른다. 버튼이 눌리지 않았을 때는 2번 핀을 0V로 입력이 된다. 버튼이 눌렸을 때는 2번 핀이 5V입력이 된다.실행과제 :

1. 보이는 것처럼 LED들이 배치된 오른쪽에 푸시버픈을 놓는다.

2. 브레드 보드 5V열(빨간색)에 버튼 왼쪽을 연결한다 .

3. 아두이노의 2번 핀을 버튼 오른쪽에 연결한다 .

4. 그리고 버튼의 오른쪽에 풀다운 저항(10k옴)을 접지와 연결한다 . 펼침 메뉴에서 저항값을 선택할 수 있다.

5. 다음 버튼을 클릭한다 .

다음 버튼을 누르시오

Page 24: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

다음 버튼을 누르시오

Page 25: 배푸 창의로봇 Sw교육   4. 아두이노 맛보기

친구와 함께 배우고 풀어가는 우리는 Best Friend

https://www.facebook.com/baefoo91/