본문 바로가기

Programming/Arduino 아두이노

05. 아두이노 심화 - 유선통신 및 무선통신 센서들 알아보기

이 포스팅은 UNIST Prototyping 동아리 DINO의 이도영님의 아두이노 코딩강좌 내용을 바탕으로 정리하였습니다.

저번 포스팅까지 회로, 인풋, 아웃풋에 이어 통신까지 알아보았다면 이제 센서를 하나씩 살펴보고자 한다.

먼저 유선통신 센서부터 시작해보자.

1. 서보모터(Servo motor)

서보모터는 일반 모터와는 다르게 회전각도 및 각속도를 사용자가 조절할 수 있다.
서브모터가 아니라 Servo(사용자를 따른다는 의미로 사용)모터로 로봇, 장난감 및 드론 등 광범위하게 사용되고 있다.

서보모터의 회전 각도는 우리가 앞서 analog output에서 사용하였던 PWM 방식으로 제어한다. 20ms의 PWM 주기 중에서 1-2ms사이의 파형을 통해 서보모터의 회전각도를 제어하게 된다. 

아래의 그림을 참고해보자.

2. 피에조 부저(Piezo Buzzer)

피에조 부저는 쉽게 생각하면 피에조 효과를 이용하여 소리를 내는 작은 스피커이다.
피에조 효과는 전압을 걸어주면 진동이 생기고, 반대로 진동이 있으면 전압이 걸리는 것과 같은 현상인데, 이를 활용하여 여기에 판을 붙여줘서 미세한 떨림으로 소리를 낸다고 생각하면 될 것 같다. 물론 이 음량을 코드상에서 제어가 힘들고, 소리가 다소 시끄러울 수 있지만, 저렴한 가격과 쉬운 사용법 덕분에 많이 이용되고 있다.

게다가 아두이노가 제공하는(tone)함수를 이용하면 square signal을 만들 수 있는데, frequency(주파수)를 조절하여 간단한 음악도 표현할 수 있다. 다른 형태의 파장도 만들 수는 있지만 조금 복잡한 과정이 필요하다.(https://tinyurl.com/tua6nrh)

3. 초음파 센서(Ultrasonic Sensor)

초음파 센서는 거리를 인식하는 센서이다. 실제로 필자가 대학교 1학년 때 과속탐지기 센서를 과제로 만들 때 사용하기도 하였으며, 현재 랩에서 진행하는 사람이 지나간 횟수를 자동으로 카운트하는데에도 적용했던 센서이다.

이 센서는 눈 하나는 초음파를 발사하며, 눈 하나는 초음파를 수신한다. 그리고 쏜 뒤에 반사되어 돌아오는 시간을 계산하여 (걸린 시간/2) * 초음파 속도를 이용해 거리를 측정하는 놈이다. 너무 오랫동안 돌아오지 않으면 앞에 물체가 없다고 판단할 수 있다.

4개의 핀은 하나는 Trig 핀으로 초음파를 쏘게 만들고, Echo 핀은 초음파를 인식하면 이 핀으로 신호를 주고, 나머지 두 핀은 GND와 VCC에 연결한다.

4. LED 모듈(LED Module)

LED 모듈은 사진에서 보이다시피 다양한 색의 빛을 원하는 대로 출력할 수 있다.
WS2812 or WS2813 driver 를 이용하여 직접 프로그래밍하여 여러 LED를 선 3개로 이어서 각각 제어가 가능하다. WS2813은 최신 버전이며, 12까지는 하나가 오류가 나면 모두 작동이 안되었다면, 13부터는 해당 오류난 LED만 꺼지고 나머지는 작동된다.

3가지 선은 각각 GND, VCC, D핀으로 연결되며, D핀에서 디지털 신호를 통해 색을 제어한다.
LED세팅 데이터를 보내면 첫 LED가 첫 24비트(RGB 각각 8비트씩 (255,255,255))을 빼고 나머지를 뒤로 보낸다.
1과 0은 다음과 같은 규칙으로 처리된다.
1: 8us high, 45us low / 0: 4us high, 85us low


이제 무선통신에 대해서만 간단히 알아보고 포스팅을 마무리해보도록 하자.

무선통신 방법은 크게 WIFI, 블루투스(Bluetooth), 직비(Zigbee) 통신으로 나뉜다.

이 중 WIFI와 블루투스는 매우 친숙하겠지만, 직비(Zigbee)는 아마 생소할 것이다.
직비는 매우 전력을 적게 잡아먹으면서 간단한 구현을 할 수 있는데, 한 번의 충전으로 수개월 혹은 몇 년동안 작동하기도 한다.
이에 적은 데이터와 적은 전력 그리고 높은 안정성을 추구하는 곳에서 많이 쓰이며, 장난감에서도 쉽게 찾아볼 수 있다.
간단히 이들을 비교해놓은 표를 살펴보자.

 

Wifi

Bluetooth

Zigbee

최대 속도

(b) 22 Mbit/s
(g) 54 Mbit/s
(n) 600 Mbit/s
(ac) (866)6.93 Gbit/s

(LE) 1~2 Mbit/s
(HS) 24 Mbit/s

250 Kbit/s

전송 거리

~ 100m

~ 10m

~ 100m

소비 전력

High

Low

Very low

Application

Broadband Internet, WLAN, Security cameras, IOT

Phones, laptops, headsets, cameras, printers

Sensor networks, Industrial control, toys, games

이를 통해 살펴볼 수 있는 사실은 Wifi가 블루투스에 비해 더욱 빠르고, 전송거리도 크지만 소비전력을 많이 잡아먹는다는 것이다. 
그리고 이들의 특성을 활용하여 다음과 같은 아두이노 보드와 연결하여 사용할 수 있다.

오늘은 여기까지. 끝.