아두이노와 서보모터(SG90)
아두이노를 이용한 서보 모터 (SG90)의 구동은 비교적 간단합니다. 그래서 두개의 서보모터를 인형 팔에 붙여서 청기 백기 놀이를 해보겠습니다.
1번 서보모터 핀배열 (왼쪽팔 모터)
- 주황 ==> 디지털 5번
- 빨강 ==> 5V
- 갈색 ==> GND
2번 서보모터 핀배열 (오른쪽팔 모터)
- 주황 ==> 디지털 6번
- 빨강 ==> 5V
- 갈색 ==> GND
시리얼로 1, 2, 3, 4를 입력받고 그에 따라서 모터가 동작합니다. 서보모터는 주어진 입력값 만큼 회전을 합니다.
- 왼쪽팔 들기
- 오른쪽팔 들기
- 둘다 들기
- 둘다 내리기
스케치 코드
왼쪽팔은 디지털 6번핀으로 명령을 주고 오른쪽팔은 디지털 5번핀으로 명령을 줍니다. 시리얼포트로 입력을 받아서 설정된 값만큼 모터를 회전시킵니다.
#include <Servo.h>
Servo rightServo;
Servo leftServo;
int pos = 0;
int rightPin = 6;
int leftPin = 5;
int rightDegree = 5;
int leftDegree = 5;
void setup() {
// put your setup code here, to run once:
leftServo.attach(leftPin);
rightServo.attach(rightPin);
leftServo.write(5);
rightServo.write(5);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()){
char command;
command = Serial.read();
if(command == '1'){
rightDegree = 5;
leftDegree = 145;
}
if(command == '2'){
rightDegree = 145;
leftDegree = 5;
}
if(command == '3'){
rightDegree = 145;
leftDegree = 145;
}
if(command == '4'){
rightDegree = 5;
leftDegree = 5;
}
leftServo.write(leftDegree); //오른쪽 서보모터 회전
rightServo.write(rightDegree); //왼쪽 서보모터 회전
//Serial.println(spinDegree);
}
else{
}
}
'Programming > 아두이노' 카테고리의 다른 글
아두이노와 HC-SR 505 PIR 인체감지 센서 (0) | 2017.12.14 |
---|---|
아두이노 온도 습도 미세먼지 측정 oled 표시 (0) | 2017.12.12 |
아두이노를 이용한 LED 제어 (0) | 2017.12.08 |
아두이노 통합 환경 설치 (0) | 2017.12.07 |
아두이노 기초 학습 (0) | 2017.12.07 |