PIC16F628A ile Servo Motoru Kontrol Etmek

Başlatan PIC16F, 05 Eylül 2016, 11:39:24

karacan451




void servoDondur(int derece){

    if (derece==-90){
     portb.B0 = 1;
     delay_us(1000);
     portb.b0 = 0;
     delay_us(19000);
     }
     
     if (derece==-72){
     portb.B0 = 1;
     delay_us(1100);
     portb.b0 = 0;
     delay_us(18900);
     }

     // Bu siteye bakarak böyle devam et  http://www.robotiksistem.com/servo_motor_ozellikleri.html
     // Mesala diyelimki -45 vermek isyorsun 1250 us 5v yap sonra 20000-1250 çıkart çıkan sonucu 0 volt ver delay_us(18250); koyarsın







}








void main() {
     int i;
     TRISB = 0;
     portb=0;

     while(1){

                    servoDondur(-72);
                    delay_ms(10);

     }

}



Ben kodu az önce çalıştı. Bide sen dene.

PIC16F

#16
Sayı vererek yapınca çalışıyor.
delay_us parametre olarak değişken almadığı için o sorun vardı...
Tek tek yaparsam 180 tane if yapısı kurmam gerekir.

Powered by EzPortal