4차시 : Hello 아두이노

 # 4차시 목차

[상상노트] 샌드위치 코딩

[들어가기] 기계가 생각할 수 있다면?

[탐구하기] 아두이노 개발환경 구축하기

[창의설계] 서보 모터 제어하기

[창의설계] 초음파 센서 거리 측정하기

 

SW와 AI 차이는 무엇일까요?

[상상노트] 샌드위치 코딩

  우리나라는 세계 어떤 나라보다 더 로봇을 많이 활용하고 쓰고 있는 나라입니다. 로봇은 반복되고 힘든 일들을 사람을 대신하여 수행합니다. 이로 인해 인간의 삶을 보다 편해지고 잉여 시간을 통해 새로운 가치를 창출할 수 있습니다. 로봇은 프로그래밍된 기계입니다. 프로그래밍이란 로봇이 특정한 조건 아래에서 정해진 행동을 할 수 있도록 기계 요소들에게 일정한 순서대로 동작을 입력해주는 과정입니다. 이러한 과정을 만드는 사람을 프로그래머라고 하죠. 프로그래머들은 인간의 언어로 명령어를 작성하는 데, 그것을 코드라고 부릅니다. 그래서 요즘 흔히들 말하는 코딩이라는 용어는 프로그래머가 코드를 작성하는 행위를 의미합니다.

  코딩은 물리적인 형태의 기계에만 국한하지 않고, 보이지 않는 디지털 세계에서도 다양한 방식으로 쓰이고 있습니다. 앞서 배운 데이터 수집을 위한 크롤링처럼 말이죠. 또한, 코딩은 코드라는 명령어를 암기해서 작성하는 것보다는 작업, 문제 해결의 과정과 순서를 정확하게 표현하는 즉 절차적 사고가 더 중요합니다. 그래서 일상 생활에서 겪는 크고 작은 문제들을 보며, 우리는 이 문제가 해결되었을 때의 모습을 상상하며 그것이 이루어지는 단계와 그 단계에서 행해지는 일련의 절차에 대해 사고 할 수 있어야 합니다.

Q) 아빠, 아들·딸, 아들·딸이 하는 말 로봇에 대입하면 무엇에 해당될까요?

[들어가기] 기계가 생각할 수 있다면?

Q) SW와 AI의 차이점은 무엇인가요?

Q) 우리 주변에 있는 기계를 하나 선택해 봅시다.

Q) 이 기계에 인공지능을 적용하면 어떤 판단을 할 수 있을까요?

아두이노 기초 실습 

[탐구하기] 아두이노 개발환경 구축하기

아두이노란?

IDE(Integrated Development Environment)란?

① 아두이노 프로그램 설치하기

[다운로드 링크] https://www.arduino.cc/en/software

② 아두이노 호환드라이버 설치하기(압축파일)

[다운로드 링크] https://bit.ly/cpmt22

※ INSTALL을 클릭해서 설치하며, 윈도우 7 사용자의 경우 ‘관리자 권한’으로 실행하세요.

③ 아두이노 우노보드와 PC 연결하기

④ 라이브러리 추가 방법


⑤ 아두이노 연결

  ★2개의 볼트/너트 SET 중 큰 비닐에 담겨있는 볼트를 사용하면 된다.

★머리가 둥근 볼트를 사용하며, 아두이노 고정시 미리 4개 볼트의 자리를 잡고 나중에 한 번에 조인다.

★가장 오른쪽에 기준을 맞춰야한다.(왼쪽 2칸이 남는다.)

[창의설계] 서보모터 제어하기

서보모터란?

로봇 관절

공장 기계 로봇

#include <Servo.h>

Servo myservo;

void setup() {

 myservo.attach(2);

}

void loop() {

 myservo.write(0);

 delay(3000);

 myservo.write(90);

 delay(3000);

 myservo.write(180);

 delay(3000);

}


#include <Servo.h>

Servo myservo;

void setup() {

 myservo.attach(2);

}

void loop() {

 myservo.write(90);

}

[창의설계] 초음파 센서 거리 측정하기

초음파 센서란?

초음파 센서의 원리

박쥐

초음파 진단

로봇 청소기

int trigPin = 13;

int echoPin = 12;

void setup() {

 Serial.begin(9600);       // 시리얼 속도 설정

 pinMode(echoPin, INPUT);   // echoPin 입력

 pinMode(trigPin, OUTPUT);  // trigPin 출력

}

void loop() {

 long duration, distance;

 digitalWrite(trigPin, HIGH);                        // trigPin에서 초음파 발생(echoPin도 HIGH)

 delayMicroseconds(10);

 digitalWrite(trigPin, LOW);

 duration = pulseIn(echoPin, HIGH);                  // echoPin 이 HIGH를 유지한 시간을 저장 한다.

 distance = ((float)(340 * duration) / 10000) / 2;

 Serial.print("distance:");                          // 물체와 초음파 센서간 거리를 표시

 Serial.print(distance);

 Serial.println(" cm");

 delay(500);

}

정리 및 공유하기