손을 펼치면 서보모터를 180도에 위치시키고, 손을 접으면 0도에 위치시키는 프로젝트를 만들어 봅시다.
아두이노(시리얼 통신) 준비하기를 따라 아두이노(시리얼 통신) 보드를 준비합니다.
아래와 같이 코드를 작성합니다.
// 서보모터 라이브러리를 포함합니다:
#include <Servo.h>
// 서보모터 객체를 생성합니다:
Servo servo;
String degrees_180 = "180";
String degrees_0 = "0";
String receive_string;
// setup 함수는 처음 한 번만 실행됩니다:
void setup() {
// 9번 핀에 서보모터를 연결합니다:
servo.attach(9);
// 시리얼 통신을 115200bps로 시작합니다:
Serial.begin(115200);
// 시리얼 포트에서 데이터를 읽을 때 다음 데이터를 기다리지 않고 반환합니다:
Serial.setTimeout(0);
}
// loop 함수는 계속 반복됩니다:
void loop() {
// 받은 데이터가 있는지 확인합니다:
if (Serial.available() > 0) {
// 받은 문자열 데이터를 읽습니다:
String data = Serial.readString();
// 읽은 문자열 데이터가 receive_string와 값이 동일하지 않은지 확인합니다:
if (receive_string != data) {
// 읽은 문자열 데이터를 receive_string 변수에 할당합니다:
receive_string = data;
// 읽은 문자열 데이터가 degree_180 변수와 동일한지 확인합니다:
if (receive_string == degrees_180) {
// 서보모터를 180도까지 회전합니다:
servo.write(180);
// 읽은 문자열 데이터가 degrees_0 변수와 동일한지 확인합니다:
} else if (receive_string == degrees_0) {
// 서보모터를 0도까지 회전합니다:
servo.write(0);
}
}
// 안정성을 위해 딜레이를 사용합니다:
delay(1);
}
}
아두이노 보드에 파일을 업로드 합니다.
서보모터를 9번 핀에 연결합니다.
팔레트 영역의 코드 블록을 코딩 페이지로 드래그하고, 각 코드 블록을 연결해 코드를 작성할 수 있습니다.
코드 블록을 다루는 자세한 방법은 코드 블록으로 코딩하기 페이지를 확인해 주세요.
코드 작성이 완료되면, 코딩 페이지 오른쪽 아래에 위치한 실행하기 버튼을 눌러 동작을 확인합니다.
코딩 페이지 오른쪽 아래에 위치한 중지 버튼을 누르면 프로젝트가 중지됩니다.
손 모양 분류 결과에 따른 아두이노 보드의 서보모터 동작을 확인해 주세요.