본 절은 [MG90s] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
MG90s 아두이노 서보모터
MG90s 모터란?
MG90S는 메탈 기어가 있는 마이크로 서보 모터이다. 작고 가벼운 서보는 높은 출력을 제공하므로 RC 비행기, 쿼드콥터 또는 로봇 팔에 이상적이다.
MG90s 서보모터 특징
MG90s 모터의 특징은 다음과 같다.
TowerPro MG-90S 기능
- 작동 전압: 4.8V ~ 6V(일반적으로 5V)
- 스톨 토크: 1.8kg/cm(4.8V)
- 최대 실속 토크: 2.2kg/cm(6V)
- 작동 속도는 0.1s/60°(4.8V)입니다.
- 기어 유형: 금속
- 회전: 0°-180°
- 모터 무게 : 13.4gm
- 패키지에는 기어 혼과 나사가 포함되어 있다.
MG90s 서보모터 동작 원리
MG90s 센서의 원리는 다음과 같다.
프로젝트에 적합한 서보 모터를 선택하고 나면 사용 방법에 대한 질문이 나온다. 우리가 알다시피 이 모터에서 3개의 전선이 나온다.
모터를 회전시키려면 빨간색과 갈색 와이어를 사용하여 +5V로 모터에 전원을 공급하고 주황색 와이어에 PWM 신호를 보내야 한다.
생성된 PWM 신호가 50Hz의 주파수를 가져야 하고 PWM 주기는 20ms여야 한다는 것을 이해할 수 있다.
그 중 On-Time은 1ms에서 2ms까지 다양할 수 있다.
예를 들어, on-time이 1ms일 때 모터는 0°가 될 것이고 1.5ms일 때 모터는 90°가 된다.
예를 들어, on-time이 2ms일 때 모터는 180°가 된다.
따라서 on-time을 1ms에서 2ms로 변경하여 모터를 0°에서 180°까지 제어할 수 있다.
MG90s 센서 구입하기
[MG90s 센서]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
MG90s 하드웨어 연결
다음과 같이 MG90s 아두이노 센서를 연결할 수 있다. 전원을 제외하고 1개의 신호만 사용한다. 추가적인 회로 구성도 없다.
와이어 번호 | 와이어 색상 | 설명 |
1 | 갈색 | 시스템 접지에 연결된 접지선 |
2 | 빨간색 | 모터의 전원은 일반적으로 +5V가 사용 |
3 | 주황색 | PWM 신호는 모터를 구동하기 위해 이 와이어를 통해 입력 |
아래 회로는 전원과 아두이노 9번 핀을 쉴드에 연결하였다.
MG90s 소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
파일 > 예제 > Servo > Sweep 의 예제 파일을 읽어온다.
코드는 다음과 같다.
/* Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.
modified 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
MG90s 센서 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
https://www.youtube.com/watch?v=ZGXzngBxBgA
마무리
아두이노와 MG90s 를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
'모두의 아두이노' 카테고리의 다른 글
[아두이노] 레이저 수신 모듈 (PP-A435) (0) | 2021.11.07 |
---|---|
[아두이노] 네오픽셀 RGB LED 모듈 (0) | 2021.10.19 |
[아두이노] CDS 조도 센서 모듈 포토 레지스터 모듈 HS-CDSM-II (0) | 2021.10.15 |
[아두이노] Arduino MKR SHIELD R2 (0) | 2021.08.20 |
[아두이노] Arduino MKR1000 WIFI (0) | 2021.08.19 |
댓글