Rabu, 12 Desember 2018

program kontrol motor dc dan motor servo dengan android

#include <Servo.h>
Servo myservo1, myservo2, myservo3;
String readdata;

void setup() {
Serial.begin(9600);
myservo1.attach(7);
myservo2.attach(8);
myservo3.attach(9);
pinMode(4, OUTPUT);
pinMode(2, OUTPUT);
pinMode(5, OUTPUT);
pinMode(3, OUTPUT);

}
//-----------------------------------------------------------------------//
void loop() {
while (Serial.available()){ 
delay(10);
  char c = Serial.read();
readdata += c;
  }
if (readdata.length() > 0) {
Serial.println(readdata);

if(readdata == "maju")
  {
digitalWrite(4, HIGH);
digitalWrite (2, HIGH);
digitalWrite(5,LOW);
digitalWrite(3,LOW);
delay(100);

  }
  else if(readdata == "mundur")
  {
digitalWrite(4, LOW);
digitalWrite(2, LOW);
digitalWrite(5, HIGH);
digitalWrite(3,HIGH);
delay(100);
  }

else if (readdata == "kanan")
  {

digitalWrite (4, LOW);
digitalWrite (2, HIGH);
digitalWrite (5, HIGH);
digitalWrite (3, LOW);
delay (100);
  }

else if ( readdata == "kiri")
 {

digitalWrite (4,HIGH);
digitalWrite (2,LOW);
digitalWrite (5,LOW);
digitalWrite (3,HIGH);
delay (100);
 }

else if (readdata == "stop")
 {
digitalWrite (4, LOW);
digitalWrite (2, LOW);
digitalWrite (5, LOW);
digitalWrite (3, LOW);
delay (100);
 }

 ///////////+++++++batas lengan+++++///////////

else if(readdata == "rebah") //posisi kedua
  {
 myservo1.write(120); ///rebah
  myservo2.write(100);
   myservo3.write(20);
{
  delay(1500);
}
 myservo1.write(120); //buka
  myservo2.write(125);
     myservo3.write(30);
{
  delay(1500);
}
  }

else if (readdata == "jepit") //posisi ke 3
  {
  myservo1.write(120); ///jepit
  myservo2.write(125);
     myservo3.write(70);
{
  delay(1500);
}
     myservo1.write(100); //posisi angkat belakang
  myservo2.write(180);
     myservo3.write(70);
{
  delay(1500);
}
     myservo1.write(20); //posisi buang
  myservo2.write(180);
     myservo3.write(70);
{
  delay(1500);
}

  }
else if ( readdata == "buka") //posisi 4
 {
myservo1.write(20); //posisi buka
  myservo2.write(180);
     myservo3.write(30);

 {
  delay(1500);
  }
 }

else if (readdata == "otomatis") //posisi 5
 {
myservo1.write(0); //posisi awal
  myservo2.write(0);
   myservo3.write(70);
{
  delay(1500);
}
myservo1.write(50); //posisi awal 2
  myservo2.write(0);
   myservo3.write(70);
{
  delay(1500);
}
   myservo1.write(120); ///rebah
  myservo2.write(100);
   myservo3.write(20);
{
  delay(1500);
}
 myservo1.write(120); //buka
  myservo2.write(125);
     myservo3.write(30);
{
  delay(1500);
}
      myservo1.write(120); ///jepit
  myservo2.write(125);
     myservo3.write(70);
{
  delay(1500);
}
     myservo1.write(100); //posisi angkat belakang
  myservo2.write(180);
     myservo3.write(70);
{
  delay(1500);
}
     myservo1.write(20); //posisi buang
  myservo2.write(180);
     myservo3.write(70);
{
  delay(1500);
}
  myservo1.write(20); //posisi buka
  myservo2.write(180);
     myservo3.write(30);

 {
  delay(1500);
  }
 }


 else if ( readdata == "1") //posisi 4
 {
myservo1.write(140); ///rebah
  myservo2.write(140);
   myservo3.write(20);
  }

readdata="";}} //Reset the variable

Tidak ada komentar:

Posting Komentar