dominoFiber     domiRobot     Forum


Projeler - DC Motorun İstenilen Pozisyonda Durdurulması

DC Motorun İstenilen Pozisyonda Durdurulması
Fotoğraftaki motorun miline bağlı potansiyometrenin mili motor döndükçe hareket etmektedir. Bu çalışmada potansiyometrenin aldığı konum dikkate alınarak motor dönerken motor mili arzu edilen açıya (0 ila 180 derece, örnekte 90 derece) geldiğinde motorun durması sağlanmıştır.

Fotoğraf 1: Devreye ait fotoğraf

Şema 1 : Arduino Bağlantı Şeması

Şema 2 : ISIS Bağlantı Şeması (uno)

Şema 3 : ISIS Bağlantı Şeması (mega)

Arduino kodu (Arduino uno)
Kod: [Seç]
int sag_don = 11;
int sol_don = 10;

int potansiyometrePin = A0;
int potansiyometreValue = 0;
int potansiyometre=0;


void setup()
{
pinMode(sag_don, OUTPUT);
pinMode(sol_don, OUTPUT);

Serial.begin(9600);
}

void loop()
{
 
  potansiyometreValue = analogRead(potansiyometrePin);
  potansiyometre= map(potansiyometreValue, 0, 1023, 0, 180);
  Serial.println(potansiyometre);
  delay (10);

 if( potansiyometre < 89)
{
  sag_sol_test();
}

 if( potansiyometre > 91)
{
  sag_sol_test();
}
 
 if( potansiyometre == 90)
{
  sag_sol_test_stop();
}


}


void sag_sol_test()
{
          for (int domirobot = 1; domirobot <= 500;  domirobot ++)
            {
              analogWrite(sag_don, 130);
              analogWrite(sol_don, 0);
              delay(1);
              potansiyometreValue = analogRead(potansiyometrePin);
              potansiyometre= map(potansiyometreValue, 0, 1023, 0, 180);
              Serial.println(potansiyometre);
               if( potansiyometre == 90)
                {
                  sag_sol_test_stop();
                }
            }

          for (int domirobot = 1; domirobot <= 500;  domirobot ++)
            {
              analogWrite(sag_don, 0);
              analogWrite(sol_don, 130);
              delay(1);
              potansiyometreValue = analogRead(potansiyometrePin);
              potansiyometre= map(potansiyometreValue, 0, 1023, 0, 180);
              Serial.println(potansiyometre); 
               if( potansiyometre == 90)
                {
                  sag_sol_test_stop();
                }
            }           

}

void sag_sol_test_stop()
{
  analogWrite(sag_don, 0);
  analogWrite(sol_don, 0);
  sag_sol_test_stop();
}

Arduino kodu (Arduino mega)
Kod: [Seç]
int sag_don = 4;
int sol_don = 3;

int potansiyometrePin = A0;
int potansiyometreValue = 0;
int potansiyometre=0;


void setup()
{
pinMode(sag_don, OUTPUT);
pinMode(sol_don, OUTPUT);

Serial.begin(9600);
}

void loop()
{
 
  potansiyometreValue = analogRead(potansiyometrePin);
  potansiyometre= map(potansiyometreValue, 0, 1023, 0, 180);
  Serial.println(potansiyometre);
  delay (10);

 if( potansiyometre < 89)
{
  sag_sol_test();
}

 if( potansiyometre > 91)
{
  sag_sol_test();
}
 
 if( potansiyometre == 90)
{
  sag_sol_test_stop();
}


}


void sag_sol_test()
{
          for (int domirobot = 1; domirobot <= 500;  domirobot ++)
            {
              analogWrite(sag_don, 130);
              analogWrite(sol_don, 0);
              delay(1);
              potansiyometreValue = analogRead(potansiyometrePin);
              potansiyometre= map(potansiyometreValue, 0, 1023, 0, 180);
              Serial.println(potansiyometre);
               if( potansiyometre == 90)
                {
                  sag_sol_test_stop();
                }
            }

          for (int domirobot = 1; domirobot <= 500;  domirobot ++)
            {
              analogWrite(sag_don, 0);
              analogWrite(sol_don, 130);
              delay(1);
              potansiyometreValue = analogRead(potansiyometrePin);
              potansiyometre= map(potansiyometreValue, 0, 1023, 0, 180);
              Serial.println(potansiyometre); 
               if( potansiyometre == 90)
                {
                  sag_sol_test_stop();
                }
            }           

}

void sag_sol_test_stop()
{
  analogWrite(sag_don, 0);
  analogWrite(sol_don, 0);
  sag_sol_test_stop();
}

Download
İhtiyaç duyulması halinde projeye ait dosyaları buraya tıklayıp indirebilirsiniz.


DC Motor satın al

  • DC Motor Satın AlDC Motor Satın AlDC Motor Satın Al