1. sayfa
Devre baya acemiyce olmuş. Lehim teli olarak da kaliteli birşey kullanılmamış. Enerji verince ne oluyor? Hani lcdde birşey yazıyor mu? Birsey görünüyor mu? Bu tür devrelerde bir de bir led filan koymak gerek. Hani pic çalışınca direk o Ledi yaksın. Bu şekilde devreyi kurunca ne olup bittiğini anlarsınız. |
Çizimde ekranın kontrast bacağı boşta görünüyor. Orayı bağladınız mi? |
Bir şeyler yapmaya çalışmışsın ancak eksikliklerin var aşağıda yazdıklarımı oku lütfen, Şemayı çizerken insanlar bazı yerleri eksik çiziyorlar neden çünkü proteus bunları varmış gibi kabul ediyor ancak gerçek de şemadaki gibi çizersen çalışmaz. Baskılı devreyi çizerken 90 derece köşeli çizmeyin neden anlayacağın şekilde yazıyorum unutmayasın diye ,altında araba var bu araba ile düz yolda gidiyorsun birden önüne 90 derece köşeli yol çıkarsa ne olur karşıya çarparsın ,yolları çizerken köşeli çizmemeye bak radüslü çizin yoksa devreniz sağlıklı çalışmaz. Mutlaka işlemci besleme bacaklarının [vdd -gnd] en yakın yerine 100 nf bağlayın. Besleme yollarını mümkün olduğu kadar kısa ve kalın çizin diğer yolları mümkün olduğunca kısa çizin. Çizdiğin devrede eksiklikler var LCD 3 numarasını bağlamamış sın! bu pin kontras ayarı yapar buraya 10 k pot bağlayıp kontras ayarı yani ekranda yazılar net görünceye kadar çevireceksin.potun sol ucunu vss -sağ ucunu gnd ve orta ucunu lcd 3 no pine bağlayacaksın.yoksa ekranda bir şey gözükmez. Çizimde hata yapmamak için mutlaka kağıt kalem alıp her pini bağlayınca üzerine çizgi atacaksın ki yanlış yapmayasın. L293 ENA ucuda kartta yok bağlamamış sın! Kolay gelsin |
Lcd çalışmıyor hocam, konstrast bacağını da bağlamadım, kontrast önemli değilse orası boş kalabilir diye okumuştum bir yerde. Onun dışında tel ile deydirdiğimde siyah kareler çıkıyor sadece istediğim yazı çıkmıyor. |
Mutlaka işlemci besleme bacaklarının [vdd -gnd] en yakın yerine 100 nf bağlayın. Bunun sebebi nedir hocam? Bu olmazsa çalışmaz mı devre kesinlikle? L293 ENA ucuda kartta yok bağlamamış sın! Aldığım entegre devrede onu enable eden basit bir aparat var onu kullanıyorum hocam. |
Eğer kontrast önemli değilse boş değil de direk gnd ye bağla. O zaman maksimum kontrast alırsın. Vcc ve gnd arası kondansatör parazit oluşumunu engellemek için kullanılır. 1)Boş bacaklardan 4 taneyi belirle. 2) ilk bacağı main kısmı içine girince high yap kodda 3) ikinci bacağı loop içine girince high yap 4) üçüncü bacağı lcd ye yazı yazmadan hemen önce high yap 5)dorduncu bacağı da lcd ye yazı yazdıktan sonra high yap. Hepsinin arasına da 2-3 saniye zaman koy ki elindeki multimetre ile sırayla bacaklara dokunup sırasıyla çalışıp calismadiklarina bak. Buna hata ayıklama denir. Bu şekilde en azından pic çalışıyor mu? Loop a giriyor mu? Giriyorsa lcd ye yazım aşamasına geliyor mu? Gelip yazıp sonra da alt satıra geçiyor mu? Şeklindeki sorulara cevap bulabilirsin. Buna göre de gereken düzeltmeyi yaparsın. Eğer bu işlemleri başarılı şekilde yapıyorsa Demek ki pic çalıyor ama donanım hatalı. Onun için de sana tavsiyem devreyi önce bread board üzerine kurman. Zaten basit bir devre çok kablo karmaşası olmaz. Bu şekilde direk çalışıp çalışmadığını veya nerde hata yaptığını anlarsın. Proteusta çizim yaparken de o osilator ve ona bağlı capasitorleri picin Osc bacaklarının dibine koy. Öyle her eleman bir diyarda olmasın. O osilator pice yaşaması için gerekene kalp atışını sağlıyor. |
Bende aynı projeyi yapıyorum, lcd falan çalışıyor board üzerinde sadece keypad den veri alırken sorun yaşıyorum. Sorumu kodu ve şemayı diğer konu da gösterdim. Benim sorunum başka tabiki ama sizin işinize yarayabilir. https://forum.donanimhaber.com/sifreli-kilit--130533708 |
xtal ve capasitörleri işlemciden çok uzakta kalmış, ayrıca mebran butonlar için pull-up veya pull-down dirençlerini kullanmamışsınız bu durumlar kararlı çalışmayı engeller |
Hocam devreyi çalıştırdım şimdi, sorun koddaymış, fakat şu an da tuşlara bastığımda rasgele sayılar veriyor. bunun sebebi pull up direnci koymadığım için midir? |
aynen, yazmış olduğunuz programa göre pull-up veya pull-down dirençlerini kullanmanız gerekir yoksa input olarak kullandığınız pinler karasız bir seviyede kalacaktır. < Resime gitmek için tıklayın > |
7 ayağı için de kullanmam gerekir mi peki? Yoksa 3 tane sütun pinlerine koysam yeterli olur mu? |
Kodu da bir gözden geçirir misiniz? Biraz karışık ama düzenlemesini daha sonra yapacağım. Ayrıca burada use fast io(d) yazdığımda kod çalışmıyor. Yazmadığımda düzgün bir şekilde çalışıyor, sebebi nedir? |
sizin yerinizde olsam devreyi önce breadboard üzerine kurar ve çalıştığından emin olduktan sonra pcb ye basardım. pcb çizerken xtal ve kondansatörler mümkün olduğu kadar pic in ilgili bacaklarına yakın olmalıdır. pcb nin daha güzel görünmesi için Pic ve diğer parçalar lcd nin tam altına getirilip keypad biraz sola yanaştırılabilirdi. yollar 90 derece yerine 45 derece dönüşle çizilebilirdi. proteus da gösterilmeyen VSS ve VDD bağlantılarına mutlaka dikkat edilmelidir ilgili bağlantı pad leri VSS ve VDD olarak tanımlanmalı. lehimlerken kolaylık sağlaması için pic bacaklarındaki pad ler bir boy daha büyük (C-70-30) yapılabilir. yazılımsal olarak işin içinde buton varsa mutlaka buton arkına karşı 50ms kadar bekleme yapılmalı (süre duruma bağlı olarak biraz azalabilir veya artabilir) , lcd ye veri gönderirkende 20-50ms kadar beklemeler yapılmalı. pek çok pic de weak pull up özelliği var google da araştırın. #define kullanarak butonları tanımlamanız gayet güzel olmuş. if(portb.f3==1) gibi birşey yazarsanız aradan 6 ay geçtikten sonra program kodunu okumanız zorlaşır. mümkün olduğu kadar değişken tanımlarken ihtiyacınıza türünü belirleyin. yani 100 e kadar sayacak bir değişkeni int olarak değilde unsigned short olarak tanımlayın. |
1. sayfa
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Bu mesajda bahsedilenler: @burak jr