코풀 로그인이 필요한 콘텐츠입니다.

로그인을 하면 코풀의 무료 학습 콘텐츠를 이용하실 수 있습니다.


C언어 ‘반복문’으로 터치센서로 서보모터 회전하기


💡
목표

터치하면 원하는 횟수만큼 서보모터 회전하기

1️⃣ 회로 연결하기

2️⃣ 코드 작성하기

b89a1e76-b2ae-474b-afc2-931fd3764425

1️⃣
회로 연결하기
  1. 아두이노를 PC에 연결하여 포트 설정이 되어 있는 지를 확인합니다.
  1. 아두이노의 5V를 브레드보드에 연결합니다.
  1. 아두이노에 터치센서의 I/O(5번 핀), VCC(5V), GND를 연결합니다.
  1. 아두이노에 서보모터의 검은색(GND), 빨간색(5V), 주황색(7번 핀)에 연결합니다.
56962211-7f7a-4e22-9135-3d179acb3958



2️⃣
코드 작성하기
  • 터치센서를 누르면 서보모터가 무한 회전합니다.
  • 만약 터치센서에 손을 떼면 서보모터의 회전이 멈추게 됩니다.
코드 에디터
#include <HuemonelabKit.h>

TouchSensor touch(5);
ServoMotor motor;

void setup() {
Serial.begin(9600);
motor.attach(7);
}

void loop() {
int value = touch.read();
Serial.println(value);

while (value) {
if (touch.read() == 0) {
break;
}
motor.write(0);
delay(1000);
motor.write(180);
delay(1000);
}
motor.write(0);
}
입력
실행 결과
이 곳에 결과가 표시됩니다.
💡
설명

1번 휴몬랩 라이브러리를 사용합니다.

3번 5번 핀에 연결된 터치센서를 ‘touch’객체로 생성합니다.

4번 7번 핀에 연결된 서보모터를 ‘motor’객체로 생성합니다.

7번 시리얼 통신을 시작하고, 통신 속도를 9600 보드레이트로 설정합니다.

12번 터치센서로부터 측정된 값을 변수 ‘value’에 저장합니다.

15번 터치센서를 누른 상태일 경우 반복문의 실행코드가 작동됩니다.

16 ~ 17번 만약 터치센서의 값이 0이 되면 break문 이용하여 반복문을 탈출하며, 서보모터가 정지합니다.




🎯
배운 내용 응용해보기
  • 터치하는 동안 서보모터가 회전하나요?
  • 서보모터의 회전 방향과 딜레이를 수정해보세요.