일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 휴머노이드 로봇
- 트랜스포머
- ChatGPT
- ubuntu
- 티스토리챌린지
- 일론 머스크
- OpenAI
- 메타
- 서보모터
- 오픈AI
- AI
- 가상환경
- 확산 모델
- LLM
- 아두이노
- LORA
- 시간적 일관성
- 우분투
- 딥마인드
- 딥러닝
- 오블완
- 멀티모달
- TRANSFORMER
- AI 기술
- 뉴럴링크
- 생성형 AI
- 인공지능
- ControlNet
- tts
- PYTHON
- Today
- Total
AI 탐구노트
아두이노 : 조이스틱으로 서보모터 조종하기 - 1편 본문
최근 아두이노를 이용해서 서보모터 컨트롤하는 것을 해 보고 있습니다.
카메라 영상 입력을 받아서 이를 AI로 분석하고 이에 따라 서보를 동작시키는 것을 하는 것이 목적이죠.
하지만, 그 전에 간단한 수동 조작도 해 보고 싶었습니다.
그래서, 알리에서 서보모터 주문할 때 덤으로 조이스틱 모듈도 함께 주문해 봤습니다.
이런 제품이었죠. 가격은 1500 수준인 것 같습니다. 작동은 잘 합니다. ^^
아두이노, 조이스틱 연결
이번에 할 것은 아두이노와 조이스틱 모듈 간의 테스트이기 때문에 연결은 정말 간단합니다.
5V, GND는 기본으로 연결하면 되니, VRX(X축), VRY(Y축), SW(On/Off 스위치 역할?)만 봐주면 되기 때문이죠.
VRX와 VRY는 아날로그 핀에 A0, A1에, SW는 Digital 7번 핀에 각각 연결했습니다.
참고) 이후 서보모터를 컨트롤 하는 것도 테스트를 진행할텐데 그 경우도 복잡하지 않습니다.
서보모터는 5V, GND가 고정이고, X방향 서보모터는 디지털 9번핀, Y방향 서보모터는 디지털 10번핀에 연결하면 됩니다.
회로 연결도는 아래와 같은데 Just a Hobby님의 유튜브 영상에서 해당 장면만 일부 크롭했습니다. (전체 영상도 한번 보시길 추천)
Arduino에서 동작 테스트
먼저 Arduino IDE에서 코딩을 통해 조이스틱의 동작 테스트를 진행해 봅니다.
int kpin = 7; // 스위치 핀
int xpin = A0; // X축 핀
int ypin = A1; // Y축 핀
void setup() {
Serial.begin(9600); // 시리얼 통신 시작
pinMode(kpin, INPUT_PULLUP); // 스위치 핀을 입력으로 설정 (내부 풀업 저항 사용)
}
void loop() {
int xValue = analogRead(xpin); // X축 값 읽기
int yValue = analogRead(ypin); // Y축 값 읽기
int switchValue = digitalRead(kpin); // 스위치 값 읽기
// 출력
Serial.print("X: ");
Serial.print(xValue);
Serial.print(" | Y: ");
Serial.print(yValue);
Serial.print(" | Switch: ");
Serial.println(switchValue == HIGH ? "Released" : "Pressed");
delay(100); // 100ms 대기 후 다시 읽기
}
결과 확인
역시 잘 나옵니다. X, Y 축값도 조이스틱 조종에 따라 잘 변하고 눌렀을 때의 변화도 잘 감지합니다.
주의할 것은... 9600 baud로 속도를 맞춰줘야 한다는 겁니다.
이 값을 기본값으로 해두고 Serial Monitor를 봤는데 찍히는 결과값이 예상과 달랐습니다.
아두이노를 이용해서 만들어 볼 수 있는 장난감이 생각보다 많을 것 같다는 생각이 들었습니다.
'DIY 테스트' 카테고리의 다른 글
아두이노 : 조이스틱으로 서보모터 조종하기 - 2편 (2) | 2024.09.30 |
---|---|
Headshot Tracking 따라하기 - 1편 (2) | 2024.09.29 |
Python을 이용한 파워포인트 다루기 (2) | 2024.09.24 |
Fish-Speech를 이용한 음성 생성 테스트 (1) | 2024.09.23 |
[주식] KRX 300 맵 만들어보기 (10) | 2024.09.22 |