PROGRAMLAMA ALANINDA YAPMIŞ OLDUĞUM ÇALIŞMALAR


CAT741 (Computer Added Test - 741) (Win9x/Me/2000)

Tamamlamış olduğum bu proje bilgisayar yardımıyla 741 entegrelerinin test edilmesine ilişkindir. Bu proje iki kısımdan oluşuyor; yazılım ve donanım kısmı. Donanım kısmı; 741 entegresinin takıldığı ve bilgisayardan gelen sinyallere göre 741 entegresine sinyaller yollayan veya entegrenin durumunu bilgisayara ileten bir interface (arabirim) ve bir ana test modülü (MTM)'nden oluşmaktadır. Yazılım bölümü ise; hem DOS , hem de Windows (9x/Me/2000) işletim sistemlerine göre hazırlanmış iki programdan oluşmaktadır. Programların görevi , kullanıcıdan gelen komutlara göre 741 entegresine farklı sinyaller yollamak veya entegrenin durumunu ekran üzerinden kullanıcıya iletmektir. Aşağıda CAT741 programının windows ekran görüntülerini görmektesiniz.


VirusLaboratory (DOS)

Öncelikle şunu belirtmek isterim ki , virüs , truva atı vs. her türlü yazılıma karşıyım ama bu konulardan insanların roket bilimiymiş gibi bahsetmelerini yadırgadığım için , virüsleri herkesin yazabileceğini ve onlarında birer program olduğunu , sanılan aksine canlı olmadıklarını göstermek için VirusLaboratory programını yazdım. Bu program DOS tabanlı -yazdığım zamanlarda windows üzerine yeterli alt düzey programlama bilgisine sahip değildim- ve kullanıcının seçtiği parametrelere göre virüs üretiyor. Kullanıcıya düşen tek şey , programın menüsünden virüsün özelliklerini seçmek. Bu program için pek olumlu eleştiriler almadığım için programı geliştirmedim. Bu programı kullanarak üretebileceğiniz virüsler tamamen DOS tabanlı makinalarda çalışabilecek yapıya sahiptirler. Kendi kendilerini şifreleyebilirler (Encrypted) , COMMAND.COM ve WIN.COM gibi Command Processors dosyalarına bulaşmazlar , bellekte kalıcıdırlar (TSR). Ayrıca programcıların inceleyebilmesi için program hem hedef kodu (Target Code) hemde kaynak kodu (Source Code) üretmektedir. Amacım virüs yazımını teşvik etmek değil , sadece virüs hakkında , özellikle programcı arkadaşların belli biri bilgi seviyesine ulaşmalarına yardımcı olmaktır. VirusLaboratory programını , QuickBasic + Assembly dillerini kullanark hazrıladım. QuickBasic'in ne kadar ileri düzey bir dil olduğunuz bilmeyen yok :-) ama ne yapalım o zamanlar imkanlarım ancak bu kadar idi.


BIOSPY (BIOS-Spy) (Win9x/Me)

Programın amacı sistemin donanım ayarlarını anakart üzerinden okuyarak kullancıya bildirmektir. Bunun yanısıra çok önemli bir fonksiyonu daha blunmaktadır; bilgisayarınıza donanım olarak koymuş olduğunuz şifreyi (User Password/Supervisor Password veya Setup şifresi olarak adlandırılıyor) kaldırabilmektedir. Kazara bu şifreyi unuttuğunuz zaman BIOSPY'ı kullanarak bu şifreyi iptal edebilirsiniz. Bunun diğer bir yöntemi bilgisayarın kasasını açıp , anakart üzerindeki pili bir süre için sökmektir , tabii bilgisayarınız garanti kapsamında değil , pili ıkarılabilir veya durumun saklandığı chip flash değil ise :) . BIOSPY'ı yazarken Delphi + BASM kullandım , biraz yorucu oldu ama değdi.

BIOSPY.ZIP


ENIGMA (DOS)

Güçlü bir dosya şifreleme programıdır. Tasarlarken her yönden rastgelelik içermesine çalıştım ve sanırım başardım da. ENIGMA , her tipten ve içeriği nasıl olursa olsun tüm dosyaları kodlayıp tekrar açabilecek bir programdır. Programı C++ ile yazdım. Oldukça hızlıdır ve kodlanmış dosyaları başkasının açamaması için dosyaya aynı zamanda bir parola da ekler. Parolayı bilmemeniz halinde dosya açabilmeniz mümkün değildir , benim bile açabilmem söz konusu değil. Ayrıca ENIGMA ile kodladığınız dosyaları analiz edebilir ve içeriği hakkında dosyayı açamasanız bile size bilgi verebilir. Kodladığı dosyalar default olarak ".NMG" uzantısını verir (tabii ki değiştirmeniz mümkün). Enigma'nın özel bir arabirim yok yani tamamen bir command prompt utility , bu yüzden herhangi bir ekran görüntüsü koymaya gerek görmedim.


CDROM-TEST (DOS/Win9x/Me)

Sanırım halen kullanmakta olduğumm programlar içinde en çok sevdiğim program bu. CDROM-TEST programı hepimiz özellikle son yollarda bayağı haşir neşir olduğu CD lerin yüzeylerini test edip size bunu bir harita üzerinde gösterebiliyor. Aynen Scandisk gibi. CD satın alma olayında sağlamlık testi yapabilmek ve güvenilir bir test işelmi uygulayabilmek oldukça zor. Kimi arkadaşlarım aldıkları CD'leri özellikle oyun CD'lerini genelde tamamen harddisklerine kopyalıyorlar ve eğer kopyalama sırasında br sorun olmazsa CD'nin sağlam olduğuna kanaat getiriyorlar(dı). Fakat bazı CD'lerin bu testten geçtikleri halde problemli olduklarını görünce , yine iş başa düştü dedim ve ortaya bu program çıktı. Bu programı test edebilmem için bana bol bol bozuk CD'ler getiren ve CD sürücülerini benden esirgemeyen arkadaşlarıma teşekkür etmek isterim. Programın DOS versiyonunu QuickBasic + Assembly ile , Windows versiyonunu ise Visual Basic ile yazdığımı belirtmek isterim. Windows versiyonunu elime VB 6.0 yeni geçtiği için tekrar yazmaya başlayacağım.


LOCKUP (DOS)

QuickBasic + Assembly ile yazdığım bu program , Harddiski kilitlemekte ve erişilmesine engel olmaktadır. Harddiske erişebilmenin tek yolu , program tarafından yaratılan bir anahtar disket ile sistemi boot etmektir. Programı daha sonradan C++ ile tekrar yazdım.


Anjiyo (Anjiyografi Raporları Veritabanı Yönetim Yazılımı) (Win9x/Me)

Anjiyo programı , Kalp uzmanlarının hasta takip işlemlerinde kullanabilecekleri türden windows tabanlı bir programdır. Program dahilinde hastaya ilişkin kalp durum bilgileri de dahil olmak üzere , hasta ile ilgili tüm evrak bilgileri bu program tarafından tutulabilmekte ve yazıcı çıktısı alınabilmektedir. Böylece birçok rutin işlem program tarafından çok hızlı bir şekilde halledilebilmekle beraber hataların daha kolay tespit edilmesi ve son kontrol yapabilme imkanı sağlanmış olmaktadır. Program dahilinde ayrıca , doktor listesi , kalp durum grafiği , veritabanı işlemleri gibi birçok alan bir araya getirilerek entegre bir program elde edilmeye , bu sayede de başka ek programlara ihtiyaç duyulmaması temin edilmeye çalışılmıştır.


Otel Müşteri Takip Programı (Win9x/Me)

Son yazdığım uygulama progamım bu. Aslında doğal olarak kendim için değil sipariş üzerine bir otel için yazdım ve sanırım adından ne işe yaradığı rahatlıkla anlaşılabiliyor. Tamamen veritabanı üzerine kurulu bir otomasyon programı ve pekçok sorgulama ve rapor içeriyor , otel ile ilgili diğer bilgileride (Oda durumları vs.) düzenlemenize izin veriyor ve yapı olarak oldukça esnek tasarladım , programın zemin vs. renklerini dahi değiştirmeniz mümkün. Bununla birlikte yazıcı ayarlarıda içermekte. Progamı tamamen Visual Basic ile hazırladım.


SGP232 (Süleyman Günel's EEPROM Programmer - RS232 Powered) (Win9x/Me)

Bu çalışma iki kısımdan oluşmakta , birinci kısımda EEPROM'un programlanmasında kullanılan devre , ikinci kısımda ise bu devre ile bilgisayar arasında iletişimi sağlayan program bulunmakta. Devre üzerine EEPROM'u yerleştirdikten sonra , yapılması gereken tek şey , EEPROM'a yazılacak dosyayı seçmek veya direkt bir metin yazmak. Devre ve programı bir çok bilgisayarda denediğimi ve bir problemle karşılaşmadığımıda eklemek isterim. Programın DOS sürümünü C++ ile yazdım.


 

 

ELEKTRONİK ALANINDA YAPMIŞ OLDUĞUM ÇALIŞMALAR

 


RAPID-CHARGER

Beni tanıyanların bildiği gibi "walkman'siz çıkmam abi" misali walkman'imi yanımdan hiç ayırmam ve bunun sonucunda tükettiğim pillerin haddi var hesabı yok (aslında her ikisini de biliyorum ama...). Bende herkes gibi NiCd türünden şarj edilebilir piller aldım ve macera başlamış oldu. Bu piller çok kullanışlı ama şarj olayı , şarj makineleri yüzünden hem süre hem de şarj kalitesi olarak berbat. Bu makineler oldukça ucuz oldukları için düzgün ve stabil bir şarj işlemi yapmıyorlar bu ise pilin ömrünün çabuk tükenmesine yol açıyor ve en az 4,5 saatte şarj edebiliyorsunuz. Sırf bu şarj saati yüzünden 3 çift pil almak zorunda kaldım ama nafile. Ben de sonunda araştırdım ve en yüksek kapasitedeki bir çift kalem pili dahi 55 dakikada şarj edebilecek bu devreyi hazırladım. Devre hem NiCD hemde NiMh türünden pilleri şarj etmekte kullanılabilir. Piller dolduğunda devre , şarj işlemini otomatik olarak kesiyor ve pillerin dolduğuna dair uyarı veriyor. Devrenin 2. sürümünü , bilgisayar kontrollü ve 15 dak. şarj edebilecek şekilde geliştirmeye çalışıyorum ama fazla vaktim kalmadı , eğer yetişebilirsem devre şemasını vereceğim...


5+1 (Woofer + Surround)

En çok başımı ağrıtan projelerdin biri de bu idi. Devrenin adı WOOFER ama , aslında 5+1 hoparlör sistemi. Yaklaşık 1 aydır üzeinde çalışıyorum. Devre kendi içinde farklı alt dallara ayrılıyor. Yani farklı bölümlerden oluşuyor. Bir bas (Low-Pass Filter) filtresi , bir stereo+centre surround filtresi ve iki adet medium (Band-Pass Filter) filtre devresinden ve son olarak genel bir amlifikatör ve buffer katından oluşmakta. İlgilenenler için açıklayayım: Low-Pass Filter kısmı , sadece woofer (veya bas hoparlorü denebilir) hoparlorüne gidecek bas ses sinyallerini geçirmekte ve bu sinyaller , çıkıştaki amplifikatör aracılığla woofer hoparlorüne sürülmekte. Surround filtresi ise her iki kanaldan gelen sinyalleri filtreleyip bunları yine çıkıştaki amplifikatörler aracılığıyla sağ arka , sol arka ve merkez hoparlorüne sürmekte. Devrede 3 adet 10Watt ön hoparlor , 2 adet 10Watt surround hoparlor , bir adet te 22Watt woofer hoparlor için çıkış bulunmakta yani; toplam 72Watt RMS gücüne sahip bir devre. Devreyi 1 yıldır kullanmaktayım ve oldukça memnun kaldığımı eklemek isterim. Devre +5V , -5V ve +12V besleme gerilimine ihtiyaç duymakta. Ben bu devreyi eski AT tipi anakartların güç kaynakları ile yani SPS ile beslemekteyim. Bu kaynaklar üzerinde verdiğim gerilim değeri regüleli ve kısa devre vs. korumalı olarak sunulmakta. Son bir tavsiye , woofer hoparlörünü alırken imkanlarınızın el verdiği en kaliteli hoparlörü almanızı tavsiye ederim , ayrıca çapı 20cm'den küçük olmamalı.

 


D.C. Motor Devir Kontrolü

Bu devre adından da anlaşıldığı gibi DC12V motorların devrini daha stabil olarak kontrol edebilmek amacıyla tasarlamış olduğum bir devre. Çalışma prensibi gayet basit: 555 entegresini amatör veya profesyonel pekçok elektronikçi bilir burada da bu entegrenin üretmiş olduğu clock pulse larının genliği değiştirilerek (Teknik adıyla PWM: Pulse Width Modulation) motorun devir sayısı değiştirilebilmekte. Alınan clock pulse ları BD135 tranzistörü tarafından motorun sürülmesinde kullanılmaktadır. pulse genliği ise potansiyometre tarafından ayarlanabilmektedir. BD135'e soğutucu plaka gerekmemektedir. Bu devreyi bilgisayarımda bulunan ekran kartımın fanı fazla ses çıkardığı için devrini daha hassas ayarlayabilmek amacıyla hazırladım ve 1 yıla yakın bir süredir hiç bir problem çıkarmadan çalışmaktadır. Benim elimdeki devre DC12V ile çalışan kasa fanını kontrol etmekte ve herhangi bir ısı problemi oluşmamaktadır (BD135 açısından). Jumper aracılığıyla 1uF kondansatör 680nF kondansatör ile paralel bağlanmış olmakta bu sayede 555'in clock pulse frekansı değişmektedir , böylece kontrol edilebilecek DC motorların çeşitliliği arttırılmış olmaktadır. LED olarak herhangi bir kırmızı led kullanabilirsiniz , bundaki amaç devrenin çalıştığını görsel olarak takip edebilmektir. 280nF kondansatör , motorun oluşturacağı parazitleri biraz olsun bloke edebilmek amacıyla konmuştur.

 

 


Buraya yazmaya gerek görmediğim doğal olarak pek çok program ve devre çalışmam var ve çalışmaya da devam etmeyi düşünüyorum. Sizde bu tür programlar veya elektronik devreler üretmek istiyorsanız yapmanız gerekenler gayet açık , arıştırmacı olmalısınız , hayal kurabilmeli ve onları gerçekleştirebileceğinizden şüphe duymamalısınız ve en önemlisi sabırlı olmalı , çalışmaktan asla yılmamalısınız. Saydığım hususlar pek çoğunuza zor gelebilir , zaten bende bu işin kolay olduğunu söylemedim , öyle olsa idi değeri olmazdı , önemli olan zoru başarabilmektir , kolay olanı herkes yapabilir...


Hosted by www.Geocities.ws

1