Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: mr.selim - 14 Mayıs 2017, 18:39:10

Başlık: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mr.selim - 14 Mayıs 2017, 18:39:10
Herkese iyi çalışmalar. Tecrübenize dayalı olarak bir soru sormak istiyorum. Projeye arduino ile başladım malesef onla bitirmek zorundayım. Belki tecrübe edeniniz olmuştur diye böyle bir soru sormak istedim. Şimdiden teşekkürler.

Arduino kullanıyorsunuz. İki tane fonksiyonunuz (A ve B) ve 3 tane digital pin çıkışınız var. Anahtarınıza göre A ve B yi seçiyoruz. A fonksiyonun da bu 3 pin duruma göre 0 ile başlayıp Lojik 1 ve 0 çıkışları vermeli. B yi seçtiğinizde bu 3 pin 0 ile başlayıp duruma göre belli oranlarda PWM vermeli.

Şimdi soru şu. Arduino aynı pinde hem lojik çıkış hemde pwm çıkış verebilmede ne kadar iyi ? Ne eklenmeli ki sıkıntılar yaşamiyim ?

Kendi tecrübeme dayanarak söyliyim. Arduinoya ait olan komutu ( analogWrite ) kullanıldığında PWM edilen pinler daha sonrasında mesela PORTA = 0x00 dediğimde sıfırlanmadığını ve PWM edilmeye devam edildiğini gördüm. Ve böyle bir soru sorma gereği duydum.
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mehmet - 14 Mayıs 2017, 18:46:09

analogWrite(pin, 0);
digitalWrite(pin, HIGH);

şeklinde kullanabilirsiniz. PWM 'i durdurup sonra
dijital giriş-çıkış olarak kullanmak mantıklı olacaktır.
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mr.selim - 14 Mayıs 2017, 18:58:07
@mehmet Yorumunuz için teşekkür ederim hocam. Fakat mantığımın almadığı nokta şu. Ben sürekli analog 0 mı kullanıcam ? Mesela dijitale geçtim analog sıfır diyip sonra direk lojik 1 mi yapıcam ? yoksa hem analoğu hemde lojiği her defasında sıfırlayıp dijital high mı yapmam gerekli olacak?


Dediğim gibi en son test ettiğimde analog değerleri PORTA = 0x00 diyip kapatamamıştım. Dijitallerde analog 0 diyip kapanmıyor :)
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mehmet - 14 Mayıs 2017, 19:04:10
Arduino kullanırken artık PORTA = 0x00; gibi
kullanmaya gerek yok. Analog çıkıştan dijitale
geçmek için, önce analoğ çıkışı durdurup sonra
dijital olarak kullanmak gerekecektir. Hatta
pinMode ile dijital çıkış işlemi yenilenebilir.
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mr.selim - 14 Mayıs 2017, 19:14:47
Dijitalden analoğa geçişte yine aynı durum söz konusu mudur ?
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mehmet - 14 Mayıs 2017, 19:18:37
Bence öyle yapmak uygun olacaktır...
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mr.selim - 14 Mayıs 2017, 19:42:11
Anladım hocam denerim. Teşekkür ederim cevaplar için.
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mr.selim - 14 Mayıs 2017, 22:11:27
@mehmet Hocam ufak bişey yaptım kendimce fikrinizi almak isterim. Normalde lojik olarak kullandığım çıkışları, Bu kesme fonksiyonunda analog çıkış olarak kullanmak istedim. Sizce nasıl olmuştur ?
void setup
{
attachInterrupt(5, KESME, RISING);
}

void KESME ()
{
  PORTB = 0x00;
  analogWrite (Afaz, 0);
  analogWrite (Bfaz, 0);
  analogWrite (Cfaz, 0);
 
  while (SW4 == 1)
{
       if()
       
       if()
       
       if()
       
}

   analogWrite (Afaz, 0);
   analogWrite (Bfaz, 0);
   analogWrite (Cfaz, 0);
     PORTB = 0x00;
 
  }


Kesmeden çıkarken devamlı kullanılan fonksiyon için sıkıntı çıkarmasın diye sona da ekleme yaptım. SW anahtar. Anahtar basılı olduğu süresince kalsın çıkışda da eski haline döner dedim. Mantıklı mıdır sizce?
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: BLİZZARD - 16 Mayıs 2017, 03:40:13
Çok ilginç .. doğrusu merak ettim ben çok daha çeşitli yapacam aynı pini giriş  sonra çıkış digital ve pwm olarak frekansını da değiştirmeli  çok ilgimi çekti ... Olması gerek  :o
Başlık: Ynt: Arduino da aynı pinin hem lojik 1-0 hemde PWM olarak kullanılması?
Gönderen: mr.selim - 17 Mayıs 2017, 03:41:06
analogwrite yaptıktan sonra digitalwrite yapmak gerekiyor. Hele ki bu sadece çıkış için. Birde hem giriş hem çıkış olursa o zaman da işler daha çılgın oluyor. Frekans değiştirmekte sorun yok ama. Bu write komutların arka planda ne iş yaptıklarını incelemedim ama bence de çok ilginç.