bir uC portu ile 10 buton okuma devresi

Başlatan alexsi, 24 Haziran 2015, 13:59:11

alexsi

Arkadaşlar,
tasarım yapan arkadaşlar bilirki tek bir işlemci ile bir çok donanım özelliği olan cihaz tasarlamak oldukça meşakatli bir iştir. Yine böyle bir nedenden olsa gerek 1 adet sadece input/output özelliği olan pic portuna, 10 adet buton nasıl yerleştirilir ? Şema ve buton okuma metodu fikri olan arkadaş var mıdır?
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?

Erol YILMAZ

butonlar dışarıda değişik dirençlerle gerilim bölerler.
O pinde ADC okuması ile hangi butona basıldığını anlayabilir.


alexsi

@Allegro hocam,
portun adc özelliği yok. Yada tüm adc özelliklerinin tümü kullanılıyor gibi düşünün.ADC kullanmadan. portunuz sadece input yada output olarak kullanılan bir port. port pinin bir özelliği yok.
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?

t2

ADC özelliği olmayan pinde, RC ile süre ölçümü yapılarak butonlar okunabilir. butonlar Ryi değiştirir
https://www.picproje.org/index.php?topic=10074.0

alexsi

@t2 hocam,
linkte şemaya ulaşamadım eklemeniz mümkün mü ? Şema üzerinden konuşsak nasıl olur ?
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?


alexsi

Bu yöntem biraz fazla uğraştırıcı geldi hocam. 1-0 düzeyinde register'a kayderek o butonun basılı olup olmadığını anlayacak başka bir çözüm olmalı diye düşünüyorum. Ama ne ? Fikirleriniz..
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?

mir_as82

Elinde 0, 1 ler var birde zaman tutabilme yeteneğin var. Başka nasıl yapabilirsin? Analog yok, tek pin ve sen başka yöntem istiyorsun. Sen araştır bulursan bizi de bilgilendir lütfen.

t2

#8
Butonların hepsi aynı  pine bağlanır.

10 SANİYE içindeki basma süresi dikkate alınır

1. buton basılmak isteniyorsa  1 kere basılır tekrar basılmaz.
2. buton basılmak isteniyorsa  2 kere basılır.
3. buton 3 kere basılır..
4. buton ..
..



PIC bakar, 10 saniyede kaç defa basılmış? buna göre, hangi buton basılmış . karar verebilir.
Aslında öyle olacaksa 10 tane değil tek buton yeterli olur.

z

Bir ara tek pinle 7 kadar buton okumak zorunda kalmıştım.

İşlemciyi sıkmayacak bir int rutini eşiliğinde çalışıyordu.

555 vs bir çiple RC osc kuruyorsun. osialayon frekansını 10 adet butonla seçtiğin direnç belirliyor.

Yapman gereken frekans okumak. Sanayi ortamında mükemmel çalışıyordu ve işlemciden metrelerce uzaktaki butonları okuyordu.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

alexsi

@z hocam,
şema verme imkanın var mı ? Bir deneyelim bakalım, nasıl sonuç alcaz ? Interruptta okuma işi mantıklı geldi.
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

t2

Bu mantıklı geldiyse,hariçten 555 takılıp frekans okunacaksa, RC bağlayıp onun süresini okumak daha kolay olur. Frekans yerine süre okunacak.

z

#13
Uygulamamda yanlış hatırlamıyorsam gene frekansı ADC ile okumuştum.

İlk önce Allegronun açıkladığı mantıkla yaptım fakat uzak mesafedeki dirençlerden gelen sinyal (gerilim) çok gürültülü idi ve çuvalladı. Sorun çözülebilirdi ama üzerine eğilmedim. 555 ile yaptım.
555 i butonların olduğu yere koydum 5v osc sinyalini taşıdım.

Mesafe kısa olursa 555'e de gerek yok. Tek pinle OG'nin verdiği şema ilede yapılır yada ADC ile doğrudan da okunur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

alexsi

O zaman @Allegro hocamın belirttiği şemadaki gibi kısa mesafede interrupttan süre yada frekans okunarak çözülür diyorsunuz. Yanlış anlamadım değil mi?
http://www.kontrolarge.com/ Bildiklerimiz öğrendiklerimiz kadardır. Ya bilmediklerimiz ..?