1. 핸드이노 시리얼 통신으로 무조건 이기는 가위, 바위, 보 코드 만들기
- 아두이노 시리얼 통신을 통해 문자가 전송되어 올때 그것을 읽어 각 문자에 대해 조건문으로
핸드이노 손동작을 만들어 보자
■ rock 대신 '' r " 로 짧게 변환 --> 핸드이노 보자기 출력
■ paper 대신 '' p " 로 짧게 변환 --> 핸드이노 가위 출력
■ scissors 대신 '' s " 로 짧게 변환 --> 핸드이노 주먹 출력
2. 코드 설명
============================================================================
#include<Servo.h>
Servo servo_1;
Servo servo_2;
Servo servo_3;
Servo servo_4;
Servo servo_5;
void setup() {
Serial.begin(9600); // void setup()함수는 수정하지 말것
servo_1.attach(12);
servo_2.attach(10);
servo_3.attach(9);
servo_4.attach(6);
servo_5.attach(2);
delay(500);
servo_1.write(165);
servo_2.write(165);
servo_3.write(165);
servo_4.write(165);
servo_5.write(165);
delay(5000);
}
void loop() {
while (Serial.available() > 0) { // 시리얼 통신으로 데이터가 들어올 때까지 대기
char data = Serial.read(); // 시리얼 통신으로 받은 데이터를 읽어옴
if (data == 'r') { // 만약 데이터가 'r'이면
servo_1.write(165); // 핸드이노 보자기 출력
servo_2.write(165);
servo_3.write(165);
servo_4.write(165);
servo_5.write(165);
}
if (data == 'p') { // 만약 데이터가 'p'이면
servo_1.write(0); // 핸드이노 가위 출력
servo_2.write(165);
servo_3.write(165);
servo_4.write(0);
servo_5.write(0);
}
if (data == 's') { // 만약 데이터가 's'이면
servo_1.write(0); // 핸드이노 주먹 출력
servo_1.write(0);
servo_2.write(0);
servo_3.write(0);
servo_4.write(0);
servo_5.write(0);
}
if (data == 'n') { // 만약 데이터가 'n'이면
servo_1.write(165); // 핸드이노 손펴있는 보자기 출력
servo_2.write(165);
servo_3.write(165);
servo_4.write(165);
servo_5.write(165);
}
}
}
===============================================================================
아두이노 코드 다운받기
3. 시리얼 모니터를 켜고 문자를 전송하기
아래와 같이 시리얼 모니터에 각 " r " / " s " / " p " / " n " 문자를 전송하여
핸드이노가 작동하는지 테스트 해보자.
'핸드이노 (아두이노 의수)' 카테고리의 다른 글
핸드이노 엔트리 연동하기. (0) | 2024.07.28 |
---|---|
핸드이노 모션인식 (0) | 2024.06.29 |
핸드이노(아두이노 의수) 구입 방법 및 조립 (0) | 2023.05.08 |
핸드이노 1초간격으로 숫자 세기 (1) | 2023.04.11 |
핸드이노 의수를 활용한 가위, 바위, 보 코드 (0) | 2023.04.11 |