Ledleri bağımsız kontrol etmem gerekmekte.

Katılım
8 Ara 2017
Mesajlar
3
Puanları
1
Yaş
32
Merhaba,
Aşağıya anlaşılır olması için proteusta çizdiğim devrenin ufak bir kesitini koydum... burada yapmam gereken örneğin en soldaki butona bastığımda ona bağlı ledin yanması ve buton bırakıldığında da yanık kalması.. daha sonrasında ortadaki butona bastığımda aynı zamanda 2. ledinde yanık kalması.. o sırada en soldaki butona tekrar basılırsa ilk ledi söndürmem... yani aynı anda butonlarla senkronize olarak bazen 3 bazen 2 bazen ledin yanık kalması ve tekrar basıldığında söndürülmesi... zaman paylaşımı ve matris üzerinden gitmeye çalışıyorum fakat yapamadım sorunlar çıkıyor program uzuyor ve karışıyor... yardım ederseniz çok sevinirim... ASLINDA SORUNUM LEDLER AYNI YERE BAĞLI OLDUĞU İÇİN BACAKLARI HEM GİRİŞ HEM ÇIKIŞ OLARAK KULLANMAM GEREKECEK.. BUNUN İÇİN MATRİS VE ZAMAN PAYLAŞIMI ÜZERİNDE DURDUM...
 

Ekli dosyalar

  • devre.JPG
    devre.JPG
    62.2 KB · Görüntüleme: 34
bir şey diyemem ama, bir port ya giriştir yada çıkış, ikisi birden nasıl oluyor ?
 
Sürekli taramakla harcayacağın işlemci zamanına yazık.

Butonlara paralel birer tane 100nF veya 1uF kapasiör bağla, filtre olarak.
Butonların bağlı olduğu her bir pinden birer diyot ile RB0 harici kesme pinine gir,
butona basılınca kesme gelecek şekilde bağlantı yap yani,
kesme geldiğinde butonların bağlı olduğu pinleri giriş yapıp oku,
önceki değeriyle karşılaştır, basılan buton- butonlara göre led durumlarını değiştir.
 
Sürekli taramakla harcayacağın işlemci zamanına yazık.

Butonlara paralel birer tane 100nF veya 1uF kapasiör bağla, filtre olarak.
Butonların bağlı olduğu her bir pinden birer diyot ile RB0 harici kesme pinine gir,
butona basılınca kesme gelecek şekilde bağlantı yap yani,
kesme geldiğinde butonların bağlı olduğu pinleri giriş yapıp oku,
önceki değeriyle karşılaştır, basılan buton- butonlara göre led durumlarını değiştir.
evet bencede yazık ve birsürü boş bacak varken saçma zaten ama devre bu şekilde kulurmuş yaklaşık 50 adet üretilmiş ve tarama mantığıyla yapmamı istiyorlar tek çarem bu aslında bende bunu yapamıyorum aklıma burası geldi :( belki yardım bulurum diye.. ve ledler sadece bu kadar değil tarama mantığıyla 7 tarama yapmam gerekmekte 6led yakma bi buton okuma.. ama nasıl bilemiyorum ve inanın bulamıyorum..
 
Merhaba. Benzer olduğu için buraya yazıyorum. Analog bir veri bi geldiğinde ledi açıp aynı veri bi daha geldiğinde söndüren bir entegre ya da devre şemasına ihtiyacım var. Yardımcı olabilecek varsa çok sevinirim.
 
1 milisaniye timer kesmesi kur,
1. kesmeye girdiğinde portu sıfırla, portu giriş yap, kesmeden çık,
2. kesmeye girdiğinde portu oku (Port_yeni_deger) , portu sıfırla, portu çıkış yap,
porta eski değerini yükle (Port_eski_deger), kesmeden çık,
3. kesmede "Port_yeni_deger" i, "Port_son_deger" ' e al,
4,5,6 kesmede 4 ve 5, 1 ve 2. adımlar ile aynı şekilde olacak ama
adım 6 da, adım 3 yerine "Port_yeni_deger", "Port_son_deger" ' e eşit mi diye bakılacak
eşit ise buton_durum arttırılacak, değil ise buton_durum sıfırlanacak
(buton debounce, buton arkı engellemek için)
456, 789, 101112, 131415, aynı şekilde yapılacak
15. adım sonunda
buton_durum >3 ise
"Port_son deger" bitlerine bakılıp Port_eski_deger bitleri toggle edilecek
en kaba haliye
if( (Port_son deger,0) == 1 ) {Port_eski_deger = Port_eski_deger ^ 0b00000001;}
if( (Port_son deger,1) == 1 ) {Port_eski_deger = Port_eski_deger ^ 0b00000010;}
if( (Port_son deger,2) == 1 ) {Port_eski_deger = Port_eski_deger ^ 0b00000100;}

bu toggle işi portta kac led buton varsa herbiri için yapılacak,
ve Porta şimdi üretilmiş olan "Port_eski_deger" yüklenecek,
buton_durum sıfırlanacak,
adım1,2,3..15 sürekli bu şekilde tekrarlanacak.
 
Şemada Vcc buton üzerinden gnd ye kısa devre oluyor. Butona basıldığında güç kaynağınız kısa devre olacak. Ayrıca ledlerin hepsi paralel.

Bu şema bu şekli ile çalışmaz. Şemanın değiştirilmesi lazım. Bu 3 ledi işlemci nasıl ayıracak? Hiçbir şekilde ledleri ayıramaz. Orada tek bir led var gibi çizilmiş şema.
 
sorun çözüldü aslında çok kısa bir kodla yapıldı.. buradan kodu atacağım ihtiyacı olan inceler.. teşekkürler herkese..
 

Forum istatistikleri

Konular
127,956
Mesajlar
913,896
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Geri
Üst