일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 해외송금
- 해커스쿨
- 해킹
- Linux
- Challenge
- 모인유럽서포터즈
- 네트워크해킹
- 백도어
- 포너블
- FTZ
- 리눅스
- 루트미
- pwnable
- rootme
- EPITA
- client
- Gentoo
- 프랑스송금
- WebHacking
- 웹해킹
- 프랑스 교환학생
- network
- 유로송금
- 보안
- 모인해외송금
- pwnable.kr
- web
- wargame
- 모인유럽송금
- 프랑스교환학생
- Today
- Total
Securing Keys
[아두이노] 초음파센서 측정값을 바탕으로 서보모터 제어하기 본문
서보 모터 (Servo Motor)
- 일반 모터와는 다르게 회전이 정해져 있음 → 정확한 움직임이 필요한 경우에 유용
- Servo = (사용자의 명령에) 따른다
- 사용자가 원하는 각도, 속도로 움직임 가능
ex) 로봇, 장난감, 드론, CCTV 등
- 이번에 사용하는 SG90 서보모터: 저렴 BUT 0~180도까지만 회전 가능
준비물
- Arduino Uno R3
- 초음파센서 (HC-SRO4)
- 점퍼선
- 브레드보드 (빵판)
- UNO 케이블
- LED 3개
- 서보모터 (SG90)
- (권장) 220Ω 저항
저번 포스팅에서 초음파센서를 이용하여 LED 제어를 하는 것을 구현했었습니다.
2020/06/07 - [IT/IoT] - [아두이노] 초음파센서 측정값을 바탕으로 LED 제어하기
여기에 서보모터를 추가해보도록 하겠습니다.
서보모터에 있는 주황색 단자는 데이터핀이고, 빨간색 단자는 vcc, 갈색 단자는 gnd입니다.
서보모터를 브레드보드와 아두이노에 연결해주었습니다.
저는 데이터핀인 주황색 단자는 디지털 5번에, vcc인 빨간색 단자는 5V와 연결된 +라인에, 그리고 gnd인 갈색 단자는 gnd와 연결된 -라인에 연결해주었습니다.
#include<Servo.h>
Servo servo;
int degree = 0; // 서보모터가 돌아가는 각도
가장 바깥쪽 코드에 위와 같이 라이브러리와 변수들을 설정해줍니다.
void setup() {
...(중략)...
servo.attach(5); // 디지털 5번에 꽂아주었기 때문에
}
그리고 setup() 함수에 서보모터가 디지털 5번에 꽂혀 있음을 명시해줍니다.
void loop() {
...(중략)...
if (distance <= 10){ // 10cm 이내
...(중략)...
degree = 0;
servo.write(degree);
} else if (distance <= 20){ // 20cm 이내
...(중략)...
degree += 20;
servo.write(degree);
delay(500);
degree -= 20;
servo.write(degree);
delay(500);
} else {
...(중략)...
degree += 20;
servo.write(degree);
delay(200);
degree -= 20;
servo.write(degree);
delay(200);
}
}
그 후 loop() 함수 안에 기존에 쓰여있던 코드를 이용하여 서보모터에 관한 코드를 작성해줍니다.
서보모터는 계속해서 0도와 20도를 왔다갔다하게끔 해주었습니다.
만약 10cm 이내에 장애물이 있다면 서보모터는 가만히 멈춰있고
20cm 이내에 장애물이 있을 경우에는 서보모터가 0도와 20도를 왔다갔다하고,
그 외의 경우에는 서보모터가 0도와 20도를 더욱 빠르게 왔다갔다 하게끔 설정해주었습니다.
그렇게 나타난 결과는 위와 같습니다.
'IT > IoT' 카테고리의 다른 글
[DB] 맥북에 MySQL 설치 및 DB 생성하기 (0) | 2021.04.25 |
---|---|
[아두이노] 아두이노 프로 미니 - 컴퓨터 연결 (1) | 2021.01.11 |
[AI] 딥러닝 기반 우리집 맞춤형 물걸레 청소 로봇! LG 코드제로 M9 ThinQ 출시 (0) | 2020.09.05 |
[아두이노] 초음파센서 측정값을 바탕으로 LED 제어하기 (0) | 2020.06.07 |