Picproje Elektronik Sitesi

DİJİTAL & ANALOG ELEKTRONİK => Şemalar & Diğer Elk-Elnk.Projeler => Konuyu başlatan: alexsi - 24 Haziran 2015, 13:59:11

Başlık: bir uC portu ile 10 buton okuma devresi
Gönderen: alexsi - 24 Haziran 2015, 13:59:11
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?
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: Erol YILMAZ - 24 Haziran 2015, 14:06:59
butonlar dışarıda değişik dirençlerle gerilim bölerler.
O pinde ADC okuması ile hangi butona basıldığını anlayabilir.

(http://letsmakerobots.com/files/userpics/u12412/ScreenShot030.png)
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: alexsi - 24 Haziran 2015, 14:18:19
@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.
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: t2 - 24 Haziran 2015, 14:23:01
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 (https://www.picproje.org/index.php?topic=10074.0)
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: alexsi - 24 Haziran 2015, 14:29:34
@t2 hocam,
linkte şemaya ulaşamadım eklemeniz mümkün mü ? Şema üzerinden konuşsak nasıl olur ?
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: t2 - 24 Haziran 2015, 14:32:11
(http://www.devreyapimi.com/wp-content/uploads/2011/12/pot.gif)

http://www.devreyapimi.com/2011/12/20/picbasic-pro-pot-komutu/ (http://www.devreyapimi.com/2011/12/20/picbasic-pro-pot-komutu/)



Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: alexsi - 24 Haziran 2015, 14:52:43
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..
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: mir_as82 - 24 Haziran 2015, 15:12:34
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.
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: t2 - 24 Haziran 2015, 15:23:01
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.
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: z - 24 Haziran 2015, 17:00:59
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.
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: alexsi - 24 Haziran 2015, 17:15:41
@z hocam,
şema verme imkanın var mı ? Bir deneyelim bakalım, nasıl sonuç alcaz ? Interruptta okuma işi mantıklı geldi.
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: z - 24 Haziran 2015, 17:22:25
Bildiğin 555 devresi.

(http://www.555-timer-circuits.com/images/555-Osc-1.gif)
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: t2 - 24 Haziran 2015, 17:23:29
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.
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: z - 24 Haziran 2015, 17:28:31
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.
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: alexsi - 24 Haziran 2015, 17:38:42
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?
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: bocek - 24 Haziran 2015, 19:08:41
Tek pinle 10-buton nasıl okunur bilmiyorum ama çinli 4 pinle 65-buton okuyor. Üstelik sadece buton ve diyotlarla, ADC kullanmadan.
Proteus simülasyonu var deneyebilirsiniz.
Şema resmi:
(http://i.hizliresim.com/94Bv3r.png)

Simülasyon, kaynak kod vs.
http://s3.dosya.tc/server3/i5fm12/4-65key.zip.html (http://s3.dosya.tc/server3/i5fm12/4-65key.zip.html)
Başlık: Ynt: bir uC portu ile 10 buton okuma devresi
Gönderen: mehmet - 24 Haziran 2015, 19:45:04
HC597 spi 8 data okunabilir 3 pin ile.