์๋
ํ์ธ์.
์ธ๊ฐ์ @joonghoonlee์
๋๋ค.

๋ง๊ธ ์๋ฆผ์ ๋ณด๊ณ ๋ค์ด๊ฐ๋ค๊ฐ ๋ฌด์ฒ ๊ธฐ๋ถ ์ข์ ์ผ์ด ์์์ต๋๋ค.
์ฒซ ๊ด๋ จ ์ง๋ฌธ์ ๋ฐ์์ต๋๋ค.
๊ทธ๋์ ์ผ์ ์ ์ ์์ผ๋ก ๋ฐ์ด๋๊ณ ํ๋ ฅ๋ฐ์ ๊น์ ์ฌ๋ฆฌ๊ธฐ๋ก ํ์ต๋๋ค.
์ ๊ฐ ๋ฌด์จ์ผ์ ํ๋๊ตฌ์?
๋ฑํ ๋น๋ฐ๋ ์๋๊ณ ๊ถ๊ธํ์ ๋ถ์ด ์๋ค๋ฉด ์กฐ๋ง๊ฐ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค ^^!
์!!
๋จผ์ ๊ตฌ์ฑ์ ์ด๋ฌํฉ๋๋ค.

SG-Power_AMP์ ARDUINO UNO ๊ทธ๋ฆฌ๊ณ SG-90 ์๋ณด๋ชจํฐ์ ์์ฒด์ธก์ ํจ๋์
๋๋ค.
๋ฌผ๋ก ๋ธ๋ ๋๋ณด๋์ ์ฐ๊ฒฐ์ ๋ ํ์ํฉ๋๋ค.

์ฌ๊ธฐ์ ๋ณด์ด์๋ SG-Power_AMP๋ ๋ค ๋ง์ต๋๋ค. ์ง์ ๊ทธ๋ ค์ ์ธ์ฃผ์
์ฒด์ ๋งก๊ฒจ ๋ง๋ ๊ฒ๋๋ค!!ใ
ใ
SG-Power_AMP์ ์์ฒด์ธก์ ์ผ์ด๋ธ ์ฐ๊ฒฐ๋ถ์ ์์ฒด์ธก์ ์ผ์ด๋ธ์ ์ฐ๊ฒฐ์ํจ ํ,
(TP1,VCC,GND,TP2)๋ถ๋ถ์ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฐ๊ฒฐํฉ๋๋ค.
SG-90 ์๋ธ๋ชจํฐ๋ ์ ์๊น์ ๋ง์ถ์ด ์๋์ด๋ ธ์ ์ฐ๊ฒฐํฉ๋๋ค. ์ด๋ ์ฐ๊ฒฐ์ PWM์ด ์ง์
๋๋ ์๋์ด๋ ธ ํฌํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ฒด์ ๊ทน์ ๋นจ๊ฐ, ์ด๋ก, ๊ฒ์ ์ด ์์ต๋๋ค. ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ์ ์ดํ๊ณ ์ ํ๋ ๊ทผ์ก๋ฉด์
๋นจ๊ฐ๊ณผ, ์ด๋ก์ ๋ถ์ฐฉํ๊ณ ๊ฒ์ ์ ์ธก์ ํ๊ณ ์ ํ๋ ๊ทผ์ก๋ฉด๊ณผ ๋ค๋ฅธ๋ถ๋ถ์ ๋ถ์ฐฉํ์ฌ ๊ฒ์ (์์ฒด
์ ์ง)์ผ๋ก ์ธก์ ํ๊ณ ์ ํ๋ ๊ทผ์ก๋ฉด์ ์ ํธ๊ฐ ํ๋ฌ๋ค์ด๊ฐ์ง ์๋๋ก ๋ถ์ฐฉํ์ฌ ์ค๋๋ค.
์ค์ ํ
์คํธ์์๋ ์ผ์์ ๊ทผ์ก์ ์ด์ฉํ์์ผ๋, ์ ์ดํ๊ณ ์ถ์ ๊ทผ์ก๋ถ์์ ๋ถ์ฐฉํ์ฌ
์ฌ์ฉํ์
๋ ๋ฉ๋๋ค. ๊ฒ์ (์์ฒด ์ ์ง)์ ์ธก์ ํ๊ณ ์ ํ๋ ๊ทผ์ก์ ๊ฐ์ด ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ฌ์ฉ
์ ๊ฐ๋ฅํ๋ ๋ง์กฑ์ค๋ฌ์ด ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ํ๋ค ์ ์์ผ๋ ์ฃผ์ํฉ์๋ค.
์๋ ์ฌ์ง์ ์ฐธ๊ณ ํ์๋ฉด๋ฉ๋๋ค.

ํ๋ก ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.

์ ํ๋ก๊ตฌ์ฑ์ด ์๋ฃ ๋์๋ค๋ฉด ์ด์ ์๋์ด๋
ธ ์ฝ๋ฉ์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋จผ์ ์ปดํจํฐ์ ์๋์ด๋
ธ๋ฅผ ์ฐ๊ฒฐํด ์ฃผ์๊ณ , ์ค์น๋ ์๋์ด๋
ธ ํ๋ก๊ทธ๋จ์ ์คํํฉ๋๋ค.
์ฝ๋ฉ์ ์ํ ์ธํ
๋ถํฐ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋ฌผ๋ก ๊ธฐ์กด์ ์๋์ด๋
ธ๋ฅผ ์ ํด๋ณด์ ๋ถ์ ์ ํ์๊ฒ ์ง๋ง ์ด์ํ๋๊ฑฐ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๋ ๋ถ๋ค์ ์ํด
์ง๊ธ๋น์ฅ ์๋์ด๋
ธ๋ฅผ ์ฌ์๋ ์ฌ์ฉํ์ค์ ์๋๋ก!!
๋ฉ๋ด์์ [ํด] โถ [๋ณด๋] โถ [Arduino Uno] ์ ํ (์ฒ์ ํ๋ฒ ์ธํ
๋๋ฉด ๋ค์๋ถํฐ๋์๋ต)

๋ฉ๋ด์์ [ํด] โถ [ํฌํธ] โถ [COMx] ์ ํ (๋จ, x๋ [์์] โถ [์ ์ดํ] โถ [์ฅ์น๊ด๋ฆฌ์] โถ
[ํฌํธ] โถ [Ardino Uno(COMx)]๋ก ๋ณด์ด๋ ์ํ์์ x์ ๋ํญ๋๋ ์ซ์)

์ ํ ์ด ์๋ฃ๋์๋ค๋ฉด ์ฝ๋ฉ ์ค๋น๊ฐ ์๋ฃ๋ ๊ฒ์ ๋๋ค.
์ค๋น๊ฐ ๋์์ผ๋ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฝ๋ฉ์ ํด๋ณผ๊น์?!
#include<Servo.h>
Servo myservo1;
Servo myservo2;
int i = 90;
int up = 380; //ํ ์ ๊ทผ์ ๋๊ฐ ์ง์
int down = 350; //ํ ์๋ ๊ทผ์ ๋๊ฐ ์ง์
//๊ทผ์ ๋๋ ์ฌ๋๋ง๋ค ์ ๊ทน์ ๋ถ์ด๋๊ณณ ๋ง๋ค ๊ฐ์ด ๋ค๋ฅด๊ฒ ๋จ๊ธฐ ๋๋ฌธ์
//์๋ ๋ก๊ทธ ์
๋ ฅ์ ๋ฐ์์ ํ๋กํฐ๋ก ํ์ธํ up, down ๊ฐ์ ์์ ์ ๋ง๊ฒ์กฐ์
void setup() {
Serial.begin(9600); //์๋ณด๋ชจํฐ ์ด๊ธฐํ
myservo1.attach(9); // 1๋ฒ๋ชจํฐ 9๋ฒ ํ์์ ์ฌ์ฉ
myservo1.write(90); // 1๋ฒ ๋ชจํฐ 90๋๋ก ์ด๊ธฐํ
myservo2.attach(10); // 2๋ฒ๋ชจํฐ 9๋ฒ ํ์์ ์ฌ์ฉ
myservo2.write(20); // 2๋ฒ ๋ชจํฐ 20๋๋ก ์ด๊ธฐํ
}
void loop() {
int sensorValue1 = analogRead(A0); //๊ทผ์ ๋ ๊ฐ ๋ฐ์์ด
int sensorValue2 = analogRead(A1); //๊ทผ์ ๋ ๊ฐ ๋ฐ์์ด
//Serial.println(sensorValue1);
//Serial.println(sensorValue2);
//๋ชจํฐ2๋ฒ ์กฐ์ข
if (sensorValue1 > up + 10 && sensorValue2 > down + 10) {
myservo2.write(170);
delay(3000);
myservo2.write(20);
delay(3000);
}
//๋ชจํฐ1๋ฒ ์กฐ์ข
if (sensorValue1 > up) {
i = i + 20;
if (i >= 150) {
i = 100;
}
delay(700);
}
else if (sensorValue2 > down) {
i = i - 20;
if ( i <= 20) {
i = 20;
}
delay(700);
}
myservo1.write(i);
delay(100);
}
์๋จ ๋ฉ๋ด์์ ์ค์ผ์น ์์ด์ฝ์ ์ฐพ์ ํด๋ฆญํ๊ณ ์๋์ชฝ์ "์ค์ผ์น ์ปดํ์ผ" โถ "์
๋ก๋ฉ" โถ
"์
๋ก๋ฉ ์๋ฃ๋ฐ "avrdude done, Thank you" ๋ฉ์์ง๊ฐ ๋ํ๋๋์ง ํ์ธ!
์ ์ด์ ๋ชจ๋ ์ค๋น๊ฐ ์๋ฃ ๋์์ต๋๋ค.
์ด์ ์์ฉํด์ ํ์ฉํ์๋ฉด ๋ฉ๋๋ค ^^
๋ฌผ๋ก
์~ ์ด๋ ๊ฒ๋๋๊ฑฐ๊ตฌ๋ ํ๊ณ ๋์ด๊ฐ์
๋ ๋ฉ๋๋ค!! ใ
ใ
Q&A๋์คํ๋ฌ๋ฌ ์๋ฐ๊ณ ์ฌ๋ ค๋๋ ค์ ใ
ใ