c dılınde sorunlarım var. anlatıcak bırılerı varsa cok işime yarar. :-\
Tam olarak sorununuz nedir?
yazılım başlığı altında konu devam edecektir.
2007 beri kimse gelmemiş buraya 10 yıl vay bee, C dilinde yazılmış BASİT olanlardan örnek PI dedektör yazılımı olan varsa bana mail atabilirmi, 16f877, 16f628 olabilir 2x16 lcd li.......... bir 10 yıldaha bekleyek :D
Slm hocam yazılım bilgim olsa yardımcı olurdum ama çata pata ^-^ basic proton oda kopyele yapıştır anlıyacağın fakat c yada c+++++ dedinmi o iş beni aşmakta lakin yoğunluktan gözden kaçabiliyor formda bu konuda yardımcı olabilecek ustalarımız mevcut selamlar saygılar
Adam resmen tarihi eser gibi konu bulmus 10 senelik :)
kimse yardım etmiyor o yüzdendir sen yardım etcen herhalde, bir yazılım örneği yollarsan sevinirim , ha sende bendede yok maykıl dersen, böyle teknik konularda yardımlaşmalar bir on yıl daha gider.ZAMAN HERŞEYİN İLACIDIR :'(
Alıntı yapılan: ekol71 - 02 Nisan 2017, 02:11:14
Adam resmen tarihi eser gibi konu bulmus 10 senelik :)
Alıntı yapılan: alaattin - 02 Nisan 2017, 11:30:04
kimse yardım etmiyor o yüzdendir sen yardım etcen herhalde, bir yazılım örneği yollarsan sevinirim , ha sende bendede yok maykıl dersen, böyle teknik konularda yardımlaşmalar bir on yıl daha gider.ZAMAN HERŞEYİN İLACIDIR :'( Alıntı yapılan: ekol71 - 02 Nisan 2017, 02:11:14
Adam resmen tarihi eser gibi konu bulmus 10 senelik :)
Bir şeyin devamı için o şeyi isteyen yeterince istekli olmalı. Mesela 10 yıl önce konuyu başlatan kişi ilk mesajı yazamış ve kaybolmuş. Devamını getirseymiş yardım alacakmış ;)
Şimdi de durum bu şekilde. Bu tür bir konuda yardım isteniyorsa devamı gelmeli. Hazır isteniyorsa açıkcası bir sonuç çıkma olasılı bence pek yok. Mesela siz yazılımı istemek yerine yazılımın öğretilmesini istemek yoluna giderseniz ben şahsen yardımcı olmaya çalışırım.
Şimdi de durum bu şekilde. Bu tür bir konuda yardım isteniyorsa devamı gelmeli. Hazır isteniyorsa açıkcası bir sonuç çıkma olasılı bence pek yok. Mesela siz yazılımı istemek yerine yazılımın öğretilmesini istemek yoluna giderseniz ben şahsen yardımcı olmaya çalışırım.
Teşekkür ederim Karadağ usda, Adc değerini GLCD ekrana basmak istediğimde frekans 200 hz den 40 hz düşüyor, sprintf komutu ve glcd pixel silme komutunda zaman kaybediyorum ve ekrana çıkan değerde sürekli lipildeme oluyor,kod aşağıdaki resimde göderiyorum, bir inceleyip hatayı nerde yapıyorum, C Compiler ve isis devresinide isterseniz yollayabilirim.
Alıntı yapılan: alaattin - 02 Nisan 2017, 13:21:56
Şimdi de durum bu şekilde. Bu tür bir konuda yardım isteniyorsa devamı gelmeli. Hazır isteniyorsa açıkcası bir sonuç çıkma olasılı bence pek yok. Mesela siz yazılımı istemek yerine yazılımın öğretilmesini istemek yoluna giderseniz ben şahsen yardımcı olmaya çalışırım.
Teşekkür ederim Karadağ usda, Adc değerini GLCD ekrana basmak istediğimde frekans 200 hz den 40 hz düşüyor, sprintf komutu ve glcd pixel silme komutunda zaman kaybediyorum ve ekrana çıkan değerde sürekli lipildeme oluyor,kod aşağıdaki resimde göderiyorum, bir inceleyip hatayı nerde yapıyorum, C Compiler ve isis devresinide isterseniz yollayabilirim.
Öncelikle kullandığınız yazılım C de olsa kullandığınız yazılım platformu C yi baz alan ama kendi kütüphanelerini kullanan bir platform. Dolayısı ile birçok konuda sizin bu platforma ayak uydurmanız gerekecek. Eğer sorun olmayacaksa bağımsız, kendi kütüphanelerinizi kullandığınız bir platforma geçin.
Gelelim sorunuza, sorununuz tamamen CCS nin kütüphanesine müdahale edememenizden kaynaklanıyor. Siz kütüphaneye müdahale edebilseniz, ferekansı-örneklemeyi-ekrana yazmayı zamanlamaya bağlayabilseniz sorununuz çözülür. Şu anda görünen o ki zamanlamaya bağlı değil sıralı şekilde bu işlemleri yapıyorsunuz.
Teşekkür ederim,Karadağ usda,verdiği bilgi ve bakmam gereken yerin kütüphaneden kaynaklandığı aklıma gelip gidiyordu ama bıkkınlık derecesine geldiği için uzak duruyordum, kolayı vardır belki diye kacıyordum, kütüphane işinden, anlaşılan sizde aynı düşüncede oluca kaçış yok, biraz ara verip soğutuyum kendimi yoksa cipleri kacıracağız, ;) ;) ;) tekrar teşekkür ederim.
Tamamdır Karadağ usda, sorunu sayenizde çözdüm, yazılım bitmek üzere teşekkürler.
Gözünaydın hayırlı olsun usta başarılarının devamını dileriz.çalışma ve sonuçlarla sendende güzel paylaşımlar bekleriz ustam saygılar
ben sadece mantığını merak ediyorum yani mantık olarak ayrım ve metal tespitinin mantığını donanım olarak anlıyorum ama yazılımda mantığını anlayamıyorum
Sana katılıyorum mehdi ustam analogta az çok anlıyabiliyoruz yada dijitalde algılamayı sağlayabilecek kadar ama ayrım için nasıl bi yazılım düzenlenir basit şekli ile en azından öğrenme adına başlangıç seviyesi yardımcı olsa olsa uğraşıp belki geliştirebilir olayı hem öğrenir hem kavrarız yani dil olarakta gerçi c dili zor ama insan yaparken daha kolay adım adım öğrenmesi kolay olur diye düşünüyorum
ustam dil önemli değil ben mantığını merak ediyorum mantığı bildikten sonra hangi dilde yazarsan yaz o sana kalmış kodla değilde mantık olarak
Sonum eğrisini analog olarak oluştur.Dijital olarak yorumla.Yani egriden örnek al ekrana bas.
(Eğri=gerilim)=ornek al=yorumla=ayrim+-
Sadece bunu yaparak her analog cihazi ekranda sadece ayrım yapacak bir cihaz haline getirmiş oluruz.
Mehdi ustam mantık olarak sönüm üzerinden belli bi kısım analiz ediliyor sönümün uzun yada kısa olması şeklinde volt zaman ekseninde kabaca pulsede bu anladığımız ama bu kısacık mikrosn ler içindeki yaşanan bi durum bu kısa zamanda analiz örnekler nasıl yetişim nasıl bi mantıkla kodla yapılıyor bunu demek istedim yoksa yazılım tabiki çok farkedeceğini sanmıyorum ama c dilinin hız ve daha iyi yönde kullanılabileceğini söylüyorlar demekki biraz daha artıları var saygılar
Alıntı yapılan: onur600 - 04 Nisan 2017, 00:46:20
Sonum eğrisini analog olarak oluştur.Dijital olarak yorumla.Yani egriden örnek al ekrana bas.
(Eğri=gerilim)=ornek al=yorumla=ayrim+-
Sadece bunu yaparak her analog cihazi ekranda sadece ayrım yapacak bir cihaz haline getirmiş oluruz.
Onur ustam benden önce davranmışsın ^-^ verdiğin bilgi için teşekkürler
Ayrıca bi adet devre kurunca seni rahatsız edeceğim müsait olduğun bi zaman da kod konusunda saygılar
C dili anlamıyorum ama pic basıc yada proton gibi en azından bir yada iki örnek nasıl alınır sönüm eğrisi üzerinden basit bi örnek kod Vs olsa gerisini uğraşır çabalar geliştirebiliriz ama :(
Öncelikle kullandığınız yazılım C de olsa kullandığınız yazılım platformu C yi baz alan ama kendi kütüphanelerini kullanan bir platform. Dolayısı ile birçok konuda sizin bu platforma ayak uydurmanız gerekecek. Eğer sorun olmayacaksa bağımsız, kendi kütüphanelerinizi kullandığınız bir platforma geçin.[/size]Gelelim sorunuza, sorununuz tamamen CCS nin kütüphanesine müdahale edememenizden kaynaklanıyor. Siz kütüphaneye müdahale edebilseniz, ferekansı-örneklemeyi-ekrana yazmayı zamanlamaya bağlayabilseniz sorununuz çözülür. Şu anda görünen o ki zamanlamaya bağlı değil sıralı şekilde bu işlemleri yapıyorsunuz.
Sayın Karadağ Usdam, CCS C complairde 1,5 aydır çözemedim,sorunu bulduğumu zannettim ama yanılmışım,sıkıntı çıkıyor devamlı,CCS nin kütüphanesini üzerinde uğraştım ama olmadı,sadece CS1,CS2,DI,RW,E,RST, yani lcd baçaklarını değiştirebiliyorum,GACPHIC.c ise hiç bir şeye müdahele edemedim,çok ağır geliyor o kadar bilgim yok , yardımlar ile ve sizlerin destekleri ile öğrenecez inşallah, ŞİMDİ hocam kendi kütüphanemizi oluşturabileceğimiz ve kullanabileceğimiz hangi platforma geçmem gerekiyor , artık başka platformda denemek istiyorum, protonmu , c++ mı yada başka hangi platform olabilir sizce.
Sayı karadağ usdam, zamanlamaya dayalı olarak sıraya koydum işlemleri ama hata yaptığım yerler var. 1 . bobine ve 4066 giden palsları verdim, bobin palsını güç ayarı için duty'yi %10 ile %15 arası değişken ile ayarlı yaptım, palsın bitiminden sonra ADC okumayı yazdım ama ikisinin arasına 2us ile 80us arası değişken ile ayarlı gecikme yaptım, sonra tekrar 1 numaraya gittim for döngüsü ile 100 defa yaptım ama frekansın 250..300hz arası olması içinde gecikme verdim, sonra 100 defa okunarak toplanan ADC değerini 100 e böldüm, çıkan rakamlara göre bar seviyesine aktardım ve ses içinde pwm ' çıkışına aktardım. BURDA SORUN ŞÖYLE YAŞANIYOR; frekans normal, bobin normal sürüşte, sönüm eğrisi normal, metal yaklaşınca sönüm eğrisi normal şekil değişikliği var, ama ekranda bar seviyesi ve ses metali görür görmez değilde metali bobinde üç beş saniye bekletince geliyor, sorunun for döngüsünün 100 defa olmasından kaynaklanıyor gibi orda zaman kaybediyor orada işini bitirip lcd ye gelince metal bobinin önünden gelip geçmiş oluyor.while sonsuz döngüsü içinde palsler için ayrı bir for döngüsü yapıyorum,for döngüsü yapmadan başaşağı sıra ile yapsam bu seferde graphic lcd çok zaman harcadığı için frekansta düşük oluyor, Karadağ usdam, demiştinki CCS C graphic.c kütüphanesine müdahale etmen lazım yada kendi kütüphane oluşturabileceğin ve uygulayabileceğin başka platforma gecebilirsin demiştin, ben bıktım CCS 'den hangi platforma geçeyim usdam,bana daha kolay yardım edebileceğin platform hangisi ise orda çalışmak istiyorum usda.
:) örnekleri hem çok almışsın hem de örnekler tamamen alınıncaya kadar beklemişsin. Yazlımı yapma mantığın yanlış. Pic için microc kullanabilirsin.
Karadağ usdam, uğraştığım yazılımı size mail göndersem , göz atabilirmisiniz.
Karadağ usdam, dediğiniz gibi microc kitabı aldım,bir göz attım da ,CCS C ile arasında fazla bir fark yok gibi yakın birbirine.
Evet çok fark yoktur. Temel fark birinde hazır kütüphaneler kullanılır, diğerinde paşa paşa kendiniz yazarsınız :)
Alıntı yapılan: Karadağ - 03 Haziran 2017, 13:26:40
Evet çok fark yoktur. Temel fark birinde hazır kütüphaneler kullanılır, diğerinde paşa paşa kendiniz yazarsınız :)
128/64 graphics glcd kütüphanesini yazmak benim harcım değil,profosyenel yazılımcı olmak lazım,bir örnek graphics ve glcd kütüphanesi olsa ama basit olandan onun üzerinde oynamalar yaparak bacak bağlantıları değiştirebilirim ve ekranda kullanmadığım gereksiz karakter kodlarını silerek zaman tasarrufu sağlayabilirim belki, CCS nin HDM64GS12 kütüphanesinden bacak bağlantılarından başka bir değişiklik yapamadım, graphics kütüp. ise hiç değişiklik yapamadım. microc editör çalışaşacağım ama bana işlemciye fazla zaman harcatmayacak örnek bir 12864 glcd graphics font kütüphanesi gönderebilirmisiniz lütfen.
Alaattin ustam kolay gelsin.Basaracagina inanıyoruz.Karadag hocayida bulmuşsun kaçırma
Karadağ usdamız gercekten takdire şahan bir usdamız, bu alanda kimse eline su dökemez,müthiş bilgili ve tecrübe sahibi,etrafımda bu konular ile ilgili yardım alabileceğim kimse yok,ha cihaz kullananlar var bu işi biliyor ama elektronikci değil,elektronikci var bu işi bilmiyor, yazılımdan anlayan üniversite hocaları var ama onlarda bu konu ile ilgilenmiyorlar,uğraşamıyorlar,bende uğraşşamda bir yere kadar geliyorum , yardım almadan işin içinden çıkılmıyor,kaç aydır uğraşıyorum ama sürekli,devamlı bir pals veremiyorum bobine,mantığım almıyor bir türlü, pıc 1 adet işlem yapabiliyor pıc PINE0 dan fet tr'ye 250 pals yolluyorum diyelim 10 defa, (10 defayı sürekli denemelerle değiştiriyorum 50 yapıyom,80 yapıyom) 10 tamamlanınca batarya okuma ve değerleri ekrana basmayı dolaşıp tekrar bir 10 defa daha pals gönderiyorum, işde bu ikisi arasında sinyal osilaskopta izlediğimde o ara bir kaç mili saniye gidip gelerek göz kırpıyor, ha böğle çalışıyor makina ancak hoş değil.., bu göz kırpmayı kesmeyi yapamadım,pals bitiminden tekrar başlama anına kadar 5000mikro saniye boş bu 5000 mikrasaniye içinde işlemci kaç tane işlem yaparki? ben bir tane ekrana değer yazdırayım diyorum ama bu boşluğa sığdıramıyorum.
işde böğle onur600 usda, Karadağ usdamızda bugünlerde çok yoğun çalışmakta,onuda bazen meşgül ettiğim için kusuruma bakmasın.
Elim bir hayli yoğun. Birde ramazan olunca saat 3-4 ten sonra kafa çalışmaz hale geliyor. Yazdıklarını okuyorum da düşünme şeklin yanlış. Neden herşeyi sıralı düşünüyorsun?
hüseyin ustam aynı sıkıntı bendede var tamam aynı zmanda iki üç işlm düşünüyorum ama bunu yazılıma dökemiyorum ve alaatin ustada böyle yapıyor alt alta sırası ile gidiyor ama alattin ustam pulseyi aç kapa olarak mı yazıyorsun yani sürekli bi step motor sürer gibi kare dalga oluştursan o palsı sürerken sende diğer işlemleri yapa bilirsin diye düşünüyorum
iki pals arası dünya kadar zamanınız var;) işlemleri bu aralarda yapın ;)
Dünyalar dar bana geliyor usdam ;) zamanlar yetmiyor usdam ;) kafam almaz oldu usdam ;) sıralı sistem LPG gibi kafam usdam ;) yaş 52 oldu, belki odandır usdam ;) düşünme şeklimi nasıl değiştirecem,yol göster usdam ;) nihayetinde kaderde şairde olmak varmış usdam ;)
tüm yazılım mantigımı toplayıp çöpe attırdın ustam değişik bir fikir ama olmayacak iş değil ve harikada olur neden olmasın bunu deneyecem ve kendi salaklığıma oturup gülüyorum neden böyle bir fikir gelmedi ki diye aklıma dedektörde değil ne makinelerde ben bu sıkıntıyı yaşadım bilemezsin ustam teşekkürler
Alıntı yapılan: alaattin - 04 Haziran 2017, 15:17:30
Dünyalar dar bana geliyor usdam ;) zamanlar yetmiyor usdam ;) kafam almaz oldu usdam ;) sıralı sistem LPG gibi kafam usdam ;) yaş 52 oldu, belki odandır usdam ;) düşünme şeklimi nasıl değiştirecem,yol göster usdam ;) nihayetinde kaderde şairde olmak varmış usdam ;)
Sığar sığar. İlk başta frekansı düşük tutun. 100hz yapın bakın nasıl sığıyor ;)
Alıntı yapılan: mehdi06 - 04 Haziran 2017, 15:19:34
tüm yazılım mantigımı toplayıp çöpe attırdın ustam değişik bir fikir ama olmayacak iş değil ve harikada olur neden olmasın bunu deneyecem ve kendi salaklığıma oturup gülüyorum neden böyle bir fikir gelmedi ki diye aklıma dedektörde değil ne makinelerde ben bu sıkıntıyı yaşadım bilemezsin ustam teşekkürler
Rica ederim. Faydalı olabildiysek ne mutlu :)
Alıntı yapılan: mehdi06 - 04 Haziran 2017, 14:41:11
hüseyin ustam aynı sıkıntı bendede var tamam aynı zmanda iki üç işlm düşünüyorum ama bunu yazılıma dökemiyorum ve alaatin ustada böyle yapıyor alt alta sırası ile gidiyor ama alattin ustam pulseyi aç kapa olarak mı yazıyorsun yani sürekli bi step motor sürer gibi kare dalga oluştursan o palsı sürerken sende diğer işlemleri yapa bilirsin diye düşünüyorum
mehdi06 usda palsı aç,kapa olarak yazıyorum,aralarada gecikme veriyorum, Kabaca şöğle yani
( unsigned int i;
for(i=0;i<=10;i++) {
output_low(PIN_C1); //arama bobini için rc1 de pals cıkışı
delay_us(300); //pals süresi duty GÜÇ
output_high(PIN_C1);
output_low(PIN_C2); //4066 için anahtarlama palsı
delay_us(80);
output_high(PIN_C2);
set_adc_channel(1); //adc AN1 Kanalında oku
setup_adc(ADC_CLOCK_DIV_32);
delay_us(20);
anadeger=read_adc();
setup_adc( ADC_OFF );
delay_us(5600); // KALAN ZAMAN BU BANA BURADA, BU GECİKMEYİ SİLİP BURADA İŞLEM YAPTIRAMIYORUM FREKANS COK DÜŞÜYOR O ZAMAN
}
}
Alıntı yapılan: alaattin - 04 Haziran 2017, 15:26:18
Alıntı yapılan: mehdi06 - 04 Haziran 2017, 14:41:11
hüseyin ustam aynı sıkıntı bendede var tamam aynı zmanda iki üç işlm düşünüyorum ama bunu yazılıma dökemiyorum ve alaatin ustada böyle yapıyor alt alta sırası ile gidiyor ama alattin ustam pulseyi aç kapa olarak mı yazıyorsun yani sürekli bi step motor sürer gibi kare dalga oluştursan o palsı sürerken sende diğer işlemleri yapa bilirsin diye düşünüyorum
mehdi06 usda palsı aç,kapa olarak yazıyorum,aralarada gecikme veriyorum, Kabaca şöğle yani
( unsigned int i;
for(i=0;i<=10;i++) {
output_low(PIN_C1); //arama bobini için rc1 de pals cıkışı
delay_us(300); //pals süresi duty GÜÇ
output_high(PIN_C1);
output_low(PIN_C2); //4066 için anahtarlama palsı
delay_us(80);
output_high(PIN_C2);
set_adc_channel(1); //adc AN1 Kanalında oku
setup_adc(ADC_CLOCK_DIV_32);
delay_us(20);
anadeger=read_adc();
setup_adc( ADC_OFF );
delay_us(5600); // KALAN ZAMAN BU BANA BURADA, BU GECİKMEYİ SİLİP BURADA İŞLEM YAPTIRAMIYORUM FREKANS COK DÜŞÜYOR O ZAMAN
}
}
Yolun çok başındasınız. Amatör olarak bu şekilde yazıp çalıştırabilirsiniz. Sadece her seferinde tüm ekranı yenilemeyin ya da yapılacak işlerin hepsini her palste yapmayın. Parça parça yapın.
bu böyle bitmez kafada böyle kaldırmaz yapılacak işlemleri sıraya koyup güzelce kagıda yazıp süreleri hesaplayıp hangi sürede ne yapılacagını hangi işlemi hangi araya sığdıracağını kağıda yazıp pulse aralarına bunları yerleştirerek devam edelim ve bütün işlemler bittikten sonra döngüye devam edelim
Alıntı yapılan: mehdi06 - 04 Haziran 2017, 15:59:02
bu böyle bitmez kafada böyle kaldırmaz yapılacak işlemleri sıraya koyup güzelce kagıda yazıp süreleri hesaplayıp hangi sürede ne yapılacagını hangi işlemi hangi araya sığdıracağını kağıda yazıp pulse aralarına bunları yerleştirerek devam edelim ve bütün işlemler bittikten sonra döngüye devam edelim
mehdi06 usda ben kafayı sıyırmadan evvel heleki bilgisayar dayanamadı aşırı sıcaktan ekran kartı chipi lehimlerini eritti,şu an bir süre kafa dinleyeceğim, zira benimde kafayı soğutmam lazım :D
HP hastalığı :)
kuzey köprü bence ekran kartı çipide olabilir geçmiş olsun
bilgisayarın tamiri bitti,şükür kurtardık bilgisayarı,ancak bütün yazılımlar ve programlar gitti,heleki son bir hafta öncesine kadar olan çalışmalar ve programlar flshdiskte vardı,proteusu falan kurdum,CCS C complairi kurdum,microC den vazgectim CCS C ye devam dedim, biraz ara vermek iyi oldu ramazanda zor oluyor,kafamda dinlenmiş oldu bu arada rahat düşünme imkanı oldu en azından,bobin pals ve 4066 palslarını timer0 kesmesi ile interrupts kullanarak yazılımı tekrar yaptım frekans 305 hz çıktı ve hiç sorunsuz gibi gözüküyor şu an. aslında anlamadığım bir sorun var 20mhz xtal takılı devrede ama yazılım başında #use delay (clock=20000000) komutunu yazıyordum, bu durumda olunca glcd ekran saçma çalıştı bir süre gereksiz yerlerde noktalar çıkıyor,ama ilginç olarak bu komuttu şu şekilde yazdığım zaman ise #use delay (clock=30000000) ,,xtalimiz gene 20mhz aynı glcd ekran tamamen normal mis gibi harika hiç sorunsuz, bu durum acaba neden olur.
fotoları bunlar :D ;)
40 mhz ayarla ;)
40000000 yaptım işlemci hızı sanki biraz daha yavaşladı, 28000000hz yada 30000000hz yapınca glcd normal, bir sorun olurmu, yoksa 40000000hz yapmam gerekiyormu gerçekten
sönümleme süresi 60 us olsun ..adc okumamız 20 us civarında...ortalama 3 adet örnek alıyoruz..bu da yetersiz kalıyor...benim bir fikrim var..1 pals yolla 20us dan örnek al sonra 2 palsi gönder 25 us dan al..3 palsi gönder 30 us dan numune al....bu şekilde farklı zamanlarda isteğimiz örneği alırız...şöyle sıkıntı olcağını sanmıyorum her palsden sonra sönümleme değişin..sadece başlığı yavaş gezdirsek sağlam numuneler alır gibime geliyor sönümleme eğrisinde..
mantıklı geliyor denemek lazım