본문 바로가기

데이터사이언스/아두이노

아두이노 입문 총정리, 엠블록으로 시작하기, 회로(전류, 전압, 전위)와 저항, 옴의법칙, 디지털과 아날로그 신호알기

IoT란?

각종 사물에 센서와 통신 기능이 있어서 인터넷에 연결되어 사람의 개입없이, 사람에게 가치 있는 서비스를 제공하는 기술

 

피지컬 컴퓨팅이란?

컴퓨터로 처리한 결과를 현실 세계로 출력해주는 컴퓨팅 기술

 

아두이노란?

이탈리아 디자인 전문학교 👉 비전공자도 쉽게 만들 수 있어야 함

아두이노란 입출력 장치를 제어하는 작은 컴퓨터 (단일 보드 마이크로 콘트롤러)

 

아두이노 특징

1. 오픈 하드웨어 - 하드웨어 설계도가 공개되어 있어 제조사가 많아 가격이 저렴

2. 오픈 소스 - 아두이노 프로그래밍 언어(C / C++ 기반)를 사용한 소스 코드가 많아 배우기 쉽고 제어하기 쉬움

3. 다양한 센서 및 엑츄에이터(구동 장치) 지원

4. 빠르고, 간단하고, 쉽게 독립적으로 실행할 수 있는 장치를 만들 수 있음

5. 프로토타입 마드는데 적합 (저렴하고 빠르게)

 

아두이노 우노 보드

아두이노 보드는 여러 가지 종류가 있음

그 중에서도 아두이노 우노 보드는 가장 보편적이면서도 많이 사용하는 보드

컴퓨터에서 코딩 후 보드에 실행파일을 업로드하면 전원이 공급되는 한 업로드한 프로그램을 무한 반복 실행

 

아두이노 우노 보드

 

GND(그라운드) 3개, 아날로그 Input (A0~A5), 디지털 IO (2~13), 5v Input 1개 등 존재

 

아두이노 우노 보드 전원 연결 방법

1. DC 어댑터

2. 배터리를 보드에 직접 연결

3. 9V건전지 + 배럴잭 홀더

4. 컴퓨터의 USB 포트 연결

 

아두이노 통합 개발 환경 (IDE)

1. 아두이노 스케치 사용 (setup()함수, loop()함수) - C / C++ 기반)

2. 블록 코딩 사용 (엔트리, 엠블록 등)

*원래는 스케치를 사용하는 것이 정석이나 중학생까지는 블록 코딩이 더 익숙하기 때문

 

엠블록이란?

장치를 연결하여 AI와 피지컬 컴퓨팅을 체험할 수 있는 블록 코딩 프로그램

Made in China... (아이콘부터가 팬더)

엔트리보다 조금 더 확장성이 좋아서 엠블록을 사용함

스크래치 기반 UI를 가지고 있음

웹 버전과 다운로드 버전이 있음

UI가 스크래치와 그냥 동일하다.

 

엠블록과 아두이노 (우노보드) 연결하기

1. 랩탑에 USB로 아두이노 우노보드 연결

 

2. 엠블록 화면 왼쪽 하단에서 > 장치 > 추가 선택

3. Arduino Uno 선택

 

4. 연결하기 버튼 눌러서 '접속 가능한 모든 기기 표시' 체크 후 연결 선택

5. 연결 완료

 

엠블록의 실행 모드 크게 2가지 (장치 연결 스위치)

1. 업로드 모드

- 아두이노 보드에 실행 파일 업로드
- 별도 전원 연결 시 PC와 연결되지 않아도 사용 가능
- 시리얼 모니터를 이용하고 싶다면 스케치에서 열어야 함

 

2. 라이브 모드

- USB케이블로 아두이노를 연결한 상태에서 실시간으로 코드 테스트 가능 (실시간 디버깅)
- 아두이노와 스프라이트, 변수를 같이 사용할 수 있음
- 펌웨어 업데이트 실행 후 재 연결하여 사용

업로드 모드와 라이브 모드

 

 

회로(Circuit)

- 회로란 전류가 흐를 수 있도록 전선과 전자 부품을 연결하고 구성하는 것
- 아두이노를 동작 시키려면 회로를 만들고 전류가 흐르게 해야 함
- 아두이노의 핀 헤더와 전자부품을 연결하는데 브레드보드와 점퍼선을 사용함

 

전류

- 전류는 전기적 성질을 가진 전하라는 입자의 흐름을 의미

- 전위가 높은 곳에서 낮은곳(GND)으로 흐름

- 단위는 암페어(A)

 

전압

- 전압은 두 지점 사이의 전위 차이

- 단위는 볼트(V)

 

전위

- 전기장 내에서 단위 전하가 가지는 위치 에너지

 

[물레방아 예시]

물이 흐르는 것 > 전류

물이 떨이 떨어지는 높이 > 전압 (전위 차에 의헤 물레방아를 돌리는 힘)

 

저항(Resistance)

- 저항은 전류의 흐름을 방해함으로서 전류의 양을 제어 (전류가 너무 센 경우 적당히 흐르도록 제어)

- 저항이 세면 전류는 적게 흐름

- 단위는 옴(Ω)

 

옴의 법칙

- V = IR

- 두 지점 사이의 도체에 일정한 전위차가 존재할 때, 도체의 저항의 크기와 전류의 크기는 반비례한다.

옴의 법칙에서 V,I 그리고 R (출처: 위키백과)

 

 

적당한 크기의 저항 찾기

- 보통 안전을 위해 계산 값보다 큰 저항을 사용하는 것을 권장

- 아두이노에서 LED 저항은 220~330, 10k Ω (옴)을 많이 사용

- 막대 저항은 극성이 없음 (5V와 GND의 구분 없이 연결 가능)

- 막대 저항의 저항 크기는 띠의 색깔과 개수에 의해 구분 (검갈빨주노초파보회흰)

- 220옴 (빨빨검검), 10k옴 (갈검검빨)

220 옴과 10k 옴 막대 저항

 

직렬과 병렬

1. 직렬

- 각 저항에 흐르는 전류의 세기는 같다.

- 전체 저항의 크기 = Ra + Rb

 

2. 병렬

- 각 저항에 걸리는 전압은 같다.

- 전체 저항의 크기 1 / 1/Ra + 1 /Rb

 

브레드 보드

- 납땜없이 전자회로를 구성할 수 있도록 만든 부품

- 점퍼와이어를 사용해서 연ㅅ결

- 전선과 부품을 꽂을 수 이는 구멍이 일정하게 뚫려 있음

- A, D는 세로로 쭉 연결되어 있고 B, C는 각 5개씩 가로로 연결되어 있는 구조

- A, D는 전원을 공급하기 위한 버스선으로 사용

- B, C에는 부품을 연결

 

브레드보드
점퍼선 (케이블)

 

 

 

디지털과 아날로그 신호

1. 디지털

- 0과 1로 표현하는 신호 (eg. 불을 켠다/끈다)

- 1을 전압 값으로 표현하면 5V, 0은 0V

- 아두이노에서 5V는 High값, 0V는 Lovw값으로 표현됨

 

2. 아날로그

- 시간에 따라 연속적인 값을 갖는 신호

- 0과 1 사이의 값을 표현 (eg. 온도, 습도, 빛의 밝기, 소리 등)

 

회로도 연결 시 주의사항

1. 5V연결선을 제일 나중에 꽂는 것을 권장

2. GPIO 0번과 1번은 가능한 사용하지 않음

    (디지털 핀 0번과 1번은 아두이노가 컴퓨터와 시리얼 통신을 하기위해 사용하므로 에러 발생 가능)