스케치를 합하려는데, 꼭 도와주세요....

메카 2016-10-18 (화) 17:38 7년전 1963  

안녕하세요....


DC모터 1개와 써보모터 1개를 결합하여 크레인을 만들어서 블루투스 원격제어를 하려고 하는데

스케치 한 2개 각각을 구동시키면 원격제어가 됩니다....


 그런데 2개의 스케치를 하나로 합하여 구동을 하고 싶은데, 아직 실력이 딸려서 이것을 못하고 있답니다....


꼭 해야만 하니 합하는 거 도와 주세요... 


    < DC모터 스케치 >

int motor1_dir1 = 12;
int motor1_dir2 = 13;
int motor1_pwm  = 11;


#include <SoftwareSerial.h>
int TxPin = A2;
int RxPin = A1;

SoftwareSerial BTSerial(TxPin, RxPin);


void setup() {
 pinMode(motor1_dir1,OUTPUT);
    pinMode(motor1_dir2,OUTPUT);
    pinMode(motor1_pwm,OUTPUT);
    
    digitalWrite(motor1_dir1,0);
    digitalWrite(motor1_dir2,1);
    digitalWrite(motor1_pwm,1);
  

    BTSerial.begin(9600);

}


void loop() {
 analogWrite(motor1_pwm, 255);
    delay(50);

if(BTSerial.available())
{
  char cmd = (char)BTSerial.read();


  if(cmd=='0'){
      digitalWrite(motor1_dir1,0);
    digitalWrite(motor1_dir2,0);
    digitalWrite(motor1_pwm,0);
  }
  if(cmd=='1'){
      digitalWrite(motor1_dir1,1);
    digitalWrite(motor1_dir2,0);
    digitalWrite(motor1_pwm,1);
  }
  if(cmd=='2'){
      digitalWrite(motor1_dir1,0);
    digitalWrite(motor1_dir2,1);
    digitalWrite(motor1_pwm,1);
  }
}
}


   < 써보모터 스케치 >

#include<SoftwareSerial.h>
#include<Servo.h>

int Tx=A2;
int Rx=A1;

int servoPin1=5;
Servo servo1;

SoftwareSerial bluetooth(Tx,Rx);


void setup() {
 Serial.begin(9600);
 delay(100);
 bluetooth.begin(9600);
 servo1.attach(servoPin1);

}


void loop() {
  servo1.write(88);

if(bluetooth.available())
{
  char toSend=(char)bluetooth.read();
  if(toSend!=-5){

    switch(toSend)
    {
      case'3':
      servo1.write(5);
      delay(10000);
      break;

      case'4':
      servo1.write(45);
      delay(5000);
      break;

      case'5':
      servo1.write(88);
      delay(1000);
      break;
     
    }
  }
}
}




==================================



안녕하세요 메카솔루션입니다.

문의주신 내용의 경우,

DC모터를 제어하기 위해 보내주는 데이터와 서버모터를 제어하기 위해 사용되는 변수를 맞추어주시고 역할을 조정해주셔야합니다.

코드의 각부분이 하는 역할을 애해해주시고 합치시면 되기에 크게 어렵지 않으니 이것저것 시도해보시면 좋겠습니다.

감사합니다.

담당자: yevgeny
메카리워즈 Image Map


모바일 버전으로 보기