대학교 학생들과 계속 교류하는 기회를 갖고 싶었는데, 좋은 기회가 주어져서 #아두이노 특강을 2일간 진행하였다.
특히, #성결대학교 학생들은 1년간 수업을 함께 하였기에 애정이 많은데, 이후로 여러 모습으로 함께 할 수 있을 듯하여 기대가 되고 감사한 맘이다.
강의를 준비하며 폴더를 뒤적이다 보니, ' #아두이노 , #라즈베리파이 , #아틱 , #IoT프로젝트 ' 등을 주제로 강의한 자료들이 눈에 띈다. 다소 오~올~드~ 한 느낌도 있지만, 누군가에게는 도움이 될 수도 있을 테니, 아낌없이 공유하기로 한다.
이번 회차는 다양한 오픈소스 하드웨어 중 #아두이노 의 특징을 살펴본다.
아두이노 (Arduino)란 무엇인가?
- 오픈소스(H/W, S/W)를 기반으로 하여, 단일 보드 마이크로컨트롤러로 구성된 보드와 관련 개발 도구 및 환경이다.
- 여러 개의 Digital, Analog 입/출력 핀을 제공하며, 센서와 액츄에이터 제어에 사용한다.
- 소스코드를 sketch 프로그램이라 하며, Arduino IDE를 이용하여 개발한다.
우리가 쉽게 접하게 되는 아두이노 보드는 'UNO"라고 하는 표준 보드인데, 그 외 다양한 호환 보드가 있다.
호환 보드의 주요 목록은 홈페이지에서 제공하고 있고, 여기서는 매우 간단히 특징을 정리한다.
ㅇ UNO: 아두이노 보드의 기본 모델 기타, Arduino ADK 를 지원하는 보드 등 다양한 제품이 존재하므로, 'MCU 종류, I/F 특징, 동작 전압' 등을 고려하여 적절한 보드를 선택한다. |
아두이노 UNO의 Product Diagram
사용하려는 보드의 H/W적인 특징을 이해하는 것이 IoT 개발에 중요한데, 특히 핀의 배치, 인가 및 동작 전원, 통신 방식 등이 있다.
가장 중요한 전원 관련 구성
- 전원을 인가할 수 있는 포트와 PIN : Power JACK, USB JACK이 기본이며 '왼쪽의 POWER 영역에 VIN'이 있다.
- 전원을 제공(출력) 할 수 있는 PIN : '왼쪽의 POWER 영역에 3.3V와 5V 출력 핀'이 있다.
- 그라운드(Ground) : '왼쪽의 POWER 영역에 GND 핀 2개'가 있고, 우측 상단에 'GND 핀 1개'가 있다.
- 아두이노의 Data 출력 핀은 5V 레벨로 동작한다. 예를 들면 GPIO 핀 등을 이용하여 신호를 인가하면 '5V가 기본 전압'으로 사용된다. 따라서, 외부 센서 연결 시 주의가 필요하다. 즉, 3.3V 레벨로 동작하는 센서를 연결할 경우 오동작하거나 회로가 망가질 수 있다.
아날로그 입력 핀
- 왼쪽 아래에 'ANALOG IN 핀이 6개'있고, A0 ~ A5를 아날로그 입력 핀 번호로 사용한다.
동기식 직렬 통신 핀
- I2C 통신 : A5 핀을 SCL(클럭), A4 핀을 SDA(데이터)로 하여 I2C 통신을 이용할 수 있다.
- I2C 통신 : 우측 상단에 '28번, 29번'으로 표시된 핀을 각각 SCL, SDA로 하여 I2C 통신을 이용할 수 있다.
- SPI 통신 : 중앙 한단의 '6개의 핀이 모여 있는 곳'을 보면 'MOSI, MISO, SCK 등'을 위한 PIN이 있고, SPI 통신을 지원한다.
- SPI 통신 : 우측 상단의 '6개의 핀이 모여 있는 곳'을 보면 'MOSI, MISO, SCK 등'을 위한 PIN이 있고, SPI 통신을 지원한다.
비동기식 직렬 통신 핀 (일단, UART/Serial 통신)
- 우측 하단에 있는 0번, 1번 핀을 각각 RX, TX로 하여 UART/Serial 통신을 이용할 수 있다.
아두이노에서는 이를 Hardware Serial이라 하고 'USB Port를 이용한 Serial 통신과 함께 동작'힌다. 즉, '동일한 데이터를 송/수신'하므로 데이터 통신과 디버깅 메시지가 섞이지 않도록 주의해야 한다.
GPIO 핀
- 우측에 0~13번의 GPIO핀을 이용한다. 이때 보통 0번 핀과 1번 핀은 Hardware Serial로 이용하므로 2번 핀 이후를 사용하게 된다.
아날로그 출력 핀 (PWN 이용)
- GPI로 이용하는 핀 중 '3, 5, 6, 9, 10, 11' 번 핀을 보면 물결(~) 표시가 있다. 이것은 PWM을 지원하는 것으로 디지털 출력을 조절하여 '아날로그 출력 효과'를 낼 수 있다.
글을 쓰기 시작해서 2주가 되어야 '이 짧은 글을 완료'한다.
별 일이 없는 듯 한 대, 왜 이렇게 바쁜지 T.T
일단, 아두이노의 특징을 간단히 요약해 보았고, 이후 라즈베리 파이도 살펴보기로 한다. 셀프~ 파이팅!!!
'DevSmile 하는 일 > AIoT 사물인터넷' 카테고리의 다른 글
사물인터넷(IoT)의 최신 동향 - 무엇이 있을까? (1) | 2024.09.29 |
---|---|
[IoT 강의] 03. IoT 구현을 위한 오픈소스 하드웨어 (0) | 2018.11.23 |