SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
첫 만남
우리들, 그리고 아두이노와의 첫 만남
어떻게 만들어보고 싶은 마음이 생겼는지?
▪ 재미
▪ 영감
▪ 성장
▪ 불안감
▪ 새로운 세상
▪ 변화. 공동체의 방향
코딩은 정말 수학, 논리적 사고가 가장 중요한가?
▪ 퍼즐을 맞추는 방식
▪ 회화를 그리는 과정
▪ 자연물에 조각해 나가는 과정
▪ 수학은 발명일까, 발견일까?
코딩 예술 수학
발상(창의) ○ -
진행(추동력) △ △
디버깅 - ○
에디슨 왈 : 1%의 영감과 99%의 노력
(아두이노 버전) =>
1%의 영감과 99%의 디버깅
1%의 영감이 먼저 필요함
그렇다고 99%의 디버깅이 없어도 되는 건 아님
단, 내 작품의 연출자는 바로 ”나”란 사실!
아두이노의 특징 (마이크로컨트롤러)
모니터, 키보드, 마우스가 없다
• 컴퓨터에서 작성된 프로그램을 연결된
아두이노에 업로드해서 사용한다.
ADC(Analog Digital Converter)가 있다
• 센서가 읽어온 값이 아날로그일 경우,
읽을 수 있도록 디지털로 변환해준다.
시리얼 통신을 한다
• 켈로그 시리얼 아님
• 아두이노가 다루는 여러 값들을 컴퓨터
등에서 모니터로 볼 수 있는 채널인 셈.
작은 전류값에도 민감하다(mA 단위)
• 회로 구성시 전류에 주의하지 않으면
핀이나 내부 구조가 손상될 수 있다.
PWM출력이 가능하다
• 출력 전압을 펄스로 쪼개어 출력, 마치
전압 크기가 바뀌는 듯한 효과
‘스케치’로 외부 라이브러리, 자체 함수 등을
사용해 프로그램한다
• 라이브러리란 마치 주석과 비슷하달까?
• 말그대로 “도서관"의 책들과 같다
아날로그 vs 디지털
아날로그: 값이 연속적이다.
온도, 빛의 밝기, 바람의 세기,
습도, 누르는 힘, 무게(중력)의
변화, 현실에서 실제 물체의
부피, 자기장의 크기, 시간의
흐름 등등..
디지털:
컴퓨터 안에서 0과 1로 처리하는 정보
▪ 왜 하필 0과 1? – 전압으로 신호 전달.
▪ 반도체 트렌지스터 – 0 아니면 1로 정
보를 처리.
▪ 수많은 연산(사칙&논리)은 모두 0과 1
의 조합으로 이루어진다.
▪ 값이 비연속적이다.
반도체의 의미
원래는 거의 전기가 통하지 않지만 빛이나 열, 또는 불순물을 가해주면 전기가
통하고 또한 조절도 할 수 있는 물질
어떻게 조작하느냐에 따라 전기 흐름을 조절할 수 있다는 점을 응용해 전류가
흐르는가 아닌가에 따라 2 가지 상태를 나타낼 수 있다. (전압 인가 혹은 0V)
숫자로 표현하면 0 혹은 1이 되며, 이를 디지털(digital)이라 말한다.
▪ 디지털 기기
– 반도체의 특성을 이용해 정보를 0과 1의 조합으로 기록하고 처리하는 장치.
진공관, 트랜지스터, 그리고 IC
▪ 진공관 (vacuum tube)
초기 통신기술 연구 단계에서 장거리를 이동하는 도중에 전기신호가 약
해지는 현상이 나타났고, 중간에 전기 신호를 증폭시키기 위해 반도체를
사용할 수 있다는 것이 알려지고, 신호 증폭을 위해 발명된 것이 진공관
이다.
증폭 및 감쇠 시킬 수 있다면, 아예 신호를 계속 유지하거나 막을 수도
있으므로 2가지 상태를 나타낼 수 있다. 다만, 처리 속도는 그리 빠르지
않음. (ms, 10-3 sec 이하)
진공관, 트랜지스터, 그리고 IC
▪ 트랜지스터 (transister)
1948년, 벨 전화 연구소의 과학자 윌리엄 쇼클리, 존 바딘과 윌터
브래튼이 트랜지스터를 발명하고 노벨상을 수상.
진공관에 비해 크기가 매우 작고, 안정적이며, 처리 속도가 1,000
배 이상 빠르다. (㎲, 10-6 sec 이하)
진공관, 트랜지스터, 그리고 IC
▪ IC (Integrated Chip)
미국 Texas Instrument I社의 기술자, 잭 킬비(Jack Kilby)가 집적
회로(IC) 발명.
손톱 수준의 크기의 칩(chip)에 수만 ~ 수십억 개의 트랜지스터나
다른 전자부품을 집합시킨 것. 처리 속도가 더욱 빨라졌다. (ns,
10-9sec 이하)
아두이노의 모습
마이크로프로세서와 마이크로컨트롤러
▪ 아두이노 우노는 아트멜(Atmel)의 마이크로컨트롤러인
ATmega328을 사용하여 만들어진 보드이다. 그렇다면 마이크로
컨트롤러란 무엇일까?
마이크로프로세서와 마이크로컨트롤러
▪ 먼저 컴퓨터의 구조를 살펴보자. 컴퓨터는 연산의 핵심이 되는
연산 장치와 연산을 제어하는 제어 장치로 이루어지는 중앙 처
리 장치(CPU, Central Processing Unit), 데이터 입출력을 위한
입출력 장치, 데이터 저장을 위한 주기억 장치 및 보조기억 장치
등으로 구성된다.
마이크로프로세서와 마이크로컨트롤러
▪ 집적회로 기술의 발달에 힘입어 컴퓨터 역시 소형화, 경량화가 이루어졌고 특히 중앙 처리
장치는 하나의 칩으로 구현이 가능하게 되었다. 이처럼 컴퓨터의 중앙 처리 장치를 하나의
IC(Intergrated Circuit)로 집적 시켜 만든 반도체 소자를 마이크로프로세서라고 부른다. 마
이크로프로세서는 1969년 인텔(Intel)에서 발표한 4비트 마이크로프로세서인 4004에서부
터 시작되었다. 이후 마이크로프로세서는 비약적인 발전을 거듭하여 4004의 경우 2300여
개의 트랜지스터를 사용하여 만들어진 반면, 인텔의 최신 마이크로프로세서인 Core i7은
약 22억 개의 트랜지스터가 사용되어 4004와 비교할 때 약 백만 배의 트랜지스터가 사용
되고 있다. 현재 사용되고 있는 컴퓨터의 중앙 처리 장치 대부분은 마이크로프로세서로 구
현되고 있다. 하지만 엄밀히 말해 마이크로프로세서는 중앙 처리 장치의 여러 형태 중 한
가지로 모든 마이크로프로세서는 중앙 처리 장치이지만, 모든 중앙 처리 장치가 마이크로
프로세서인 것은 아니다.
마이크로프로세서와 마이크로컨트롤러
▪ 마이크로프로세서 중 하나의 칩에 중앙 처리 장치의 기능 뿐만
아니라 일정 용량의 메모리와 입출력 인터페이스까지 내장한 것
을 마이크로프로세서와 구별하여 마이크로컨트롤러라고 부른다.
마이크로컨트롤러는 메인 보드에 해당하는 기능을 하나의 칩으
로 구현한 것으로 볼 수 있다. 마이크로컨트롤러는 하나의 칩에
컴퓨터가 가져야 할 대부분의 기능을 갖추고 있으므로 단일 칩
마이크로컴퓨터 또는 마이컴이라고도 부른다.
아두이노의 모습을 다시 살펴보자.
아두이노 우노 핀들의 각 특성
1. 0번과 1번 핀은 시리얼 통신에 사
용된다. USB로 PC와 통신을 할
수 있다.
2. 2번과 3번 핀은 인터럽트 기능을
갖는다.
3. 3, 5, 6, 9, 10, 11번 핀은 PWM 기
능을 가지며 아날로그 출력을 흉
내낼 수 있다.
▪ PWM 출력(3,5,6,9,10,11번 핀)
디지털 출력핀이 0V/5V 두 가지 값만
을 가질수 있는데 비해서 아날로그
출력핀은 0V~5V사이의 전압 값(256
단계)을 가질 수 있다. 엄밀히 얘기하
면 PWM방식으로 동작하므로 순수
아날로그 방식은 아니다.
아두이노 우노 핀들의 각 특성
▪ 아날로그 입력 핀(A0~A5)
외부의 물리적인 값을 읽어들이고 주로
센서(sensor)와 연결하여 사용된다. 센서
를 통해 읽은 전압값은 0에서 1023 사이
의 숫자로 변환된다. 기준 전압은 5V 이지
만 1.1V의 내부 전압이 사용될 수 있으며
AREF핀으로 기준 전압을 직접 인가할 수
도 있다.
그리고 아날로그 핀은 디지털 입/출력 핀
으로도 사용할 수 있다.
▪ 인터럽트 기능(2,3번 핀)
2번핀과 3번핀은 인터럽트(interrupt) 기
능을 가진다. 인터럽트 처리(interrupt
handling)라는 것은 이벤트를 처리하는
데 사용되는 기능으로서 특정한 신호가
발생했을 때 정해진 동작을 수행하여야
하는 경우 사용되는 방식이다. 예를 들어
서 버튼이 눌려진 시점에서 (또는 떼어진
시점에서) 어떤 작업을 수행해야 하는 경
우다.
아두이노 우노 핀들의 각 특성
▪ 다른 기기와의 통신
시리얼 통신 : 0번, 1번 핀
SPI 통신 : ICSP 헤더핀
TWI (I2C) 통신 : A0, A1 핀
시리얼 통신 방식 외에는 일반적으로 사
용 빈도가 낮지만 기기간 통신이나 일대
다 통신을 하는 경우 SPI, TWI 통신이 널
리 사용
▪ 그 외
아두이노 우노 보드는 3.3V의 전압도 공
급할 수 있다. 이는 USB만 연결한 경우도
마찬가지이다. AREF 핀은 아날로그 핀의
기준 전압을 설정하는 용도로 사용된다.
여러 종류의 아두이노
▪ 우노(uno), 나노(nano) / 프로(pro), 미니(mini), 프로미니(pro
mini)
이 다섯 가지 보드는 모두 ATmega328p 라는 프로세서를 기반으
로 한 보드들이므로 코어 부분은 모두 동일하다. 다만 크기를 작
게 만들거나 또는 양산을 위해서 USB통신부가 제거되었거나 하는
부분이 다를 뿐이다.
여러 종류의 아두이노
아두이노 우노(uno)
아두이노 우노는 가장 많이 사용되는 기
본적인 아두이노 보드이다. 이 보드의 핀
배열이 거의 표준과 같이 사용된다. 2017
년 현재 세 번째 버전인 우노 R3 가 유통
되고 있다.
나노(nano)
아두이노 나노(nano)는 우노와 거의 동일
한 구성을 가지고 있다. 빵판에서 실험할
수 있도록 작은 크기와 핀배열을 가진다.
여러 종류의 아두이노
프로와 프로 미니
다량의 완성품에 장착하기 용이하도록 소형화시키고 usb시리얼 변환 칩을 제
거한 제품이다. 따라서 프로그래밍을 위한 별도의 usb시리얼 변환기가 필요하
다. Atmega328 (혹은 Atmega168) 기반으로서 아두이노 우노와 거의 동일한
스펙을 가진다.
여러 종류의 아두이노
레오나르도(leonardo)
레오나르도 보드는 USB기능이 내장된
atmega32u4 를 메인 프로세서로 사용한
다. (이에 반해 우노 보드는 usb 통신을
위해서 메인 프로세서와 별도의 칩을 사
용한다.) 따라서 프로그램 다운로드와 시
리얼통신 포트가 독립적으로 동작된다.
키보드/마우스/조이스틱과 같은 주변기기
로 인식시킬 수 있어서 활용도가 높다.
마이크로(micro)
아두이노 마이크로는 레오나르도 보드와
동일한 프로세서를 사용한 소형 보드.
여러 종류의 아두이노
메가 2560 / 메가 ADK
프로세서로 ATmgea2560 을 사용하여 우노 보드보다 기능과 핀수가 많은 보드이다.
여러 종류의 아두이노
두에 (due)
다른 아두이노 제품들이 8-bit 마이크로
콘트롤러인 AVR 기반인 것과 달리 아두
이노 두에는 32-bit ARM core 프로세서
를 사용한다. 기능과 성능이 높고 핀 수가
매우 많아서 보다 전문적인 제품 개발과
연구 목적으로 사용할 수 있다.
제로 (zero)
Atmel사와 아두이노가 공동 개발한 것으로
프로세서는 AVR 이 아니라 ATSAMD21 이라는
ARM 계열의 32비트 프로세서를 채용하였다.
48MHz 의 클럭 주파수로 동작하는데 이것만 놓고
보면 아두이노 우노 성능의 3배이다.
상상이 현실로 이루어진다
어린 시절 하던 엉뚱한 상상들
정말 상상일 뿐이었을까..?
스티브 잡스의 명언
평범한 사람들이 만든 세상- “생각을 진짜 현실로 만든 사람들”
• 그런데 , geek 의 경계가 사라지고 있다.
• GNU프로젝트
GNU 프로젝트는 누구나 자유롭게 "실행, 복사, 수정, 배포"할 수
있고, 누구도 그런 권리를 제한하면 안 된다는 사용 허가권
(License) 아래 소프트웨어를 배포한다. 카피레프트로 불리는 이런
생각은 GPL(GNU 일반 공중 사용 허가서)에 나타나 있다.
GNU 프로젝트
GNU는 "GNU는 유닉스가 아니다."란 의미를 갖는 영어 문장 "GNU's Not UNIX"의 약자로, 원래의
문장 안에 자신이 이미 들어 있는 재귀 약자이다. 유닉스는 이미 널리 쓰이던 독점 소프트웨어 운
영 체제로, 유닉스의 아키텍처는 기술적으로 믿을만 한 것으로 증명되어 있어, GNU 시스템은 유닉
스와 호환될 수 있도록 만들어졌다. 유닉스 아키텍처는 개별적인 요소들이 따로 따로 작성되는 것
을 허용한다.
유닉스 형태의 운영체제란, 애플리케이션, 라이브러리, 개발도구, 게임들을 포함한 수 많은 프로그
램들의 모음을 말한다. 1984년 1월에 GNU는 GNU 프로젝트라는 이름으로 개발이 시작 되었다.
GNU 프로젝트의 원조로 GNU의 수 많은 프로그램들이 발표 되었다. 이를 GNU 패키지라고 한다.
유닉스와 유사한 시스템에서 하드웨어와 통신하고 자원을 관리하는 프로그램을 커널이라고 한다.
GNU 선언문에서, 리처드 스톨만은 "기본적인 커널은 있지만 유닉스를 흉내내려면 아직 더 많은 기
능이 필요하다"라고 했다.
GNU 프로젝트
1991년에 리누스 토르발스는 유닉스 호환의 리눅스 커널을 작성하여 GPL 라이선스 아
래에 배포했다. 다른 여러 프로그래머들은 인터넷을 통해 리눅스를 더욱 발전시켰
다. 1992년 리눅스는 GNU 시스템과 통합되었고, 이로써 완전한 공개 운영 체제가 탄생
되었다. GNU 시스템들 가운데 가장 흔한 것이, "GNU/리눅스" 또는 "리눅스 배포판"이
라고 불리는 바로 이 시스템이다.
또한, 비공개 유닉스 시스템에도 GNU의 구성 요소들이 본래의 유닉스 프로그램을 대신
하여 들어 있는 경우도 많다. 이는 GNU 프로젝트를 통해 쓰여진 프로그램들이 질적으
로 우수하다는 사실을 증명한다. 종종, 이런 구성 요소들은 "GNU 툴"로 불리기도 한다.
다수의 GNU 프로그램은 마이크로소프트 윈도나 맥 OS X 등으로 포팅되기도 했다.
오픈 소스의 힘
오픈소스 : 무료로 정보를 공개함으로써 공학의 대중화를 견인.
웹의 발달 : 장소와 시간, 조직의 경계를 흐릿하게 만들고 있다.
반도체의 급격한 발전 : 고성능의 집약된 기술이 저가로 대중화.
특정 학교, 학과, 회사에 가지 않아도 대중적인 개발을
‘집’에서 ‘혼자’서도 할 수 있게 된 세상
오픈소스와 빅데이터가 불러오는 지각 변동
3D 프린터
안드로이드의 앱 개발
클라우드(나아가 포그), 그리고 API
빅데이터
블록체인
한편에서는, 아두이노와 라즈베리파이, 비글본과 같은
OSHW (Open Source Hardware)의 출현
오픈 소스 하드웨어의 원칙 1.0
오픈 소스 하드웨어는 누구나 이 디자인이나 이 디자인에 근거한 하드웨어를 배우고, 수
정하고, 배포하고, 제조하고 팔 수 있는 그 디자인이 공개된 하드웨어이다. 하드웨어를
만들기 위한 디자인 소스는 그것을 수정하기에 적합한 형태로 구할 수 있어야 한다. 오
픈 소스 하드웨어는 각 개인들이 하드웨어를 만들고 이 하드웨어의 사용을 극대화 하기
위하여, 쉽게 구할 수 있는 부품과 재료, 표준 가공 방법, 개방된 시설, 제약이 없는 콘텐
트 그리고 오픈 소스 디자인 툴을 사용하는 것이 이상적이다. 오픈 소스 하드웨어는 디
자인을 자유롭게 교환함으로써 지식을 공유하고 상용화를 장려하여 사람들이 자유롭게
기술을 제어할 수 있도록 한다.
누가 먼저 시작했나?
▪ 예술가들을 위해 – 관객과의 인터렉티브 아트를 위해 개발.
▪ 학생들에게 좀 더 쉽게 가르치기 위한 플랫폼으로.
▪ 평범한 보통 사람들의 취미로 발전하고 있음.
▪ 그리고 당신.
아두이노로 초급에서 만들 수 있는 프로젝트들
주차시 후방 접촉 경고기
온도 변화를 알려주는
스마트 샤워기
아두이노로 초급에서 만들 수 있는 프로젝트들
핸드폰 블루투스로
무선 조작하는 선풍기
Rc카
아두이노로 초급에서 만들 수 있는 프로젝트들
조이스틱 게임기
가까이 가면 저절로 열리는
스마트 휴지통
아두이노로 초급에서 만들 수 있는 프로젝트들
우리집 방범 시스템 여러가지 인터렉티브 장난감
아두이노로 초급에서 만들 수 있는 프로젝트들
도트 매트릭스 이미지 작품 LCD를 이용한 여러가지 측정기
중급 이상에서 만들 수 있는 프로젝트들
날씨 tempescope 자율 주행 rc카
중급 이상에서 만들 수 있는 프로젝트들
펌프를 이용한 자동급수 식물 가속도 센서를 이용한 작품
중급 이상에서 만들 수 있는 프로젝트들
LED 매트릭스 탁자 픽셀 아트 작품
오늘 만들 것은?
조
명
이
있
는
오
너
먼
트
조명 빛깔이 변하는 오나먼트
▪ 뭐부터 생각해야 할까?
3색 LED (RGB LED)
빛의 3원색을 이용해 다양한 색의 빛을 만든다
여러가지 빛색상의 RGB값
같이 생각해 보아요
▪ 불을 켜고,
컬러를 변하게 해보자.
▪ 어떻게?
아두이노 자체 함수이용
digitalWrite (핀,HIGH/LOW)
analogWrite(핀,출력 숫자값)
▪ 점멸 기능을 줘보자.
▪ 어떻게?
▪ for문과 delay(ms초)를 이용
조명과 어울리는 외관 아이디어를 각자 구상해 보자!!
analogWrite과 PWM(펄스 폭 변조)
▪ analogWrite(핀번호,0~255);
▪ 펄스 폭 변조란?
▪ 출력되는 전압값을 일정한 비율
(duty)동안은 High를 유지하고, 나
머지는 Low 를 출력하여 아래와 같
은 사각파의 출력을 만들어 내는
데 , PWM 을 사용하면 0V 와 5V
사이의 아날로그 값을 모사할 수도
있으며 ,제어 및 통신에서도 많이
사용됩니다 .
회로 구성은?
LED
PWM 기능이
있는 디지털 핀에
RGB를 하나씩
연결한다.
가장 긴 다리는
GND에 연결.
그런데 회로 구성에 앞서 필요한 일
▪ LED의 전압강하 합산에 필요한 저항을
계산해 보자.
LED는 내부저항이 아주 낮아서 외부저항을
사용해 전류가 흐르는 것을 제어하지 않으
면 너무 높은 전압이 인가되고 높은 전류가
흐르기 때문에, 타버리게 된다. (아두이노 디
지털 핀의 전압값 5V 전류값 40mA)
LED가 적당한 빛을 내려면 약 10mA가 필요
하고, 양극 사이의 전압차는 항상 2V가 존재
하는 성질이 있다. 따라서 저항을 통해 전압
강하 시켜줘야 하는 값은 3V이다.
▪ V=IR (옴의 법칙)
저항을 통해 전압강하 되어야 할 전압값 :
3V
▪ 3(V)=0.010(A) * R
▪ R=300 옴
그런데 표준 생산되는 저항값은 300이 없고
270,220 옴 등이 있다. 따라서 LED는
5~30mA의 전류값 에서는 꺼지거나 타지
않고 작동하므로 220옴이나 270옴 짜리를
사용해도 무방하다.
자 이제 저항과 함께 회로 구성을 해보자.
LED
PWM 기능이
있는 디지털핀에
RGB를 하나씩
연결한다.
가장 긴 다리는
GND에 연결.
LED-함수 입력에 따른 색깔 변화 관찰
▪ RGB color hexagon 표 등에서 마음에 드는 컬러의 RGB값을 대
입하여 직접 색깔 변화를 줘보자.
▪ for문을 이용한 점멸 기능 함수를 함께 살펴보자.
시리얼 통신을 해보자
▪ 시리얼 통신(serial communication)은 기기들간 데이터를 주고 받는
방법 중 하나인데 병렬 통신 (parallel communication) 방식에 비해서
통신선의 갯수가 적다는 장점이 있다. 아두이노는 UART (universal
asynchronous receiver and transmitter), SPI, I2C 방식의 시리얼 통신
을 지원하는데 이중 UART는 주로 아두이노와 PC간의 통신을 하는데
사용된다. 아두이노는 하나 이상의 UART 통신기가 내장되어 있는데
라이브러리와 IDE에 내장된 터미널(terminal, 주고 받는 데이터를 확
인할 수 있는 프로그램)을 이용하면 손쉽게 PC와의 통신을 수행할 수
있다.
시리얼 통신을 해보자
▪ 아두이노 우노의 경우 0번과 1번핀이 시리얼 통신에 사용된다. 이 핀들은 내부적으로 USB
통신을 담당하는 칩과 연결되어서 USB신호로 변환된 후 PC에 전달된다. 반대로 PC에서
보내지는 USB신호는 이 칩에서 시리얼 통신 신호로 변환되어 아두이노의 AVR에 전달된다.
따라서 만약 아두이노가 PC와의 통신을 수행하고 있다면 이 핀들을 다른 용도로 사용하면
안된다. 그리고 통신을 수행할 때에는 TX, RX라고 마킹된 LED가 깜빡인다. 일단 사용자는
아두이노와 PC간에 USB케이블로 연결하면 통신 실습을 할 준비가 끝나게 된다.
▪ 시리얼 통신에 사용되는 두 개의 핀과 usb변환 칩
▪ 내부적으로 USART 신호는 USB신호로 변환되어 PC에 전송된다.
▪ 출처: http://studymake.tistory.com/161 [스터디메이크]
시리얼 통신을 해보자
▪ Serial.begin(9600);
▪ Serial.print(“넣고싶은 글자 : “);
▪ Serial.println(Serial.read());
▪ 연산값을 변수에 저장하여 시리얼 모니터에 출력해보자.
즐거우셨나요?
내 안의
1%의 영감을 느끼셨나요?
그러면
이제 99%의 디버깅을
우리가 함께
해 나가면 됩니다 :)

Más contenido relacionado

Similar a [엄마정치 메이커팀] 첫 만남

오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdfTae wook kang
 
Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱Tae wook kang
 
차세대기기(0416)
차세대기기(0416)차세대기기(0416)
차세대기기(0416)hanfen
 
처세대 기기(0416)
처세대 기기(0416)처세대 기기(0416)
처세대 기기(0416)hanfen
 
신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노sookmyungvisual
 
논리적 사고를 향상시키는 창의설계 코딩
논리적 사고를 향상시키는 창의설계 코딩논리적 사고를 향상시키는 창의설계 코딩
논리적 사고를 향상시키는 창의설계 코딩봉조 김
 
학교장리더십(피지컬컴퓨팅)
학교장리더십(피지컬컴퓨팅)학교장리더십(피지컬컴퓨팅)
학교장리더십(피지컬컴퓨팅)gongdigi24
 
아두이노기초 오픈강의1
아두이노기초 오픈강의1아두이노기초 오픈강의1
아두이노기초 오픈강의1성국 임
 
Vm ubiqwindow (kor)-1031
Vm ubiqwindow (kor)-1031Vm ubiqwindow (kor)-1031
Vm ubiqwindow (kor)-1031VM KOREA
 
라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기Circulus
 
4차 산업혁명과 소프트웨어 강의
4차 산업혁명과 소프트웨어 강의 4차 산업혁명과 소프트웨어 강의
4차 산업혁명과 소프트웨어 강의 Hakyong Kim
 
Start io t_with_raspberrypi
Start io t_with_raspberrypiStart io t_with_raspberrypi
Start io t_with_raspberrypiYeonah Ki
 
초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)
초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)
초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)brainerymakers
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoSeokjun Kim
 
숙명여중 2015.07.09 진로 탐색 강의 by 임은진
숙명여중 2015.07.09 진로 탐색 강의 by 임은진숙명여중 2015.07.09 진로 탐색 강의 by 임은진
숙명여중 2015.07.09 진로 탐색 강의 by 임은진Eun-Jin Im
 
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422봉조 김
 
스마트 어항 도우미 최종 ppt.pptx
스마트 어항 도우미 최종 ppt.pptx스마트 어항 도우미 최종 ppt.pptx
스마트 어항 도우미 최종 ppt.pptxssusera326a1
 
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서봉조 김
 

Similar a [엄마정치 메이커팀] 첫 만남 (20)

오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
 
Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱
 
차세대기기(0416)
차세대기기(0416)차세대기기(0416)
차세대기기(0416)
 
차세대 기기
차세대 기기차세대 기기
차세대 기기
 
처세대 기기(0416)
처세대 기기(0416)처세대 기기(0416)
처세대 기기(0416)
 
차세대기기
차세대기기차세대기기
차세대기기
 
신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노신간안내 말하고 듣고 대화하는 Physical computing 아두이노
신간안내 말하고 듣고 대화하는 Physical computing 아두이노
 
논리적 사고를 향상시키는 창의설계 코딩
논리적 사고를 향상시키는 창의설계 코딩논리적 사고를 향상시키는 창의설계 코딩
논리적 사고를 향상시키는 창의설계 코딩
 
학교장리더십(피지컬컴퓨팅)
학교장리더십(피지컬컴퓨팅)학교장리더십(피지컬컴퓨팅)
학교장리더십(피지컬컴퓨팅)
 
아두이노기초 오픈강의1
아두이노기초 오픈강의1아두이노기초 오픈강의1
아두이노기초 오픈강의1
 
Vm ubiqwindow (kor)-1031
Vm ubiqwindow (kor)-1031Vm ubiqwindow (kor)-1031
Vm ubiqwindow (kor)-1031
 
라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기
 
4차 산업혁명과 소프트웨어 강의
4차 산업혁명과 소프트웨어 강의 4차 산업혁명과 소프트웨어 강의
4차 산업혁명과 소프트웨어 강의
 
Start io t_with_raspberrypi
Start io t_with_raspberrypiStart io t_with_raspberrypi
Start io t_with_raspberrypi
 
초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)
초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)
초중고 교사들을 위한 학교 메이커교육 세미나 - 학교에서의 메이커 운동 (과천국립과학관 조춘익 연구사)
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
숙명여중 2015.07.09 진로 탐색 강의 by 임은진
숙명여중 2015.07.09 진로 탐색 강의 by 임은진숙명여중 2015.07.09 진로 탐색 강의 by 임은진
숙명여중 2015.07.09 진로 탐색 강의 by 임은진
 
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
과천 디지털 창작집단 첫 모임 - 메이커 운동 자료 20160422
 
스마트 어항 도우미 최종 ppt.pptx
스마트 어항 도우미 최종 ppt.pptx스마트 어항 도우미 최종 ppt.pptx
스마트 어항 도우미 최종 ppt.pptx
 
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
Aircleaner 20190616 - 미세먼지 공기청정기 메이커활동 제안서
 

[엄마정치 메이커팀] 첫 만남

  • 1. 첫 만남 우리들, 그리고 아두이노와의 첫 만남
  • 2. 어떻게 만들어보고 싶은 마음이 생겼는지? ▪ 재미 ▪ 영감 ▪ 성장 ▪ 불안감 ▪ 새로운 세상 ▪ 변화. 공동체의 방향
  • 3. 코딩은 정말 수학, 논리적 사고가 가장 중요한가? ▪ 퍼즐을 맞추는 방식 ▪ 회화를 그리는 과정 ▪ 자연물에 조각해 나가는 과정 ▪ 수학은 발명일까, 발견일까? 코딩 예술 수학 발상(창의) ○ - 진행(추동력) △ △ 디버깅 - ○
  • 4. 에디슨 왈 : 1%의 영감과 99%의 노력 (아두이노 버전) => 1%의 영감과 99%의 디버깅 1%의 영감이 먼저 필요함 그렇다고 99%의 디버깅이 없어도 되는 건 아님 단, 내 작품의 연출자는 바로 ”나”란 사실!
  • 5. 아두이노의 특징 (마이크로컨트롤러) 모니터, 키보드, 마우스가 없다 • 컴퓨터에서 작성된 프로그램을 연결된 아두이노에 업로드해서 사용한다. ADC(Analog Digital Converter)가 있다 • 센서가 읽어온 값이 아날로그일 경우, 읽을 수 있도록 디지털로 변환해준다. 시리얼 통신을 한다 • 켈로그 시리얼 아님 • 아두이노가 다루는 여러 값들을 컴퓨터 등에서 모니터로 볼 수 있는 채널인 셈. 작은 전류값에도 민감하다(mA 단위) • 회로 구성시 전류에 주의하지 않으면 핀이나 내부 구조가 손상될 수 있다. PWM출력이 가능하다 • 출력 전압을 펄스로 쪼개어 출력, 마치 전압 크기가 바뀌는 듯한 효과 ‘스케치’로 외부 라이브러리, 자체 함수 등을 사용해 프로그램한다 • 라이브러리란 마치 주석과 비슷하달까? • 말그대로 “도서관"의 책들과 같다
  • 6. 아날로그 vs 디지털 아날로그: 값이 연속적이다. 온도, 빛의 밝기, 바람의 세기, 습도, 누르는 힘, 무게(중력)의 변화, 현실에서 실제 물체의 부피, 자기장의 크기, 시간의 흐름 등등.. 디지털: 컴퓨터 안에서 0과 1로 처리하는 정보 ▪ 왜 하필 0과 1? – 전압으로 신호 전달. ▪ 반도체 트렌지스터 – 0 아니면 1로 정 보를 처리. ▪ 수많은 연산(사칙&논리)은 모두 0과 1 의 조합으로 이루어진다. ▪ 값이 비연속적이다.
  • 7.
  • 8. 반도체의 의미 원래는 거의 전기가 통하지 않지만 빛이나 열, 또는 불순물을 가해주면 전기가 통하고 또한 조절도 할 수 있는 물질 어떻게 조작하느냐에 따라 전기 흐름을 조절할 수 있다는 점을 응용해 전류가 흐르는가 아닌가에 따라 2 가지 상태를 나타낼 수 있다. (전압 인가 혹은 0V) 숫자로 표현하면 0 혹은 1이 되며, 이를 디지털(digital)이라 말한다. ▪ 디지털 기기 – 반도체의 특성을 이용해 정보를 0과 1의 조합으로 기록하고 처리하는 장치.
  • 9. 진공관, 트랜지스터, 그리고 IC ▪ 진공관 (vacuum tube) 초기 통신기술 연구 단계에서 장거리를 이동하는 도중에 전기신호가 약 해지는 현상이 나타났고, 중간에 전기 신호를 증폭시키기 위해 반도체를 사용할 수 있다는 것이 알려지고, 신호 증폭을 위해 발명된 것이 진공관 이다. 증폭 및 감쇠 시킬 수 있다면, 아예 신호를 계속 유지하거나 막을 수도 있으므로 2가지 상태를 나타낼 수 있다. 다만, 처리 속도는 그리 빠르지 않음. (ms, 10-3 sec 이하)
  • 10. 진공관, 트랜지스터, 그리고 IC ▪ 트랜지스터 (transister) 1948년, 벨 전화 연구소의 과학자 윌리엄 쇼클리, 존 바딘과 윌터 브래튼이 트랜지스터를 발명하고 노벨상을 수상. 진공관에 비해 크기가 매우 작고, 안정적이며, 처리 속도가 1,000 배 이상 빠르다. (㎲, 10-6 sec 이하)
  • 11. 진공관, 트랜지스터, 그리고 IC ▪ IC (Integrated Chip) 미국 Texas Instrument I社의 기술자, 잭 킬비(Jack Kilby)가 집적 회로(IC) 발명. 손톱 수준의 크기의 칩(chip)에 수만 ~ 수십억 개의 트랜지스터나 다른 전자부품을 집합시킨 것. 처리 속도가 더욱 빨라졌다. (ns, 10-9sec 이하)
  • 13. 마이크로프로세서와 마이크로컨트롤러 ▪ 아두이노 우노는 아트멜(Atmel)의 마이크로컨트롤러인 ATmega328을 사용하여 만들어진 보드이다. 그렇다면 마이크로 컨트롤러란 무엇일까?
  • 14. 마이크로프로세서와 마이크로컨트롤러 ▪ 먼저 컴퓨터의 구조를 살펴보자. 컴퓨터는 연산의 핵심이 되는 연산 장치와 연산을 제어하는 제어 장치로 이루어지는 중앙 처 리 장치(CPU, Central Processing Unit), 데이터 입출력을 위한 입출력 장치, 데이터 저장을 위한 주기억 장치 및 보조기억 장치 등으로 구성된다.
  • 15. 마이크로프로세서와 마이크로컨트롤러 ▪ 집적회로 기술의 발달에 힘입어 컴퓨터 역시 소형화, 경량화가 이루어졌고 특히 중앙 처리 장치는 하나의 칩으로 구현이 가능하게 되었다. 이처럼 컴퓨터의 중앙 처리 장치를 하나의 IC(Intergrated Circuit)로 집적 시켜 만든 반도체 소자를 마이크로프로세서라고 부른다. 마 이크로프로세서는 1969년 인텔(Intel)에서 발표한 4비트 마이크로프로세서인 4004에서부 터 시작되었다. 이후 마이크로프로세서는 비약적인 발전을 거듭하여 4004의 경우 2300여 개의 트랜지스터를 사용하여 만들어진 반면, 인텔의 최신 마이크로프로세서인 Core i7은 약 22억 개의 트랜지스터가 사용되어 4004와 비교할 때 약 백만 배의 트랜지스터가 사용 되고 있다. 현재 사용되고 있는 컴퓨터의 중앙 처리 장치 대부분은 마이크로프로세서로 구 현되고 있다. 하지만 엄밀히 말해 마이크로프로세서는 중앙 처리 장치의 여러 형태 중 한 가지로 모든 마이크로프로세서는 중앙 처리 장치이지만, 모든 중앙 처리 장치가 마이크로 프로세서인 것은 아니다.
  • 16. 마이크로프로세서와 마이크로컨트롤러 ▪ 마이크로프로세서 중 하나의 칩에 중앙 처리 장치의 기능 뿐만 아니라 일정 용량의 메모리와 입출력 인터페이스까지 내장한 것 을 마이크로프로세서와 구별하여 마이크로컨트롤러라고 부른다. 마이크로컨트롤러는 메인 보드에 해당하는 기능을 하나의 칩으 로 구현한 것으로 볼 수 있다. 마이크로컨트롤러는 하나의 칩에 컴퓨터가 가져야 할 대부분의 기능을 갖추고 있으므로 단일 칩 마이크로컴퓨터 또는 마이컴이라고도 부른다.
  • 18. 아두이노 우노 핀들의 각 특성 1. 0번과 1번 핀은 시리얼 통신에 사 용된다. USB로 PC와 통신을 할 수 있다. 2. 2번과 3번 핀은 인터럽트 기능을 갖는다. 3. 3, 5, 6, 9, 10, 11번 핀은 PWM 기 능을 가지며 아날로그 출력을 흉 내낼 수 있다. ▪ PWM 출력(3,5,6,9,10,11번 핀) 디지털 출력핀이 0V/5V 두 가지 값만 을 가질수 있는데 비해서 아날로그 출력핀은 0V~5V사이의 전압 값(256 단계)을 가질 수 있다. 엄밀히 얘기하 면 PWM방식으로 동작하므로 순수 아날로그 방식은 아니다.
  • 19. 아두이노 우노 핀들의 각 특성 ▪ 아날로그 입력 핀(A0~A5) 외부의 물리적인 값을 읽어들이고 주로 센서(sensor)와 연결하여 사용된다. 센서 를 통해 읽은 전압값은 0에서 1023 사이 의 숫자로 변환된다. 기준 전압은 5V 이지 만 1.1V의 내부 전압이 사용될 수 있으며 AREF핀으로 기준 전압을 직접 인가할 수 도 있다. 그리고 아날로그 핀은 디지털 입/출력 핀 으로도 사용할 수 있다. ▪ 인터럽트 기능(2,3번 핀) 2번핀과 3번핀은 인터럽트(interrupt) 기 능을 가진다. 인터럽트 처리(interrupt handling)라는 것은 이벤트를 처리하는 데 사용되는 기능으로서 특정한 신호가 발생했을 때 정해진 동작을 수행하여야 하는 경우 사용되는 방식이다. 예를 들어 서 버튼이 눌려진 시점에서 (또는 떼어진 시점에서) 어떤 작업을 수행해야 하는 경 우다.
  • 20. 아두이노 우노 핀들의 각 특성 ▪ 다른 기기와의 통신 시리얼 통신 : 0번, 1번 핀 SPI 통신 : ICSP 헤더핀 TWI (I2C) 통신 : A0, A1 핀 시리얼 통신 방식 외에는 일반적으로 사 용 빈도가 낮지만 기기간 통신이나 일대 다 통신을 하는 경우 SPI, TWI 통신이 널 리 사용 ▪ 그 외 아두이노 우노 보드는 3.3V의 전압도 공 급할 수 있다. 이는 USB만 연결한 경우도 마찬가지이다. AREF 핀은 아날로그 핀의 기준 전압을 설정하는 용도로 사용된다.
  • 21. 여러 종류의 아두이노 ▪ 우노(uno), 나노(nano) / 프로(pro), 미니(mini), 프로미니(pro mini) 이 다섯 가지 보드는 모두 ATmega328p 라는 프로세서를 기반으 로 한 보드들이므로 코어 부분은 모두 동일하다. 다만 크기를 작 게 만들거나 또는 양산을 위해서 USB통신부가 제거되었거나 하는 부분이 다를 뿐이다.
  • 22. 여러 종류의 아두이노 아두이노 우노(uno) 아두이노 우노는 가장 많이 사용되는 기 본적인 아두이노 보드이다. 이 보드의 핀 배열이 거의 표준과 같이 사용된다. 2017 년 현재 세 번째 버전인 우노 R3 가 유통 되고 있다. 나노(nano) 아두이노 나노(nano)는 우노와 거의 동일 한 구성을 가지고 있다. 빵판에서 실험할 수 있도록 작은 크기와 핀배열을 가진다.
  • 23. 여러 종류의 아두이노 프로와 프로 미니 다량의 완성품에 장착하기 용이하도록 소형화시키고 usb시리얼 변환 칩을 제 거한 제품이다. 따라서 프로그래밍을 위한 별도의 usb시리얼 변환기가 필요하 다. Atmega328 (혹은 Atmega168) 기반으로서 아두이노 우노와 거의 동일한 스펙을 가진다.
  • 24. 여러 종류의 아두이노 레오나르도(leonardo) 레오나르도 보드는 USB기능이 내장된 atmega32u4 를 메인 프로세서로 사용한 다. (이에 반해 우노 보드는 usb 통신을 위해서 메인 프로세서와 별도의 칩을 사 용한다.) 따라서 프로그램 다운로드와 시 리얼통신 포트가 독립적으로 동작된다. 키보드/마우스/조이스틱과 같은 주변기기 로 인식시킬 수 있어서 활용도가 높다. 마이크로(micro) 아두이노 마이크로는 레오나르도 보드와 동일한 프로세서를 사용한 소형 보드.
  • 25. 여러 종류의 아두이노 메가 2560 / 메가 ADK 프로세서로 ATmgea2560 을 사용하여 우노 보드보다 기능과 핀수가 많은 보드이다.
  • 26. 여러 종류의 아두이노 두에 (due) 다른 아두이노 제품들이 8-bit 마이크로 콘트롤러인 AVR 기반인 것과 달리 아두 이노 두에는 32-bit ARM core 프로세서 를 사용한다. 기능과 성능이 높고 핀 수가 매우 많아서 보다 전문적인 제품 개발과 연구 목적으로 사용할 수 있다. 제로 (zero) Atmel사와 아두이노가 공동 개발한 것으로 프로세서는 AVR 이 아니라 ATSAMD21 이라는 ARM 계열의 32비트 프로세서를 채용하였다. 48MHz 의 클럭 주파수로 동작하는데 이것만 놓고 보면 아두이노 우노 성능의 3배이다.
  • 27. 상상이 현실로 이루어진다 어린 시절 하던 엉뚱한 상상들 정말 상상일 뿐이었을까..?
  • 28. 스티브 잡스의 명언 평범한 사람들이 만든 세상- “생각을 진짜 현실로 만든 사람들” • 그런데 , geek 의 경계가 사라지고 있다. • GNU프로젝트 GNU 프로젝트는 누구나 자유롭게 "실행, 복사, 수정, 배포"할 수 있고, 누구도 그런 권리를 제한하면 안 된다는 사용 허가권 (License) 아래 소프트웨어를 배포한다. 카피레프트로 불리는 이런 생각은 GPL(GNU 일반 공중 사용 허가서)에 나타나 있다.
  • 29. GNU 프로젝트 GNU는 "GNU는 유닉스가 아니다."란 의미를 갖는 영어 문장 "GNU's Not UNIX"의 약자로, 원래의 문장 안에 자신이 이미 들어 있는 재귀 약자이다. 유닉스는 이미 널리 쓰이던 독점 소프트웨어 운 영 체제로, 유닉스의 아키텍처는 기술적으로 믿을만 한 것으로 증명되어 있어, GNU 시스템은 유닉 스와 호환될 수 있도록 만들어졌다. 유닉스 아키텍처는 개별적인 요소들이 따로 따로 작성되는 것 을 허용한다. 유닉스 형태의 운영체제란, 애플리케이션, 라이브러리, 개발도구, 게임들을 포함한 수 많은 프로그 램들의 모음을 말한다. 1984년 1월에 GNU는 GNU 프로젝트라는 이름으로 개발이 시작 되었다. GNU 프로젝트의 원조로 GNU의 수 많은 프로그램들이 발표 되었다. 이를 GNU 패키지라고 한다. 유닉스와 유사한 시스템에서 하드웨어와 통신하고 자원을 관리하는 프로그램을 커널이라고 한다. GNU 선언문에서, 리처드 스톨만은 "기본적인 커널은 있지만 유닉스를 흉내내려면 아직 더 많은 기 능이 필요하다"라고 했다.
  • 30. GNU 프로젝트 1991년에 리누스 토르발스는 유닉스 호환의 리눅스 커널을 작성하여 GPL 라이선스 아 래에 배포했다. 다른 여러 프로그래머들은 인터넷을 통해 리눅스를 더욱 발전시켰 다. 1992년 리눅스는 GNU 시스템과 통합되었고, 이로써 완전한 공개 운영 체제가 탄생 되었다. GNU 시스템들 가운데 가장 흔한 것이, "GNU/리눅스" 또는 "리눅스 배포판"이 라고 불리는 바로 이 시스템이다. 또한, 비공개 유닉스 시스템에도 GNU의 구성 요소들이 본래의 유닉스 프로그램을 대신 하여 들어 있는 경우도 많다. 이는 GNU 프로젝트를 통해 쓰여진 프로그램들이 질적으 로 우수하다는 사실을 증명한다. 종종, 이런 구성 요소들은 "GNU 툴"로 불리기도 한다. 다수의 GNU 프로그램은 마이크로소프트 윈도나 맥 OS X 등으로 포팅되기도 했다.
  • 31. 오픈 소스의 힘 오픈소스 : 무료로 정보를 공개함으로써 공학의 대중화를 견인. 웹의 발달 : 장소와 시간, 조직의 경계를 흐릿하게 만들고 있다. 반도체의 급격한 발전 : 고성능의 집약된 기술이 저가로 대중화. 특정 학교, 학과, 회사에 가지 않아도 대중적인 개발을 ‘집’에서 ‘혼자’서도 할 수 있게 된 세상
  • 32. 오픈소스와 빅데이터가 불러오는 지각 변동 3D 프린터 안드로이드의 앱 개발 클라우드(나아가 포그), 그리고 API 빅데이터 블록체인 한편에서는, 아두이노와 라즈베리파이, 비글본과 같은 OSHW (Open Source Hardware)의 출현
  • 33. 오픈 소스 하드웨어의 원칙 1.0 오픈 소스 하드웨어는 누구나 이 디자인이나 이 디자인에 근거한 하드웨어를 배우고, 수 정하고, 배포하고, 제조하고 팔 수 있는 그 디자인이 공개된 하드웨어이다. 하드웨어를 만들기 위한 디자인 소스는 그것을 수정하기에 적합한 형태로 구할 수 있어야 한다. 오 픈 소스 하드웨어는 각 개인들이 하드웨어를 만들고 이 하드웨어의 사용을 극대화 하기 위하여, 쉽게 구할 수 있는 부품과 재료, 표준 가공 방법, 개방된 시설, 제약이 없는 콘텐 트 그리고 오픈 소스 디자인 툴을 사용하는 것이 이상적이다. 오픈 소스 하드웨어는 디 자인을 자유롭게 교환함으로써 지식을 공유하고 상용화를 장려하여 사람들이 자유롭게 기술을 제어할 수 있도록 한다.
  • 34. 누가 먼저 시작했나? ▪ 예술가들을 위해 – 관객과의 인터렉티브 아트를 위해 개발. ▪ 학생들에게 좀 더 쉽게 가르치기 위한 플랫폼으로. ▪ 평범한 보통 사람들의 취미로 발전하고 있음. ▪ 그리고 당신.
  • 35. 아두이노로 초급에서 만들 수 있는 프로젝트들 주차시 후방 접촉 경고기 온도 변화를 알려주는 스마트 샤워기
  • 36. 아두이노로 초급에서 만들 수 있는 프로젝트들 핸드폰 블루투스로 무선 조작하는 선풍기 Rc카
  • 37. 아두이노로 초급에서 만들 수 있는 프로젝트들 조이스틱 게임기 가까이 가면 저절로 열리는 스마트 휴지통
  • 38. 아두이노로 초급에서 만들 수 있는 프로젝트들 우리집 방범 시스템 여러가지 인터렉티브 장난감
  • 39. 아두이노로 초급에서 만들 수 있는 프로젝트들 도트 매트릭스 이미지 작품 LCD를 이용한 여러가지 측정기
  • 40. 중급 이상에서 만들 수 있는 프로젝트들 날씨 tempescope 자율 주행 rc카
  • 41. 중급 이상에서 만들 수 있는 프로젝트들 펌프를 이용한 자동급수 식물 가속도 센서를 이용한 작품
  • 42. 중급 이상에서 만들 수 있는 프로젝트들 LED 매트릭스 탁자 픽셀 아트 작품
  • 44. 조명 빛깔이 변하는 오나먼트 ▪ 뭐부터 생각해야 할까?
  • 45. 3색 LED (RGB LED) 빛의 3원색을 이용해 다양한 색의 빛을 만든다
  • 47. 같이 생각해 보아요 ▪ 불을 켜고, 컬러를 변하게 해보자. ▪ 어떻게? 아두이노 자체 함수이용 digitalWrite (핀,HIGH/LOW) analogWrite(핀,출력 숫자값) ▪ 점멸 기능을 줘보자. ▪ 어떻게? ▪ for문과 delay(ms초)를 이용 조명과 어울리는 외관 아이디어를 각자 구상해 보자!!
  • 48. analogWrite과 PWM(펄스 폭 변조) ▪ analogWrite(핀번호,0~255); ▪ 펄스 폭 변조란? ▪ 출력되는 전압값을 일정한 비율 (duty)동안은 High를 유지하고, 나 머지는 Low 를 출력하여 아래와 같 은 사각파의 출력을 만들어 내는 데 , PWM 을 사용하면 0V 와 5V 사이의 아날로그 값을 모사할 수도 있으며 ,제어 및 통신에서도 많이 사용됩니다 .
  • 49. 회로 구성은? LED PWM 기능이 있는 디지털 핀에 RGB를 하나씩 연결한다. 가장 긴 다리는 GND에 연결.
  • 50. 그런데 회로 구성에 앞서 필요한 일 ▪ LED의 전압강하 합산에 필요한 저항을 계산해 보자. LED는 내부저항이 아주 낮아서 외부저항을 사용해 전류가 흐르는 것을 제어하지 않으 면 너무 높은 전압이 인가되고 높은 전류가 흐르기 때문에, 타버리게 된다. (아두이노 디 지털 핀의 전압값 5V 전류값 40mA) LED가 적당한 빛을 내려면 약 10mA가 필요 하고, 양극 사이의 전압차는 항상 2V가 존재 하는 성질이 있다. 따라서 저항을 통해 전압 강하 시켜줘야 하는 값은 3V이다. ▪ V=IR (옴의 법칙) 저항을 통해 전압강하 되어야 할 전압값 : 3V ▪ 3(V)=0.010(A) * R ▪ R=300 옴 그런데 표준 생산되는 저항값은 300이 없고 270,220 옴 등이 있다. 따라서 LED는 5~30mA의 전류값 에서는 꺼지거나 타지 않고 작동하므로 220옴이나 270옴 짜리를 사용해도 무방하다.
  • 51. 자 이제 저항과 함께 회로 구성을 해보자. LED PWM 기능이 있는 디지털핀에 RGB를 하나씩 연결한다. 가장 긴 다리는 GND에 연결.
  • 52. LED-함수 입력에 따른 색깔 변화 관찰 ▪ RGB color hexagon 표 등에서 마음에 드는 컬러의 RGB값을 대 입하여 직접 색깔 변화를 줘보자. ▪ for문을 이용한 점멸 기능 함수를 함께 살펴보자.
  • 53. 시리얼 통신을 해보자 ▪ 시리얼 통신(serial communication)은 기기들간 데이터를 주고 받는 방법 중 하나인데 병렬 통신 (parallel communication) 방식에 비해서 통신선의 갯수가 적다는 장점이 있다. 아두이노는 UART (universal asynchronous receiver and transmitter), SPI, I2C 방식의 시리얼 통신 을 지원하는데 이중 UART는 주로 아두이노와 PC간의 통신을 하는데 사용된다. 아두이노는 하나 이상의 UART 통신기가 내장되어 있는데 라이브러리와 IDE에 내장된 터미널(terminal, 주고 받는 데이터를 확 인할 수 있는 프로그램)을 이용하면 손쉽게 PC와의 통신을 수행할 수 있다.
  • 54. 시리얼 통신을 해보자 ▪ 아두이노 우노의 경우 0번과 1번핀이 시리얼 통신에 사용된다. 이 핀들은 내부적으로 USB 통신을 담당하는 칩과 연결되어서 USB신호로 변환된 후 PC에 전달된다. 반대로 PC에서 보내지는 USB신호는 이 칩에서 시리얼 통신 신호로 변환되어 아두이노의 AVR에 전달된다. 따라서 만약 아두이노가 PC와의 통신을 수행하고 있다면 이 핀들을 다른 용도로 사용하면 안된다. 그리고 통신을 수행할 때에는 TX, RX라고 마킹된 LED가 깜빡인다. 일단 사용자는 아두이노와 PC간에 USB케이블로 연결하면 통신 실습을 할 준비가 끝나게 된다. ▪ 시리얼 통신에 사용되는 두 개의 핀과 usb변환 칩 ▪ 내부적으로 USART 신호는 USB신호로 변환되어 PC에 전송된다. ▪ 출처: http://studymake.tistory.com/161 [스터디메이크]
  • 55. 시리얼 통신을 해보자 ▪ Serial.begin(9600); ▪ Serial.print(“넣고싶은 글자 : “); ▪ Serial.println(Serial.read()); ▪ 연산값을 변수에 저장하여 시리얼 모니터에 출력해보자.
  • 56. 즐거우셨나요? 내 안의 1%의 영감을 느끼셨나요? 그러면 이제 99%의 디버깅을 우리가 함께 해 나가면 됩니다 :)