아두이노 소스코드
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
int PWM1 = 5; //M1 speed (0~255)
int DIR1 = 4; //M1 direction (HIGH or LOW)
int PWM2 = 6; //M2 speed (0~255)
int DIR2 = 7; //M2 direction (HIGH or LOW)
int PWM3 = 9; //M3 speed (0~255)
int DIR3 = 8; //M3 direction (HIGH or LOW)
int PWM4 = 11; //M4 speed (0~255)
int DIR4 = 12; //M4 direction (HIGH or LOW)
int spd = 150;
void setup() {
mySerial.begin(9600);
}
void loop() { // run over and over
if (mySerial.available()) {
char ch = mySerial.read();
if (ch=='s') st();
else if(ch=='0') fw();
else if(ch=='1') bw();
else if(ch=='2') fl();
else if(ch=='3') fr();
else if(ch=='4') lt();
else if(ch=='5') rt();
else if(ch=='6') bl();
else if(ch=='7') br();
else if(ch=='8') tl();
else if(ch=='9') tr();
}
}
void fw(){
digitalWrite(DIR1, LOW);
digitalWrite(DIR2, HIGH);
digitalWrite(DIR3, HIGH);
digitalWrite(DIR4, LOW);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void bw(){
digitalWrite(DIR1, HIGH);
digitalWrite(DIR2, LOW);
digitalWrite(DIR3, LOW);
digitalWrite(DIR4, HIGH);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void fl(){
digitalWrite(DIR1, LOW);
digitalWrite(DIR2, HIGH);
digitalWrite(DIR3, HIGH);
digitalWrite(DIR4, LOW);
analogWrite(PWM1, 0); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, 0); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void fr(){
digitalWrite(DIR1, LOW);
digitalWrite(DIR2, HIGH);
digitalWrite(DIR3, HIGH);
digitalWrite(DIR4, LOW);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, 0); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, 0); //PWM Speed Control
}
void lt(){
digitalWrite(DIR1, HIGH);
digitalWrite(DIR2, HIGH);
digitalWrite(DIR3, LOW);
digitalWrite(DIR4, LOW);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void rt(){
digitalWrite(DIR1, LOW);
digitalWrite(DIR2, LOW);
digitalWrite(DIR3, HIGH);
digitalWrite(DIR4, HIGH);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void bl(){
digitalWrite(DIR1, HIGH);
digitalWrite(DIR2, LOW);
digitalWrite(DIR3, LOW);
digitalWrite(DIR4, HIGH);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, 0); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, 0); //PWM Speed Control
}
void br(){
digitalWrite(DIR1, HIGH);
digitalWrite(DIR2, LOW);
digitalWrite(DIR3, LOW);
digitalWrite(DIR4, HIGH);
analogWrite(PWM1, 0); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, 0); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void tl(){
digitalWrite(DIR1, HIGH);
digitalWrite(DIR2, LOW);
digitalWrite(DIR3, HIGH);
digitalWrite(DIR4, LOW);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void tr(){
digitalWrite(DIR1, LOW);
digitalWrite(DIR2, HIGH);
digitalWrite(DIR3, LOW);
digitalWrite(DIR4, HIGH);
analogWrite(PWM1, spd); //PWM Speed Control
analogWrite(PWM2, spd); //PWM Speed Control
analogWrite(PWM3, spd); //PWM Speed Control
analogWrite(PWM4, spd); //PWM Speed Control
}
void st(){
digitalWrite(DIR1, LOW);
digitalWrite(DIR2, LOW);
digitalWrite(DIR3, LOW);
digitalWrite(DIR4, LOW);
analogWrite(PWM1, 0); //PWM Speed Control
analogWrite(PWM2, 0); //PWM Speed Control
analogWrite(PWM3, 0); //PWM Speed Control
analogWrite(PWM4, 0); //PWM Speed Control
}
소스코드 다운로드하기
메카넘휠 조종 어플
어플 다운로드 하기
앱 다운로드 받기 링크 : https://blog.naver.com/mk1017sh/221860292105
[ 구매링크 ]
아두이노 우노 http://robomecha.shop/product/detail.html?product_no=598&cate_no=102&display_group=1 메카넘휠 플랫폼 http://robomecha.shop/product/detail.html?product_no=643&cate_no=122&display_group=1 4채널 모터드라이버 쉴드 3.0 http://robomecha.shop/product/detail.html?product_no=1302&cate_no=102&display_group=1 AA x 6 배터리홀더 http://robomecha.shop/product/detail.html?product_no=811&cate_no=119&display_group=1 블루투스모듈(HC-06) http://robomecha.shop/product/detail.html?product_no=114&cate_no=93&display_group=1