삶은 계란

2020 동계 Drone Design-Coding <2021.01.11 활동> 본문

X-Optimus 융합교육프로그램/Drone Design-Coding

2020 동계 Drone Design-Coding <2021.01.11 활동>

삶과계란사이 2021. 2. 12. 01:34

 

2021.01.11.(월)에는

 

'아이템 사업화 프로젝트'에 대한 설명 듣기

지식재산에 대한 설명 듣기

사물 인터넷(IoT)에 대한 설명 듣기

아두이노에 대한 설명 듣고 실습

 

이렇게 4가지 활동을 진행했다.

 

 

1월 12일부터 1월 18일까지

드론과 사물인터넷(IoT)을 접목해서 조별로 사업 아이템을 제작하는 프로젝트를 진행한다고 한다.

그래서 프로젝트 진행 전에 '지식재산' 교육을 간단하게 받았다.

 

지식재산 경영에 대한 간단한 설명을 들었다.

 

특허전략을 제시하기까지의 단계를 간단하게 알아보았다.

'제주도 한라산'을 사례로 들었다.

 

특허정보 조사분석 대상 기술 파악 단계에 대해 간단하게 설명해주셨다.

'무안경 3D 기술'을 사례로 들었다.

 

지식재산에 대해 간단하게 알아보고 나서, 프로젝트 사업계획서의 양식에 대해 설명해주셨다.

이 양식을 바탕으로 PPT를 제작해서 성과발표회 때 발표할 예정이다.

 

양식 설명이 끝나고, 사업 아이템을 어떻게 구상할 것인가에 대해

'화재 진압 드론'이라는 주제를 예로 들어 설명해주셨다.

강사님이 실제로 참여하셨던 프로젝트라고 한다.

 

프로젝트 진행에 대한 설명이 끝나고 '아두이노 실습 교재'와 '아두이노 키트'를 받았다.

아두이노 실습을 진행할 때 사용할 것들이다.

 

사물인터넷(IoT)과 아두이노에 대해 설명을 듣는 시간을 가졌다.

 

설명을 시작하기 전, 강사님께서 직접 실습했던 영상을 보여주셨다.

물고기 모형을 아두이노가 어떻게 인식하는지 보여주는 영상이었다.

 

본격적으로 '사물인터넷(IoT)'에 대한 설명을 들었다.

 

 

사물인터넷 사례로는

 

건축(Smart Home)

의료(Health Care)

환경(Environmental Monitoring)

농업(Smart Farm)

에너지(Smart Grid)

제조(Smart Factory)

스마트 카(Smart Car)

꾸방(감시 정찰)

유통

안전

원격검침

 

등이 있다.

 

미국에서 드론을 사용해 농약과 물을 뿌리는 경우가 많은데, 이것은 스마트 팜에 해당된다.

그린카(Green Car), 쏘카(SOCAR) 같은 카셰어링 어플은 스마트 카에 해당된다.

5G, VR 같은 기술도 IoT에 해당된다고 볼 수 있다.

 

 

분야별 사물인터넷 활용을 아래 표에 정리해보았다.

 

분야 서비스
Utilities 전기: 지능형 발전, 송전, 변전, 배전, IoT 플러그 등
가스: 가스차단, 가스누설 경보기 등
수도: 누수 방지, 상하수도 감시 등
원격검침: 실시간 원격검침, 스마트 그리드 등
Building 스마트 홈: 자동 온도조절 장치, 실내외 등 자동
원격 조정 등
빌딩오토메이션: 빌딩 안전 관리,
에너지 효율 관리 등
건물 구조 관리: 급수 시설, 대피 시설,
시설 안전 관리 등
Security 가정 및 기업 보안감시
Telematics 스마트 카: 제어장치 인증, 암호화
차량종합관리(Fleet Mgmt): 차량 관리 시스템
운전자 성향보험(Usage Based Insurance)
Health Care 재택치료(Home care)
노인부양(Elderly care)
원격의료(Tele Health)
응급구조(Emergency help)
Farming 농산물 모니터링
가축 모니터링
Retails 스마트 키오스크
디지털 신호기반 타깃 광고

 

 

사물인터넷 플랫폼 유형은 아래와 같이 정리할 수 있다.

 

Hardware Device Network Data
Processing
Service
Application
사물 생성 오픈
하드웨어 플랫폼
장치 운영체제
장지 서비스
사물 연결, 제어, 관리, 개방 사물인터넷
데이터 검색, 분석
사물인터넷 응용

 

사물은 데이터의 생성뿐 아니라 데이터 프로세싱을 통하여 점점 지능화되어 가고 있다.

이러한 데이터 및 지식은 네트워크를 통하여 플랫폼과 교환되면 플랫폼에서는 수많은 사물들과

인터렉션을 통해 정보를 수집하고 이로부터 더 효율적인 지식을 추출하여 사용자에게 제공함으로

사용자의 지능형 서비스를 돕게 된다.

 

 

사물인터넷의 인터넷은 'Inter(상호간의)'와 'Network(네트워크)'의 합성어이다.

즉, 네트워크를 서로 연결하는 것을 의미한다.

인터넷은 여러 가지의 통신망을 서로 연결한 것이다.

 

 

'아두이노'에 대한 설명도 간단하게 들었다.

 

 

아두이노의 종류

 

아두이노 UNO

아두이노 Mega(Mega2560)

아두이노 Nano

아두이노 Pro/Pro mini

Lily Pad

 

등이 있다.

 

 

각 아두이노의 특징에 대해 간단하게 표로 정리해보았다.

 

이름 특징
아두이노 UNO 현재 아두이노 표준 보드.
온라인 상에 있는 대부분의 예제, 강좌, 소스,
라이브러리가 UNO 보드에 맞춰져 있음.
아두이노 Mega(Mega2560) UNO 보드의 약 2배 크기에
제어 가능한 핀이 더 많음.
UNO 보드보다 더 빠르고, 저장용량도 많이 가짐.
UNO 보드로 처리하기 벅찬 멀티미디어 관련 작업,
복잡한 제어가 필요한 작업에 알맞음.
아두이노 Nano UNO 보드의 소형화 버전.
호환성이 좋지만 숫놈 핀 헤더를 납땜해 줘야 하는
경우가 발생할 수 있음.
아두이노 Pro/Pro mini 아두이노 보드 중 가장 작은 사이즈.
별도의 외부 USB 모듈을 납땜해서
사용해야 하는 등의 제약 존재.
Lily Pad 웨어러블, 전자 바느질 등에 적당하도록
변형된 아두이노 보드.

 

 

아두이노의 활용은 아래 표와 같이 정리할 수 있다.

 

아두이노 로봇 손 아두이노 RC 자동차
아두이노 LED 큐브 아두이노 드론
아두이노 파종기 아두이노 3D프린터
아두이노 미니 날씨 디스플레이 아두이노 피아노

 

 

IoT를 구현하는 가장 기초적인 방법은 아두이노를 사용하여 구현하는 것이다.

아두이노에서 가장 많이 사용되는 것은 다양한 센서(감지기)와 스마트한 기능을 내장하고 있는 센서이다.

 

센서는 검출 소자를 사용해 입력 값을 알아내고, 그 결과를 전기 신호로 전송하는 장치이다.

사람의 오감을 기본 바탕에 두고 작동하는 입력 장치인데, 각종 센서는 아두이노의 입력 장치로

사용되며 입력되는 값은 아날로그 값으로 변환되어 디지털화된다.

 

▲ 센서와 아두이노를 연결한 개략적인 그림

 

센서와 아두이노를 연결하는 이유는 센서에서 나오는 전기 신호를 읽어 현재 값이 얼마인지

알아내기 위해서는 특별한 장치가 필요한데, 그 장치가 바로 아두이노에

들어가 있는 마이크로컨트롤러이기 때문이다.

 

근거리 무선 통신 기술인 Bluetooth지그비(ZigBee)는 초저전력으로

동작하면서 소형 장치에 내장하기 쉬운 장점 때문에 각광을 받고 있다.

하지만 거리가 멀어지면 연결이 끊기는 등의 한계가 있다.

이러한 한계를 보완한 것으로, 빛을 이용한 통신 라이파이(Li-Fi)가 주목받고 있다.

 

 

네트워크 토폴로지에 대해 대표적인 것만 알아보는 시간을 가졌다.

사물들을 연결하여 네트워크를 구성할 때, 사물들을

배치하는 형태를 '네트워크 토폴로지'라고 한다.

 

네트워크 토폴로지의 종류에 대해 몇 가지 알아보았다.

 

 

1. 버스(Bus) 토폴로지

 

통신 경로를 통해 연결된 클라이언트의 집합을 가리키는 네트워크 구조를 말한다.

통신 케이블에 연결된 노드(사물: 센서, 아두이노 등)가 결합한 장치에 해당한다.

버스 토폴로지는 이더넷(Ethernet)으로 LAN(Local Area Network)을 구축할 때 사용한다.

 

- 장점: 노드의 추가 및 삭제가 용이. 특정 노드의 장애가 다른 노드에 영향을 주지 않음.

- 단점: 공통 배선에 대역폭을 공유하므로 노드 수가 증가하면 배선의 트래픽이 증가해 네트워크 성능 저하.

 

 

2. 링(Ring) 토폴로지

 

원형으로 연결되어 있고, 한 방향으로만 데이터 전송이 이루어진다.

유선으로 랜을 구축할 때 사용하고, 사물인터넷에는 적용하기 어렵다.

 

- 장점: 단 방향 통신으로 신호 증폭이 가능하여 거리 제약 적음.

- 단점: 노드의 추가 및 삭제가 용이하지 않음.

 

 

3. 스타(Star) 토폴로지

 

각 노드는 중앙에 위치한 주 노드를 통하여 다른 노드들과 통신을 할 수 있다.

 

- 장점: 장애 발견이 쉬움. 관리가 용이.

- 단점: 주 노드에 장애가 발생하면 전체 네트워크 사용 불가능.

 

 

4. 메시(Mesh) 토폴로지

 

서로 1:1로 연결된 그물망 형태로, 모든 사물을 1:1로 연결하는 것이다.

어떤 연결 선로에 고장이 발생해도 우회할 수 있는 선로가 있으므로

사물 사이의 통신에 크게 영향을 주지 않는다.

 

- 장점: 특정 노드의 장애가 다른 노드에 영향을 주지 않음. 회선 장애에 유연한 대처 가능.

- 단점: 회선 구축 비용이 많이 듬. 새로운 노드 추가 시 비용 부담 발생.

 

 

프로그래밍(코딩)에 대한 설명을 들었다.

프로그래밍프로그램을 만드는 과정, 프로그램일의 순서(과정)라고 할 수 있다.

 

프로그래밍 언어는 사람과 디바이스(컴퓨터, 아두이노 등)가 의사소통을 가능하게 해주는 언어이다.

아두이노는 C 언어 기반이다. C 언어는 대부분의 컴퓨터 시스템에 사용할 수 있는데,

절차 지향적 언어로 빠른 연산속도를 자랑한다.

운영체제 및 디바이스 드라이버, 마이크로 컨트롤러 임베디드 프로그래밍 등에 사용한다.

 

'전기전자 기초'에 대해 배우는 시간을 가졌다.

 

 

전류단위 시간 동안 이동한 전하량이다.

어떤 공간에 전기적인 현상을 발생시키는 전하가 존재하면 그 주위에 전기장이 만들어진다.

양전하가 만들어 내는 전기장은 바깥쪽으로, 음전하가 만들어 내는 전기장은 안쪽으로 향한다.

 

전자는 기본적으로 -를 띈다.

같은 전기를 가지고 있는 입자는 척력(서로 반발하는 힘)이 작용하고,

다른 전기를 가지고 있는 입자는 인력(서로 잡아당기는 힘)이 작용한다.

 

전자는 -에서 +로 이동하고, 전류는 +에서 -로 이동한다.

전류의 단위는 암페어(A)를 사용한다.

 

 

독일의 물리학자 '게오르크 옴'이 발견한 옴의 법칙(Ohm'S Law)은 금속선을 흐르는 전류에 대해

실험을 통해서, 전류의 세기는 전압에 비례하고 전기 저항에 반비례한다는

관계를 명시하는 중요한 법칙이다.

 

I [A] = V [V]/R [Ω]

 

전류(I), 전압(V), 저항(R)관계식이다.

 

 

위에는 말하는 저항이란 전류의 흐름을 방해하는 작용을 말한다.

전류가 흐르는 양을 조절하는 역할을 하고 단위는 옴(Ω)을 사용한다.

 

저항의 용도로는

 

LED 또는 반도체 부품 과다 전류 방지

콘덴서(캐패시터) 충전율 제한

반도체 부품 전압 제어

 

등이 있다.

 

 

이것은 저항의 색띠(color coding)에 대해 정리해놓은 표이다.

 

 

이것은 저항 띠 보는 방법에 대한 그림이다.

 

 

마지막으로 키르히호프 법칙에 대해 간단하게 알아보았다.

 

 

제1법칙. 전류의 법칙

 

한 접점(노드)으로 흘러들어오는 전류의 합은 접점에서 나가는 전류의 합과 같다.

 

 

제2법칙. 전압의 법칙

 

회로에서 가해진 전원 전압은 저항 3개로 나누어져 소비된다.

즉, 부하는 3개의 저항이 되고 각 저항마다 전압강하가 생길 것이다.

각 저항의 전압강하를 모두 합하면 가해진 전원 전압이 된다.

 

 

'직렬연결과 병렬연결'에 대한 설명을 들었다.

 

 

1. 직렬 저항 연결

 

R = R1 + R2

I = I1 + I2

V = V1 + V2

 

 

2. 병렬 저항 연결

 

1/R = 1/R1 + 1/R2

I = I1 + I2

V = V1 = V2

 

 

설명을 다 듣고 본격적으로 아두이노 실습을 시작했다.

아두이노 키트 안에서 아두이노 UNO를 꺼내 컴퓨터와 연결한다.

 

▲ '아두이노 IDE' 아이콘

 

아두이노를 사용하기 위해서 컴퓨터에 '아두이노 IDE'를 설치한 후 실행한다.

 

아두이노 IDE를 실행해서

툴 → 보드 순서로 클릭한 후 'Arduino Uno'를 선택한다.

그다음에 툴 → 포트 순서로 클릭한 후 'COM4 (Arduino Uno)'로 설정한다.

 

설정을 마치고 교재 예제 코드를 입력해봤다.

시리얼 포트로 "Hello Arduino" 문자열을 2초 주기로 전송하는 코드이다.

 

코드에 대한 간단한 설명을 아래에 정리해보았다.

 

setup() 함수 시작할 때 한 번 수행하는 루틴으로 태스크 초기에 해야 할 작업을 설정할 함수
Serial.begin(9600); 시리얼 통신포트의 속도를 9600bps로 설정
Serial.println("Hello Arduino"); 개행 포함하여 시리얼 포트로 출력
delay(2000); 2초(2000밀리 초) 대기

 

왼쪽 위에 있는 체크 그림 아이콘은 '컴파일' 아이콘이다.

아이콘을 누르면 위 사진처럼 컴파일이 진행된다.

 

아두이노는 새로운 코드를 입력하고 컴파일을 하면 덮어쓰기가 된다.

 

컴파일 아이콘 바로 옆에 있는 화살표 그림 아이콘은 '업로드' 아이콘이다.

아이콘을 누르면 작성한 스케치를 먼저 컴파일하고, 아두이노 보드로 업로드한다.

 

오른쪽 위에 있는 돋보기 그림 아이콘은 '시리얼 모니터' 아이콘이다.

업로드를 완료한 후 시리얼 모니터에 들어가면 2초 주기로

"Hello Arduino"를 출력하는 것을 확인할 수 있다.

 

파일 → 예제 → 01.Basics → Blink 순서로 클릭하면

위 사진처럼 Blink를 업로드할 수 있다.

아두이노 UNO의 주황색 불이 깜빡거리는 것을 확인할 수 있다.

 

Blink 외에도 다양한 예제를 확인할 수 있다.

 

교재에 있는 예제 코드를 타이핑했다.

푸시버튼이 눌려져 있을 때는 LED가 켜져 있고, 아닌 경우에는 껴져 있게 되는 코드이다.

위 코드에 보이는 HIGH는 쉽게 말해서 켜진 상태, LOW꺼진 상태라고 보면 된다.

스케치 작성을 마치고 '업로드'를 클릭했다.

 

회로도를 보고 위 사진처럼 아두이노와 브레드 보드에 부품을 연결한다.

푸시 버튼을 누르고 있으면 LED가 켜지고, 손을 떼면 꺼지는 모습을 확인할 수 있다.

 

이번에는 LED로 신호등 제어를 하는 코드를 타이핑해보았다.

작성을 마치고 '업로드'를 클릭한다.

 

회로도를 보고 위 사진처럼 연결하면 LED에 빨강 → 노랑 → 초록 순으로 불이 들어온다.

빨강 LED는 5초 동안, 노랑 LED는 1초 동안, 초록 LED는 5초 동안 켜지는 모습을 확인할 수 있다.

 

이번에는 LED로 신호등 버튼 제어를 하는 코드를 타이핑했다.

작성을 마치고 '업로드'를 클릭한다.

 

회로도를 보고 위 사진처럼 아두이노와 브레드 보드에 부품을 연결한다.

 

푸시버튼을 한 번 누를 때마다 켜지는 LED의 색이 달라지는 것과

계속 누르고 있으면 색이 계속해서 바뀌는 것을 확인할 수 있는 영상이다.

 

 

 

Comments