Servo motors on Arduino micro

Hi, I need some help with setting up servo motor on my arduino micro. Whenever I use the basic codes they work but other parts of the code wont work... does anyone have any idea why is that and how to fix it ?

Please post your code and a connection diagram so we can zero in on the problem faster. And let us know what other parts of the code we have not seen won't work, and how you know that.

Should I post the whole code? Because it's 900 lines

What ports are you using for the servos?

Have you checked that those ports are not used elsewhere, possibly by libraries you may be using?

I'ts D0 and no it shouldn't be use its not used anywhere and I don't have any other libaries

Not even Serial() output?

Yes. As professional the total code was 250 000 lines. Okey, divided in some parts.
Else You might get 900 guesses as replies....

**#include <Servo.h>**
**Servo myservo1;**  // create servo object to control a servo

int pozicija = 0;

int JaudaMotL = 200;
int JaudaMotK = 200;

int MotL_en = 9;
int MotK_en = 10;

int MotL_D1 = 7;
int MotL_D2 = 8;

int MotK_D1 = 11;
int MotK_D2 = 12;

int motState = 0;
int prevMotState = 0;
int RobState = 0;
int MotStateTimer = 0;

int GaidaNoSakuma = 1;
int gaidisana = 0;

int PiebraucPrieksa = 1;

int gaidisana2 = 0;  //atbild par skaitisanu ringa apraugsanas funkcijai
int flank = 0;       //atbild par ringa apbraugsanu

int stav = 0;  // atbild par to lai programma tiktu palaista vienreiz cinas laika
int prog = 0;  // atbild par izvēlēto programmu

int stav2 = 1;  // atbild par izkustesanos ja frontala sadursme 2 sec
int gaida = 0;  // atbild par izkusteanos ja frontala sadrusem ir 2 sec

int state = 0;   // atbild par robota ieslegsanu(kad uzspiez pogu)
int state2 = 1;  //atbild par robota ieslegsanos pec restarta

int delays = 0;   //atbild lai es varetu tikt vala no delayiem
int gdelays = 0;  // atbild par delaju iebraucot ringa un gaidot
int reizi = 1;    // suds

**int karogs = 0;  // servo karogs**


int idelay = 0;
int IR_State = 0;

void setup() {

  TCCR1B = (TCCR1B & 0b11111000) | 0x01;
  pinMode(MotL_en, OUTPUT);
  pinMode(MotK_en, OUTPUT);

  pinMode(MotL_D1, OUTPUT);
  pinMode(MotL_D2, OUTPUT);
  pinMode(MotK_D1, OUTPUT);
  pinMode(MotK_D2, OUTPUT);

  pinMode(13, OUTPUT);
  pinMode(15, OUTPUT);
  pinMode(5, OUTPUT);



  pinMode(16, INPUT);
  pinMode(4, INPUT);
  pinMode(1, INPUT);


  analogWrite(MotL_en, JaudaMotL);
  analogWrite(MotK_en, JaudaMotK);
  
  **myservo1.attach(0, 600, 2300);**

**  myservo1.write(100);**

  motori_STOP();

  // Lasām vērtības uzreiz no reģistriem un izpildām nosacījuma operatora darbības
  // Šis ir daudz ātrāk nekā loopā lasīt vērtības un tad salīdzināt if`ā
  // Atgriež uzreiz vai redz vai nē pretinieku un vai ir vai nav uz ringa
  // Pašiem jānosaka skaitliskā vērtība pēc nepieciešamības

  pinMode(A1, INPUT);
#define Sen_KS analogRead(A1) > 300

  pinMode(A0, INPUT);
#define Sen_K analogRead(A0) > 200

  pinMode(A2, INPUT);
#define Sen_Pr analogRead(A2) > 200

  pinMode(A3, INPUT);
#define Sen_LS analogRead(A3) > 300

  pinMode(A4, INPUT);
#define Sen_L analogRead(A4) > 200

  pinMode(A5, INPUT);
#define Sen_Pr_K analogRead(A5) < 200

  pinMode(A7, INPUT);
#define Sen_Pr_L analogRead(A7) < 200

  Serial.begin(9600);
}

void loop() {

  //Ja šo neizmanto jākomentē ciet, tikai vērtību noteikšanai un testēšanai
  /*

    Serial.print("Sen_Pr ");
    Serial.println(analogRead(A2) );
    Serial.print("Sen_KS ");
    Serial.println(analogRead(A1) );
    Serial.print("Sen_K ");
    Serial.println(analogRead(A0) );
    Serial.print("Sen_L ");
    Serial.println(analogRead(A4) );
    Serial.print("Sen_LS ");
    Serial.println(analogRead(A3) );
    Serial.print("Sen_Pr_K ");
    Serial.println(analogRead(A5) );
    Serial.print("Sen_Pr_L ");
    Serial.println(analogRead(A7) );
    Serial.println("--------------------------------");
    delay(300);

  */

  if (digitalRead(16) == LOW) {

    state = state + 1;
    if (state > 1) {
      state = 0;
    }
  }

  if (digitalRead(1) == HIGH && state == 0 && IR_State == 0) {
    state = 1;
    IR_State = 1;
  }
  if (digitalRead(1) == LOW && state == 1 && IR_State == 1) {
    state = 0;
    IR_State = 0;
  }

  if (state == 1 && state2 == 1) {
    RobState = 1;
    digitalWrite(15, HIGH);
    delay(100);
    for (int i = 0; i < 5; i++) {
      stav = 0;
      digitalWrite(5, HIGH);
      delay(495);
      digitalWrite(5, LOW);
      delay(495);
    }
    state2 = 0;
  }


  if (state == 0) {
    RobState = 0;
  }

  // Izvele 1 tupi braukt uz prieksu-> D5
  // Izvele 2 iebraukt pa labo ringa malu-> D13
  // Izvele 3 iebraukt pa kreiso ringa malu-> D5, D13
  // Izvele 4 Gaida laika sakuma vienreiz-> RX
  // Izvele 5 Iebrauc ieksa 2 reiz un ta giada vienreiz-> TX
  // Izvele 6 Ievrauc uzreiz ieks un gaid-> D5,D13,RX
  // Izvele 7 Piebrauc baito pretinieku-> D5,D13,TX
  // Izvele 8 Iebrauc centra un radars-> D5, TX
  // Izvele 9 Gaida laika sakuma vienmer-> TXD, RX
  // Izvele 10 Tirit riepas-> Neviena nedeg

  if (digitalRead(4) == LOW) {
    prog = prog + 1;
    if (prog > 9) {
      prog = 0;
    }
    delay(200);
  }
  if (prog == 0) {
    digitalWrite(5, HIGH);
    digitalWrite(13, LOW);
    RXLED0;
    TXLED0;
  }
  if (prog == 1) {
    digitalWrite(5, LOW);
    digitalWrite(13, HIGH);
    RXLED0;
    TXLED0;
  }
  if (prog == 2) {
    digitalWrite(5, HIGH);
    digitalWrite(13, HIGH);
    RXLED0;
    TXLED0;
  }
  if (prog == 3) {
    digitalWrite(5, LOW);
    digitalWrite(13, LOW);
    RXLED1;
    TXLED0;
  }
  if (prog == 4) {
    digitalWrite(5, LOW);
    digitalWrite(13, LOW);
    RXLED0;
    TXLED1;
  }
  if (prog == 5) {
    digitalWrite(5, HIGH);
    digitalWrite(13, HIGH);
    RXLED1;
    TXLED0;
  }
  if (prog == 6) {
    digitalWrite(5, LOW);
    digitalWrite(13, LOW);
    RXLED1;
    TXLED1;
  }
  if (prog == 7) {
    digitalWrite(5, HIGH);
    digitalWrite(13, HIGH);
    RXLED0;
    TXLED1;
  }
  if (prog == 8) {
    digitalWrite(5, HIGH);
    digitalWrite(13, LOW);
    RXLED1;
    TXLED0;
  }
  if (prog == 9) {
    digitalWrite(5, LOW);
    digitalWrite(13, LOW);
    RXLED0;
    TXLED0;
  }


  if (RobState == 1) {



    **if (karogs == 0) {**
**      karogs_nolaid();**
**    }**


    if (prog == 9) {
      analogWrite(MotL_en, 250);
      analogWrite(MotK_en, 250);
      motori_Taisni();
    }
    motState = 0;  //Nonullē mainīgo


    //Pieskaitām motoru stāvoklim sensora noteikto vērtību ts ir, 1 vai 2 vai 4
    // iznākums ir summu kobinācijas, kas atšķiras ir unikālā un varam veikt kādas darbības


    if (Sen_Pr_K)  // Prieksas kreisais linijas sensors
    {
      motState = motState + 1;

      stav = 1;
    }
    if (Sen_Pr_L)  // Prieksas labas linijas sensors
    {
      motState = motState + 2;

      stav = 1;
    }
    if (Sen_K)  // Taluma kreisais sensors
    {
      motState = motState + 8;

      stav = 1;
    }
    if (Sen_Pr)  // Taluma prieksas sensors
    {
      motState = motState + 16;

      stav = 1;
    }
    if (Sen_L)  // Taluma labais sensors
    {
      motState = motState + 32;

      stav = 1;
    }
    if (Sen_LS)  // Taluma labais slipi sensors
    {
      motState = motState + 100;

      stav = 1;
    }
    if (Sen_KS)  // Taluma kreisais slipi sensors
    {
      motState = motState + 200;

      stav = 1;
    }

    prevMotState = motState;

    //motState tagad glabā sensoru
    //stāvokļa vērtību
    switch (motState) {

      //Switch struktūra nolasa mainīgo, kas satāv no unikālajām skaitļu summām
      //un izsauc nepieciešmao funkciju
      case 0:  //Neviens nav nostrādājis
        analogWrite(MotL_en, 200);
        analogWrite(MotK_en, 200);
        motori_Taisni();


        if (prog == 8)  // Gaida visualaik
        {
          Gaida();
        }



        if (stav == 0) {


          if (prog == 0)  // Sakuma uzbrukums
          {
            analogWrite(MotL_en, 250);
            analogWrite(MotK_en, 250);
            motori_Taisni();
          }



          if (prog == 1)  // Sakuma uzbrukums izbraucot pa ringa labo pusi
          {

            IzbrPaLabiJ();
          }

          if (prog == 2)  // Sakuma uzbrukums izbraucot pa ringa kreiso pusi
          {
            IzbrPaKreisiJ();
          }

          if (prog == 3)  // Gaida vienreiz
          {
            Gaida();
          }

          if (prog == 4)  // iebrauc gaida iebrauc
          {
            gaida_kruta();
          }
          if (prog == 5)  // iebraucc dzili gaida
          {
            gaida_iebrauc();
          }
          if (prog == 6)  // pabaito pretinieku iebrauc pa kreisi un ta atpakal
          {
            bait();
          }
          if (prog == 7)  // iebrauc centra un radars
          {
            radars();
          }
        }


        break;

      case 1:  //Kreisais sensors
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);


        // motori_atpakl();
        // delay(200);
        if (delays < 200) {
          motori_PaLabi();
          delay(1);
          delays = delays + 1;
        }
        delays = 0;



        stav = 1;
        break;

      case 2:  //Labais sensors


        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        //    motori_atpakl();
        //   delay(250);


        if (delays < 200) {
          motori_PaKreisi();
          delay(1);
        } else {
          delays = 0;
        }

        stav = 1;
        break;

      case 3:  //Abi priekšējie
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        if (delays > 220) {
          motori_atpakl();
          delay(1);
        } else {
          delays = 0;
        }

        if (delays > 250) {
          motori_PaLabi();
          delay(1);
        } else {
          delays = 0;
        }
        stav = 1;
        break;

      case 7:  //Visi sensori nostrādājuši
        motori_STOP();
        break;

      case 8:  //Sen_k sākas pretinieksa meklesana
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaKreisi();
        stav = 1;
        break;
      case 16:  //Sen_PR
        analogWrite(MotL_en, 255);
        analogWrite(MotK_en, 255);
        //if(stav2 == 0){

        motori_Taisni();
        /* }
          if (stav2 == 1)
          {
           if(gaida < 4000)
           {
           gaida = gaida + 1;
            motori_Taisni();
           delay(1);
           }
           else if(gaida >= 4000)
           {
             Izkusteties();
             stav2 = 0;

           }
          }
        */




        stav = 1;

        break;
      case 19:  //Sen_Pr_K/L un Sen_Pr uzbrukums
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_Taisni();
        stav = 1;
        break;
      case 24:  //Sen_k
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_Taisni();
        break;
      case 32:  //Sen_L
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaLabi();
        stav = 1;
        break;
      case 48:  //Sen_L
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_Taisni();
        stav = 1;
        break;
      case 100:  // Sen_LS
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaLabi();
        stav = 1;
        break;
      case 116:  // Sen_LS un Sen_PR
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaLabi();
        stav = 1;
        break;
      case 132:  // Sen_LS un Sen_L
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaLabi();
        stav = 1;
        break;
      case 200:  // Sen_KS
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaKreisi();
        stav = 1;
        break;
      case 208:  // Sen_KS un Sen_K
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaKreisi();
        stav = 1;
      case 216:  // Sen_KS un Sen_PR
        analogWrite(MotL_en, 250);
        analogWrite(MotK_en, 250);
        motori_PaKreisi();
        stav = 1;
        break;
    }



  } else {
    motori_STOP();
  }
}

void motori_STOP() {

  analogWrite(MotL_en, 0);
  analogWrite(MotK_en, 0);

  digitalWrite(MotL_D1, HIGH);
  digitalWrite(MotL_D2, HIGH);

  digitalWrite(MotK_D1, HIGH);
  digitalWrite(MotK_D2, HIGH);
}

void motori_Taisni() {
  digitalWrite(MotL_D1, HIGH);
  digitalWrite(MotL_D2, LOW);
  digitalWrite(MotK_D1, LOW);
  digitalWrite(MotK_D2, HIGH);
}

void motori_atpakl() {
  digitalWrite(MotL_D1, LOW);
  digitalWrite(MotL_D2, HIGH);
  digitalWrite(MotK_D1, HIGH);
  digitalWrite(MotK_D2, LOW);
}

void motori_PaKreisi() {
  digitalWrite(MotL_D1, LOW);
  digitalWrite(MotL_D2, HIGH);
  digitalWrite(MotK_D1, LOW);
  digitalWrite(MotK_D2, HIGH);
}

void motori_PaLabi() {
  digitalWrite(MotL_D1, HIGH);
  digitalWrite(MotL_D2, LOW);
  digitalWrite(MotK_D1, HIGH);
  digitalWrite(MotK_D2, LOW);
}

void Izkusteties() {
  motori_PaLabi();
  delay(300);
  stav2 = 0;
}




void IzbrPaLabiJ() {

  if (flank == 0) {
    analogWrite(MotL_en, 90);
    analogWrite(MotK_en, 150);
    if (gaidisana2 < 900) {
      gaidisana2 = gaidisana2 + 1;
      digitalWrite(MotL_D1, HIGH);
      digitalWrite(MotL_D2, LOW);


      digitalWrite(MotK_D1, LOW);
      digitalWrite(MotK_D2, HIGH);
      delay(1);
    } else {
      flank = 1;
      gaidisana2 = 0;
    }
  }
  if (flank == 1) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);

    if (gaidisana2 < 160) {
      gaidisana2 = gaidisana2 + 1;
      digitalWrite(MotL_D1, LOW);
      digitalWrite(MotL_D2, HIGH);


      digitalWrite(MotK_D1, LOW);
      digitalWrite(MotK_D2, HIGH);

      delay(1);
    } else {
      flank = 2;
      gaidisana2 = 0;
    }
  }
  if (flank == 2) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);

    if (gaidisana2 < 50) {
      gaidisana2 = gaidisana2 + 1;
      digitalWrite(MotL_D1, HIGH);
      digitalWrite(MotL_D2, LOW);


      digitalWrite(MotK_D1, LOW);
      digitalWrite(MotK_D2, HIGH);

      delay(1);
    } else {
      stav = 1;
    }
  }
}




void IzbrPaKreisiJ() {

  if (flank == 0) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 96);
    if (gaidisana2 < 900) {
      gaidisana2 = gaidisana2 + 1;
      digitalWrite(MotL_D1, HIGH);
      digitalWrite(MotL_D2, LOW);


      digitalWrite(MotK_D1, LOW);
      digitalWrite(MotK_D2, HIGH);
      delay(1);
    } else {
      flank = 1;
      gaidisana2 = 0;
    }
  }
  if (flank == 1) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);

    if (gaidisana2 < 150) {
      gaidisana2 = gaidisana2 + 1;
      digitalWrite(MotL_D1, HIGH);
      digitalWrite(MotL_D2, LOW);


      digitalWrite(MotK_D1, HIGH);
      digitalWrite(MotK_D2, LOW);

      delay(1);
    } else {
      flank = 2;
      gaidisana2 = 0;
    }
  }
  if (flank == 2) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);

    if (gaidisana2 < 50) {
      gaidisana2 = gaidisana2 + 1;
      digitalWrite(MotL_D1, HIGH);
      digitalWrite(MotL_D2, LOW);


      digitalWrite(MotK_D1, LOW);
      digitalWrite(MotK_D2, HIGH);

      delay(1);
    } else {
      stav = 1;
    }
  }
}


void Gaida() {
  if (GaidaNoSakuma == 1) {

    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);
    motori_Taisni();
    delay(60);
    GaidaNoSakuma = 2;
  }
  if (GaidaNoSakuma == 2) {
    analogWrite(MotL_en, 0);
    analogWrite(MotK_en, 0);
    motori_STOP();
    if (gaidisana < 1900) {

      gaidisana = gaidisana + 1;
      delay(1);
    } else {
      analogWrite(MotL_en, 70);
      analogWrite(MotK_en, 70);
      motori_Taisni();
      delay(40);
      gaidisana = 0;
    }
  }
}
void gaida_kruta() {
  if (GaidaNoSakuma == 1) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);
    if (gdelays < 150) {

      motori_Taisni();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      gdelays = 0;
      GaidaNoSakuma = 2;
    }
  }
  if (GaidaNoSakuma == 2) {
    analogWrite(MotL_en, 0);
    analogWrite(MotK_en, 0);
    motori_STOP();
    if (gaidisana < 1000) {

      gaidisana = gaidisana + 1;
      delay(1);
    } else {

      gaidisana = 0;
      gdelays = 0;
      GaidaNoSakuma = 3;
    }
  }
  if (GaidaNoSakuma == 3) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);
    if (gdelays < 150) {

      motori_Taisni();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      gdelays = 0;
      GaidaNoSakuma = 4;
    }
  }

  if (GaidaNoSakuma == 4) {
    analogWrite(MotL_en, 0);
    analogWrite(MotK_en, 0);
    motori_STOP();
    if (gaidisana < 1900) {

      gaidisana = gaidisana + 1;
      delay(1);
    } else {
      analogWrite(MotL_en, 70);
      analogWrite(MotK_en, 70);
      motori_Taisni();
      delay(40);
      gaidisana = 0;
    }
  }
}
void gaida_iebrauc() {
  if (GaidaNoSakuma == 1) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);
    if (gdelays < 300) {

      motori_Taisni();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      gdelays = 0;
      GaidaNoSakuma = 2;
    }
  }
  if (GaidaNoSakuma == 2) {
    analogWrite(MotL_en, 0);
    analogWrite(MotK_en, 0);
    motori_STOP();
    if (gaidisana < 1900) {

      gaidisana = gaidisana + 1;
      delay(1);
    } else {
      analogWrite(MotL_en, 70);
      analogWrite(MotK_en, 70);
      motori_Taisni();
      delay(40);
      gaidisana = 0;
    }
  }
}

void bait() {

  if (PiebraucPrieksa == 1) {
    analogWrite(MotL_en, 250);
    analogWrite(MotK_en, 250);
    if (gdelays < 100) {

      motori_Taisni();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      gdelays = 0;
      PiebraucPrieksa = 2;
    }
  }
  if (PiebraucPrieksa == 2) {
    analogWrite(MotL_en, 250);
    analogWrite(MotK_en, 250);
    if (gdelays < 100) {

      motori_PaKreisi();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      gdelays = 0;
      PiebraucPrieksa = 3;
    }
  }
  if (PiebraucPrieksa == 3) {
    analogWrite(MotL_en, 200);
    analogWrite(MotK_en, 200);
    if (gdelays < 200) {

      motori_Taisni();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      gdelays = 0;
      PiebraucPrieksa = 4;
    }
  }
  if (PiebraucPrieksa == 4) {
    analogWrite(MotL_en, 200);
    analogWrite(MotK_en, 200);
    if (gdelays < 300) {

      motori_atpakl();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      PiebraucPrieksa = 5;
      gaidisana = 0;
    }
  }

  if (PiebraucPrieksa == 5) {
    analogWrite(MotL_en, 0);
    analogWrite(MotK_en, 0);
    motori_STOP();
    if (gaidisana < 1900) {

      gaidisana = gaidisana + 1;
      delay(1);
    } else {
      analogWrite(MotL_en, 70);
      analogWrite(MotK_en, 70);
      motori_Taisni();
      delay(40);
      gaidisana = 0;
    }
  }
}

void radars() {
  if (GaidaNoSakuma == 1) {
    analogWrite(MotL_en, 150);
    analogWrite(MotK_en, 150);
    if (gdelays < 300) {

      motori_Taisni();
      delay(1);
      gdelays = gdelays + 1;
    } else {
      gdelays = 0;
      GaidaNoSakuma = 2;
    }
  }
  if (GaidaNoSakuma == 2) {
    if (gdelays < 400) {

      motori_PaKreisi();
      delay(1);
      gdelays = gdelays + 1;
    } else
      GaidaNoSakuma = 0;
  }
}
**void karogs_nolaid() {**

**  myservo1.write(180);  // tell servo to go to position in variable 'pos'**
**  karogs = 1;**
**}**

I have bolded all the code that is for my servo
well it seem i have bolded but put them in stars ** **

How was this software built? All at one time? I have ideas....

Which parts don't work? What do they do and what are they expected to do?

Reply #2 urges You to post the wiring. Please do that.

The Servo library uses Timer 1. This disables analogWrite on pins 9 an 10, which you are using.

Is there an alternative to the that?

do you want it like a electronic or the physical picture

Reply #9 contains 3 parts but You only react on one of them.

Very often pen and paper can create schematics, if that's what Your question is about.

What do you mean by how was it built?

Your project looks like connecting everything and the codeing? Correct?
Developing large systems calls for adding hardware and coding one piece at the time. Then the next hardware part is added and coded.

Well the code is for a mini sumo robot. The servo is like a flag that comes down I recently wanted to add it and it somehow dosent let the motors work.a s MicroBahner said the libary stop D9 and D10 from working and maybe thats why because d9 and d10 are for the motor driver. Anyone know a fix?

I found the solution it was the pwm pin using from the libaray and I found a fix from a older forum

int servoPin = 7;     // Control pin for servo motor
 int minPulse = 544;   // Minimum servo position
 int maxPulse = 2400;  // Maximum servo position

 void setup() {
  pinMode(servoPin, OUTPUT);  // Set servo pin as an output pin
 }

 void loop() {
  turnServo(45);
  delay(3000);
  turnServo(90);
  delay(3000);
  turnServo(135);
 }
 
 void turnServo(int value)
{  
    if(value < 0) value = 0;
    if(value > 180) value = 180;
    value = map(value, 0, 180, minPulse,  maxPulse);      
    for(int i=0;i<25;i++) {
      digitalWrite(servoPin, HIGH);   // Turn the motor on
      delayMicroseconds(value);       // Length of the pulse sets the motor position
      digitalWrite(servoPin, LOW);    // Turn the motor off
      delay(20);
    }
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.