Anasayfa Makale Kendin Yap #4: Bilgisayar için Ek Minik Performans Monitörü Yapımı

Kendin Yap #4: Bilgisayar için Ek Minik Performans Monitörü Yapımı

Sistem performans monitörü ile bilgisayarımızın performansıyla ilgili anlık verileri küçük bir ekranda takip edelim. Peki nasıl? Kendi harici sistem performans monitörünüzü nasıl yapacağınızı gösteren bir rehber hazırladık!

Sistem performans monitörü fikri nereden çıktı? Biraz geriye gidersek, eskiden kasaların bazılarının üzerinde, sistem içi sıcaklıkları ve fan hızlarını gösteren ekranlar olurdu. Artık göremediğimiz bu özellik, kasalardan güç kaynaklarına ve diğer bileşenlere eklenen ekranlarda kendisine yer bulmaya başladı

Kasalara ek olarak Steeleries Apex klavyelerdeki OLED ekranlar için de benzer mini uygulamalar var. Ayrıca hatırlarsanız Corsair’ın klavyelere takılabilen ya da masada kendi başına durabilen iCUE Nexus dokunmatik LCD ekranını incelemiştik. Onun da bu tür donanım izleme özellikleri vardı.

Bunların hepsi sözünü ettiğim ihtiyacı karşılasa da daha ucuza ve kasa camına dahi takılabilecek şekilde kendim bunu yapabilir miyim diye araştırırken Gnat-Stats isimli projeye denk geldim. Geliştiriciler tam da düşündüğüm şeyi yapmış ve bu yüzden sıfırdan bu işe girişip, tekerleği baştan icat etmekten vazgeçtim. Siz isterseniz oturup sıfırdan programlamayı deneyebilirsiniz ya da açık kaynak projeleri alıp daha iyi hale getirmek için çalışabilirsiniz. Ancak bu hazır kodlar, bu işler ile ilk kez uğraşacak olan okur ve izleyicilerimiz için çok yararlı olacak.

Gnat-Stats işlemci ve ekran kartı modeli, çalışma frekansı, kullanım yüzdesi, sıcaklıkları gibi bilgileri ekranda gösterebiliyor.

Hackaday.io isimli DIY donanım geliştirme topluluğu altında Rupert Hirst ve Psyrax isimli geliştiricilerin elinden çıkan Gnat-Stats yaklaşık 100 liraya alabileceğiniz elektronik parçalarla kendi donanım izleme modülünüzü yapmanızı sağlıyor.

Hem kasanızın camında ya da bilgisayar masanızda orasından burasından kablo çıkan Cyberpunk-vari fütüristik bir sistem performans monitörünüz oluyor, hem de elektronik prototipleme ve programlama gibi konularda bilginizi ilerletmeniz için bir sebep yaratmış oluyorsunuz. Açık kaynak kodlu DIY projelerin bir başka güzel yanı da ihtiyacınız ve zevklerinize göre onu geliştirebiliyorsunuz.

Proje gerçekten oldukça yetenekli. İşlemci ve ekran kartınızın modelini, anlık çalışma frekansını, kullanım yüzdesini ve sıcaklığını gerçek zamanlı olarak minik bir OLED ekranda görüntülüyor.

Rivatuner vs Gnat-Stats

Ben şahsen Rivatuner gibi uygulamaların oyun oynadığım ekranda donanım istatistiklerini göstermesini dikkat dağıtıcı buluyorum. Bu testlerde sorun değil ancak gündelik oyunda daha iyi bir çözüm gerekli.

Ekranda sadece FPS yazınca bile oyundaki hikayeye ya da detaylara odaklanamıyorum. Gözüme sokulması yerine daha az dikkat dağıtan küçük bir ekranda bu verilere istersem bakabilmek daha iyi bir fikir gibi geliyor. Rivatuner’ın bir başka eksisi de sadece oyunlarda ve 3D uygulamalarda gözüküyor, bu iş için özel yapılan ekranlar ise sürekli donanım bilgilerinizi gösterebiliyor.

Kendi Monitörümüzü Yapmaya Başlayalım!

Tabii ki bu projenin 2 ayağı var. Birisi bilgisayarınızda arkaplanda çalışan bir uygulama. Bu uygulama Open Hardware Monitör tabanlı. Bu kısım Visual Studio.net ile yazılmış ve kaynak kodları açık. Bu uygulama donanım bilgilerinizi USB üzerinden sistemin beyni olan Arduino’ya raporluyor. Sonra Arduino da OLED ekranda bu bilgileri gösteriyor.

Baştan belirteyim projede herhangi bir kod yazma ya da lehimleme gibi ileri seviye elektronik becerileri gerektiren işler yok. İlk defa Arduino kullanacaksanız ve tek satır kod yazmadıysanız bile bu projeyi yapabilirsiniz ancak daha rahat edebilmeniz ve olası sorunları kolayca tespit edebilmeniz adına size tavsiyemiz Arduino ve hobi elektroniğine temel giriş mahiyetinde okumalar yapmanız.

Performans Monitörü için Gereken Parçalar

  • SH1106 sürücü çipine sahip, 128×64 çözünürlüklü, 1.3 inçlik bir OLED ekran
  • Arduino Pro Micro
  • Breadboard
  • Jumper kablolar
  • Micro USB kablo

Öncelikle ihtiyacımız olan parçalar neler onlara bakalım. Ekran olarak 1.3inçlik, SH1106 sürücü çipini kullanan 128×64 çözünürlüğünde bir OLED ekrana ihtiyacımız olacak.

Kullanacağımız Arduino modelinin adı ise Pro Micro. Küçük boyutları ve dahili micro usb yuvası ile kolayca programlayıp kasanızın içine fazla yer işgal etmeden koyabileceğiniz bir model bu. Google’da aratarak robotik mağazalarından temin edebilirsiniz bunları. Siz sormadan ben söyleyeyim, malesef bu proje Arduino’nun en popüler modeli olan Uno ile uyumsuz. Kullanabileceğiniz diğer mikrokontrolcüler için video açıklamalarındaki proje sayfasına bakabilirsiniz.

Prototipleme

Arduino Pro Micro’nun bacakları lehimlenmiş versiyonunu bulabilirseniz onu almanızı öneririm. Aksi taktirde bir elektronikçide bacaklarını lehimletmeniz gerekebilir.

Performans monitörünü prototipleme aşamasında biz orta boy Breadboard kullandık. Breadboard ekmek tahtası denen bu parça bağlantıları yapmak, yönlendirmek, parçaları üzerine dizmek için bir temel oluşturuyor. Ancak sadece ekran gözükecek şekilde kasanızın yanındaki temperli cama yapıştırmayı düşünüyorsanız Breadboard olmadan da kullanabilirsiniz.

Prototipleme bittiğinde aşağı yukarı böyle gözükmesi gerek.

Bu ekranın Arduino Pro Micro ile bağlantısı oldukça basit. Vcc ve Gnd pinleri Arduino’nun aynı isimli pinlerine, SDA ve SCL pinleri de sırasıyla Arduino’nun 2. Ve 3. Dijital giriş/çıkış pinlerine takılmalı.

Yazılım / Programlama

Kendi performans monitörü üretimimiz için gereken donanım kısmı sadece bu kadardı. İşin yazılım kısmı biraz daha detaylı. Öncelikle indirmediyseniz Arduino’yu programlamanızı sağlayan IDE yazılımını indirip bilgisayarınıza kurun.

Sonra Gnat-Stats’in proje sayfasına gidip dosyalar sekmesi altından Gnat-Stats-ProMicro-OLED isimli zip dosyasını indiriyoruz ve dosya içeriğini zip dosyasıyla aynı isimde bir klasöre çıkarıyoruz.

GnatStats_ProMicro_OLED” ile başlayan .ino dosyası ana proje dosyamız. Bunu Arduino IDE ile açtığınızda Arduino’nun bu klasör altındaki diğer .ino dosyalarını ve bitmap.h dosyasını farklı sekmeler halinde açıp, otomatik olarak bu projeye dahil ettiğini görmemiz gerek. Bunu görüyorsanız buraya kadar her şey yolunda demektir.

Proje dosyasını açtığınızda diğer .ino dosyalarının da farklı sekmeler halinde açıldığını doğrulayın.

Şimdi yüklememiz gereken birkaç kütüphane var. Bunların linklerini Arduino kodunun başında bulabilirsiniz. Bu Github linklerini tek tek açıp, sayfadaki Code butonuna ve oradan da Download Zip’e tıklıyoruz.

Dosyalar indikten sonra Arduino IDE menülerinden Taslak, library ekle, .zip kitaplığı ekle yolunu takip edip bu dosyaları tek tek kütüphane olarak yüklüyoruz.

Kütüphane yükleme bittikten sonra kodun OLED Setup kısmında birkaç değişiklik yapmamız gerekiyor. Kullandığımız OLED’in sürücüsü hangisiyle onu aktif kılmamız gerek. Varsayılan olarak SH1106’nın devre dışı bırakıldığını SSD1306’nın aktif durumda olduğunu göreceksiniz. Onu tam tersi yapıp SH1106’yı aktif hale getirip, SSD1306’yı devre dışı bırakıyoruz.

Şimdi kodu derleyip hatalara karşı kontrol edelim. Eğer Arduino IDE hata veriyorsa kütüphaneleri doğru ve eksiksiz yüklediğinizden emin olun. Eğer hala hata almaya devam ederseniz Adafruit BusIO kütüphanesini kütüphane yöneticisi altından yüklemeyi deneyin. Bunun menüleri izleyerek Taslak>Library Ekle> Kütüphaneleri yönet’e tıklayın ve arama kutusuna Adafruit BusIO yazıp, çıkan kütüphaneyi kurun.

Not: Arduino Pro Micro’nun Kartlar altında Leonardo olarak göründüğünü unutmayın. 

Şimdi kodu Arduino’ya yükleyin.

Arkaplan uygulaması: Hardware Serial Monitor

Sırada bilgisayarımızda arkaplanda çalıştıracağımız uygulama var. Arduino kodunu indirdiğimiz yerde Hardware Serial monitor isimli bir zip dosyası olacak. Onu da indirin de klasörden çıkarıp yönetici yetkisiyle çalıştırın.

Uygulama arkaplanda çalışmaya başlayacaktır ve sağ altta, saatin yanında uygulamanın ikonunu göreceksiniz. Şimdi bu ikona tıklayıp Arduino Pro Micro’nun takılı olduğu Com portunu seçin. Emin değilseniz Arduino IDE’deki Araçlar>Port menüsü altından hangi portta takılı olduğunu görebilirsiniz.

Hardware Serial Monitör tray’de açık.

Siz portu seçtikten sonra birkaç logo göreceksiniz ve sonrasında sistem bilgileriniz performans monitörünüzde gözükmeye başlayacak.

İşte bu kadardı.

Bu bilgisayarda 32 çekirdekli Ryzen Threadripper 2990WX işlemci, GTX 1080Ti ekran kartı ve 32GB bellek var ve hepsi de sorunsuz tanındı. Ekranda tüm bileşenlerin kullanım yüzdelerini, sıcaklıklarını ve çalışma frekansını görebiliyorsunuz. Ve bu değerler saniyede bir güncelleniyor. Geliştiriciler performans monitörü için 3 farklı ekran tasarlamışlar ve bu ekranlarda farklı bilgiler yer alıyor, ekranlar bir döngü şeklinde belirli aralıklarla değişiyor.

Eğer burada hatalar görüyorsanız kodun ilgili kısımlarına gidip, açıklamaları da okuyarak bazı değişiklikler yapabilirsiniz. Geliştirici olası karakter taşması ya da veri eksikliği gibi sorunları giderebilmeniz için pek çok yönteme yer vermiş.

Projenin bilgisayarınızda çalışan ayağı Open Hardware Monitor uygulamasının .dll dosyasını kullanarak donanımınızın bilgilerini okuyor. Bu uygulama yeni çıkan ya da popüler olmayan bazı donanımları tanıyamadığı için sıkıntı yaşayabilmeniz olası. Bunu geliştiriciye bildirmek için proje sayfasındaki Discussions kısmına yazabilirsiniz.

Proje 2.8 inçlik TFT LCD ekranlara kadar destek vermekte.

Gnat stats farklı mikrokontrolcüler ve daha büyük, renkli ekranlarda da çalışabiliyor. Proje sayfasında uyumlu ekranları görebilirsiniz. 2.8inç renkli ekranlara kadar destek veriyor proje. Her şey yolunda gittiyse harici performans monitörü projeniz tamamdır, kullanabilir, geliştirebilir, dağıtıp yeni bir şeyler yapabilirsiniz.

Siz de projelerinizi Technopat Sosyal’de paylaşabilir, Technopat’ta görmek istediğiniz projeleri yorumlarda paylaşabilirsiniz…