1. 아두이노 코드 다운 받기
- 아두이노 항목을 참고해 기본 코드를 다운로드합니다.
- ‘아두이노’ 기본 코드에는 <AI이거다>에서 “hello”메시지를 받으면, pin13에 출력을 내보내는 동작을 수행하도록 구성되어 있습니다.
String receive_string;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
receive_string = Serial.readString();
Serial.println(receive_string);
// 아래 조건문의 "hello"는 AI이거다에서 보내는 메시지로 수정해 주세요.
if (receive_string == "hello") {
turnOnOffPin(13, true);
} else {
turnOnOffPin(13, false);
}
}
}
void turnOnOffPin(int pinNumber, bool isOff) {
pinMode(pinNumber, OUTPUT);
if (isOff) {
digitalWrite(pinNumber, HIGH);
} else {
digitalWrite(pinNumber, LOW);
}
}
2. 아두이노 코드 수정하기
- 아두이노 기본 코드를 수정합니다.
- 수정된 코드는 서보모터의 PWM(또는 signal)핀이 아두이노의 pin9에 연결된 회로를 사용합니다.
- 수정된 코드는 <AI이거다>에서 전달 받은 메시지 “1”, “2”, “3”, “4”에 따라 서보모터가 동작하도록 구성되어 있습니다.
- 수정된 코드는 아두이노 코드 업로드 과정 을 참고해 아두이노에 업로드 합니다.
#include <Servo.h>
Servo myServo;
char receive_char = 0;
void setup() {
myServo.attach(9);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
receive_char = Serial.read();
Serial.print("I receive: ");
Serial.println(receive_char);
}
if (receive_char == '1') {
receive_char = 0;
for (int pos = 180; pos >= 0; pos--) {
myServo.write(pos);
delay(15);
}
} else if (receive_char == '2') {
receive_char = 0;
for (int pos = 0; pos <= 180; pos++) {
myServo.write(pos);
delay(15);
}
} else if (receive_char == '3') {
receive_char = 0;
for (int pos = 180; pos >= 0; pos--) {
myServo.write(pos);
}
} else if (receive_char == '4') {
receive_char = 0;
for (int pos = 0; pos <= 180; pos++) {
myServo.write(pos);
}
}
}
3. 프로젝트 생성하기
4. 예제 코드 작성하기
5. 디바이스 연결하기
6. 예제 코드 실행하기