정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 rc카를 제작중입니다!!!!
한주형 | 2016-07-25

아두이노 rc카 키트를 구매하여 제작중입니다!

우선 소스코드는

#include <SoftwareSerial.h>
SoftwareSerial mySerial(4,5);
int speedPinA = 3;
int speedPinB = 9;
int dir1PinA = 6;
int dir2PinA = 7;
int dir1PinB = 10;
int dir2PinB = 11;

byte incomingByte;

int speed_value_motorA;
int speed_value_motorB;
void setup () {
 mySerial.begin(9600);
 pinMode(speedPinA,OUTPUT);
 pinMode(speedPinB,OUTPUT);
 pinMode(dir1PinA,OUTPUT);
 pinMode(dir2PinA,OUTPUT);
 pinMode(dir1PinB,OUTPUT);
 pinMode(dir2PinB,OUTPUT);
 
 digitalWrite(dir1PinA, LOW);
 digitalWrite(dir2PinA, LOW);
 digitalWrite(dir1PinB, LOW);
 digitalWrite(dir2PinB, LOW);
 }
void loop() {

speed_value_motorA = 255;
speed_value_motorB = 255;
 analogWrite(speedPinA, speed_value_motorA);
 analogWrite(speedPinB, speed_value_motorB);

if (mySerial.available() > 0)
 {
 incomingByte = mySerial.read();

if (incomingByte == 'a')
{
 digitalWrite(dir1PinA, LOW);
 digitalWrite(dir2PinA, LOW);
 digitalWrite(dir1PinB, HIGH);
 digitalWrite(dir2PinB, LOW);
}

if (incomingByte == 'd')
{
 digitalWrite(dir1PinA, HIGH);
 digitalWrite(dir2PinA, LOW);
 digitalWrite(dir1PinB, LOW);
 digitalWrite(dir2PinB, LOW);
}
if (incomingByte == 's')
{digitalWrite(dir1PinA, LOW);
digitalWrite(dir2PinA, LOW);
digitalWrite(dir1PinB, LOW);
digitalWrite(dir2PinB, LOW);
}
if (incomingByte == 'w')
{
digitalWrite(dir1PinA, LOW);
digitalWrite(dir2PinA, HIGH);
digitalWrite(dir1PinB, LOW);
digitalWrite(dir2PinB, HIGH);
}
if (incomingByte == 'x')

digitalWrite(dir1PinA, HIGH);
digitalWrite(dir2PinA, LOW);
digitalWrite(dir1PinB, HIGH);
digitalWrite(dir2PinB, LOW);
}
}
}

이렇게 구성되어있습니다.

블루투스 페어링을 위해서 시리얼포트에 9600 보드 레이트로 설정하고 no line ending을 설정뒤에

AT라는 문자를 전송해 보았지만 OK라는말이 안뜨고 AT문자만 사라집니다ㅠㅠ

혹시 코드에 잘못된점이 있는지 블루투스 칩의 문제인지 알고 싶습니다!

조언 부탁드립니다. 감사합니다!!

이전글   |    소스 다운로드 관련 문의 2016-07-24
다음글   |    안녕하세요. 2016-07-25