Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

DC Motor devresi yardım!

Başlatan grkm111, 19 Şubat 2016, 22:22:42

grkm111

https://yadi.sk/d/qUCSOOoXp9L8t

Arkadaşlar şöyle bir devre programlıyorum.

Timer kullanıyorum.  İlk butona basıldığında saat yönünde dönüyor ikinci butona bastığımızda saat yönünün tersine dönüyor.

Bide uyarı ışığı gibi led koydum.

Belli bir süre herhangi bir butona basılı tutulduğunda led yanıyor buton bırakıldığında led sönüyor fakat bu iki butonda da işe yaramıyor sadece tek butonda çalışıyor.

Yardımınızı bekliyorum arkadaşlar devreyi yukarda verdim. 

kareli

hocam merhabalar ben h koprusu adı altında bır başlık acmıstır burda dc motor sağ ve sol olarak kontrol edılebılıyor ayrıca yıne ıf dongusu ıcınde bır butona bastıgında saga ve bu dongu ıcınde o ledı de yakabılırsın dıger bır butonla yıne ıf dongusunde aynı durumu yapabılırsın..
4 transıstor kullanıyorsun burda çapraz transıstorlerın beyzıne 1 geldımı yanı lojık 1 geldımı saga tersı durumda sola doner ..
sole bır dongu yazayım;
if(input(ileri))// define ileri pin_a0// set_tris_a(0b00000011)//
{

output_high(pin_b0)
output_high(pin_b1 )   capraz transıstörlerın beyzı
saga doner..

output_high(pin_b2)
output_high(pin_b3 )   capraz transıstörlerın beyzı
sola soner



bunların devamına  output_high ( pin_b4) dıyıp ledı baglayıp yakabılırsın..


ayrıca else dıyıp beyzlerı sıfırlaman lazım motorun durması ıcın


output_b(0x00) dıyıp

output_high(pin_a2) dıyerek bı tanede stop ledı koyabılırsın..

tabı bırde dongu ıcerlerınde while(input());

dıyerekte butona elım basılı tutularak falan eklıyebılırsın.

ben daha cıragım dıger kıdemlı hocalarım yanlısımı duzeltebılır ve yenılerını ekleyebılır..ıyı calısmalar.
}
'Bırakın bugün onların olsun: ama uğrunda çok uğraştığım gelecek, benimdir' Nikola Tesla.

dursuncemal

kareli<< ne ciragi baya bir usta olmusun tebrikler.
grkm111 kodunu paylasir misin.
:=

kareli

Dursuncemal hocam, cok basit yazilimlari ancak irdeleyebiliyorum.kesmeler timerlar eeprom vs gibi yazilimlarda kafam karisiyor sinirleniyorum.ancak bole yavas yavas aklima gelenleri sorup gelistirmeye calisiyorum.
Yazilim .verdigi adreste var hocam ben timer falan diyince fazla girmedim isin icine. :)
'Bırakın bugün onların olsun: ama uğrunda çok uğraştığım gelecek, benimdir' Nikola Tesla.

vedo35

Hade naz etmede payas hocam su kodlari benimde arsivimde bulunsun bari.. Bu formda benim gibi ciraklar sizin gibi ustalara ihtiyaci var :))
Biliyormusun dedi, ben ne yaptiysam kader icabi yaptim dedi. Ben gene sustum.... Kimbilir sende belki kaderin memurusun vazifeni yapiyorsun dedi.

kareli

hocam ben birde yazılıma baktım  ıc ıce ıkı tane else ve ıf kullanmıssın. buna gerek yok ayrıca programın kafası karısmıstır ıkı tane ıf dongusu var burda ıf else ıf seklınde devam edıp sonradan else demen yeterlı dıger hocalarımında gormesı ıcın yazılım burada arkadaslar kolay gelsın;

#include <16F877.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor

// Denetleyici konfigürasyon ayarları
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay(clock=4000000)  // Osilatör frekansı ayarlanır

int i=0;

#int_timer0

void timer0_kesme()
{
    set_timer0(60);
    if(input(pin_a0) || input(pin_a1))
    {
      i++;
    }
      if(i==20)
      {
        output_high(pin_c0);
        i=0;
      }
    }




void main()
{
      
     set_tris_b(0x00);
     set_tris_a(0x01);
     output_b(0x00);
     set_tris_c(0x00);
     output_c(0x00);
         
     setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); // Timer0 ayarları yapılıyor
     set_timer0(60); // TMR0 değeri belirleniyor


     enable_interrupts(INT_timer0); // int_timer0 kesmesini aktif yapar
     enable_interrupts(GLOBAL); // Aktif edilen kesmelere izin ver
     
     while(1)
     {
     
       if(input(pin_a0))
       {
         output_high(pin_b0);
       }
       else
       {
         output_low(pin_b0);
         output_low(pin_c0);
       }
       if(input(pin_a1))
       {
         output_high(pin_b1);
       }
       else
       {
         output_low(pin_b1);
         
       }
             
     }
}
     
'Bırakın bugün onların olsun: ama uğrunda çok uğraştığım gelecek, benimdir' Nikola Tesla.

vedo35

Biliyormusun dedi, ben ne yaptiysam kader icabi yaptim dedi. Ben gene sustum.... Kimbilir sende belki kaderin memurusun vazifeni yapiyorsun dedi.

parana

Arkadaşlar,

ROV yapımı için iyi bir kaynak varmıdır, yardımlarınıza ihtiyacım var çok acilll.!

Teşekkürler,

dursuncemal

Alıntı yapılan: kareli - 01 Mart 2016, 19:47:15
Dursuncemal hocam, cok basit yazilimlari ancak irdeleyebiliyorum.kesmeler timerlar eeprom vs gibi yazilimlarda kafam karisiyor sinirleniyorum.ancak bole yavas yavas aklima gelenleri sorup gelistirmeye calisiyorum.
Yazilim .verdigi adreste var hocam ben timer falan diyince fazla girmedim isin icine. :)

once su temel giris cıkısları bır ıyıce sindir. gerisi kolay yavas yavas ogrenirsin.
:=

kareli

Evet hocam , o yuzden aklima takilan sorulari soruyorum.Kusuruma bakmayin.
'Bırakın bugün onların olsun: ama uğrunda çok uğraştığım gelecek, benimdir' Nikola Tesla.