QTronics ToolSet --Elektronik Hesaplayıcılar Suiti

Bu program, elektronikle uğraşanların, E.M.L. elektrik-elektronik ve benzeri bölümde okuyan öğrencilerin, mühendislik öğrencilerinin ve hobistlerin; elektronik uygulamalarında kolaylık sağlamak ve birçok noktada öğretici olmak amacıyla hazırlanmış birden fazla hesaplayıcıları bünyesinde barındıran bir settir.

Debian tabanlı sistemler için geliştirilmiştir ve şimdilik geliştirilmesine ara verilmiştir (çok yorulduğum için).

Hesaplayıcılardan bazıları şöyledir:

Ana süit:

Temel kanunlar hesaplayıcısı:

Renkten değere, değerden renge direnç renk kodu yardımcısı:

Ekran görüntüsü_2026-01-24_02-28-40

BJT Saturation Hesaplayıcısı:

Trafosuz adaptör hesaplayıcı:

4 Bit DAC hesaplayıcı:

7 segmentli LED numaratörü binary’e çevirme:

Lojik Kapı Simülatörü:

Tesisat çapı ve sigorta hesaplayıcı:

Ana resme bakarsanız çok daha fazlası bulunmaktadır.

Programda hesaplama hataları çıkabilir. Hala kontrol halindeyim. YZ’ye kodu göstererek teyit ediyorum, sorun yok diyor. Ama gerçek dünyada işler öyle olmayabiliyor.

Bu nedenle setin bir anlamda beta olduğunu unutmayın ve şüphelendiğiniz durumlar oluyorsa sağlama yapın.

Program, Python diliyle yazıldı ve Qt5 üzerinde çalışıyor. Daha sonraki versiyonlarında pyside6’ya geçiş mümkün. GTK+ düşünmüyorum, çok sorunlu.

Bağımlılıklar minimum. Daha önce kurulmamışsa Qt5 ile ilgili bir iki tane bağımlılık kuruluyor ve fazla değiller. Bağımlılık satırı:

Depends: python3, python3-pyqt5, python3-numpy, fonts-liberation, fonts-liberation2, libxcb-xinerama0, libqt5multimedia5

Repo:

Programın kaynak klasörünü direk atamadım; çünkü en fazla 100 adet dosya içerebilir diyor. Ben de *7z dosyası olarak sıkıştırdım. 7z’li bir dosya görüyorsanız odur.

Kurulum için deb dosyası:

Kurulumda ya da kullanırken bir sorunla karşılaşırsanız lütfen bildirin.

Ve Son Not: Bu programı hiçbir yerde bulamazsınız. Muadilleri android mağazalarında ve ücretli. Size bedavadan program veriyorum. Bir teşekkürü çok görmeyin.

Yorum yazabilirsiniz.

İyi çalışmalar.

6 Beğeni

Eline sağlık hocam. :wave: :wave: :wave:

1 Beğeni

Teşekkür ederiz @shampuan A. Serhat Bey.

.deb uzantılı dosyaya çift tıklayınca kurulan paketi, menüdeki, “eğitim” sekmesinden çalıştırabilirsiniz.

1 Beğeni

Güle güle kullanın. Bir sorun çıkarsa bildirin. :+1:

1 Beğeni

Paketinizi ilk defa bugün denedim. Dört konu ilgimi çekti. Bunlar:

1 - Ekran boyutunun büyük ekran ya da tam ekran ayarlama özelliğinin olmaması sebebiyle paketteki içeriklerin küçük görünmesi.
2- Dil seçeneği olsa ve varsayılan olarak Türkçe dilinde içerikleri görsek daha verimli kullanabiliriz diye düşünüyorum.
3- Yaygın elektronik bileşenlerin ürecicilerinin ürettiği modellerin özelliklerini paylaştığı datasheet sayfalarındaki kısa yazılmış kısaltmaların açıklamalarını yazdıkları gibi sizin de pakette yer alan içeriklerdeki kısaltmlarının açıklamalarını yazmanızı bekliyorum. Mesela, " Base Resistor Calculator" sekmesindeki hFE: " hFE değeri, bir transistörün akım kazancını gösterir . Yani, giriş akımının çıkış akımına oranını ifade eder. " Gibi.
4- Copyright ifadesi ve GNU GPL V3 Lisansı ifadeleri birbirleriyle çalişmiyor mu? Beni aydınlatır mısınız?

Hemen yanıtlayayım hocam.

1- Programları tam ekran yapabilme özelliği koyduğumda, ve kullanıcı tam ekran yaptığında, küçük bir alanda oluşan widgetler ve diğer öğeler dağılıyor ve inanılmaz boşluklar oluşuyor. Arayüz çirkinleşiyor. Kullanıcıya elle köşesinden genişletebilme esnekliği verdiğimde de aynı şeyler oluyor. Bu nedenle programlara kabul edilebilir boyutlar vermek zorunda kaldım. Esnek pencere yapamam, gerçekten sorun oluyor.

2- Dil seçeneğini kesinlikle düşündüm. Fakat bazı sorunlar vardı: Ana programla beraber toplam 47 program var. Önce, stabil bir program ortaya koyabilmeli, daha sonra dil desteği eklemeliydim (diğer programlarımda böyle yapıyorum). Ancak modül sayısı arttıkça, iş çığrından çıktı. Dil desteği eklemek, tüm modülleri baştan yazmak gibi birşey. Tüm satırlar tek tek gözden geçirilerek sözlük anahtarları eklenmeli ve her sözlüğe de “o programın adı lang.ini” gibi isimlerle ayrı ayrı kaydetmeliydim. Bu imkansızdı! Kaldı ki ben dinamik dil desteği eklemeyi hiç bilmiyorum. Forumda yapabilen bir arkadaş var, onu da rahatsız edemiyorum bugünlerde bir firmaya yazılım yapıyor.

Türkçe ve diğer dil desteklerinin eklenmesi kesinlikle iyi olur. Fakat şu da var; elektronikle uğraşan insanlar, bir nebze elektronik ingilizcesi ve terminolojileri bilmek zorundadırlar.

3- Yapılabilir. Ama GUI üzerine yapılamaz. Bir buton daha eklenerek yeni bir QDialog penceresi açtırırım, içerikte bilgiler veririm. Ama bir önceki maddedeki altı çizili yerlerin önemli olmadığını göstermez. Öğrenciler de dahil.

4- Hayır, çelişmiyor. Copyright ifadesi, eser üzerindeki mülkiyetin kime ait olduğunu belirtir; GPLV3 ise mülkiyet sahibinin eserin nasıl kullanılabildiğine dair kullanıcılara verdiği izindir.

Oraya Copyright - 2026 Adım Soyadım yazmak, programın ilk olarak benim tarafımdan yapıldığını ve maddi-manevi sahibinin ben olduğumu gösteriyor. GPL ise, bunu insanlığa hediye ettiğimi, lisans metnindeki kurallara göre hareket edilebilme özgürlüğünü verdiğimi anlatıyor.

Yani sen programı aldın, değiştirip başka bir versiyonunu yaptın. Benim adım hala orada durur. Ama altına “Contributors: Adın Soyadın” yazarak dağıtmaya devam edersin. Örnek vaka: 7z formatının sahibi Igor Pavlov.

2 Beğeni

Cevap için teşekkür ederim, @shampuan Serhat Bey. Öyleyse lisans, pakete bizim de bir şeyler katabileceğimizi belirtiyor, beğendim.

1 Beğeni

@shampuan QSignal Generator - Gelişmiş fonksiyon jeneratörü - Ismail-Emre-Arikan tarafından #7 başlığında paylaştığımız latex metin düzenleme ve görsel içerik hazırlama dili ile elektronik devre tasarımını şema olarak çizdirmeyi konuşmuştuk.

Bu açıklamanın gerekli olduğunu düşündüğüm için ve forumumuzda elektronik tasarıma ilgi duyan insanlar olduğunu tahmin ettiğim için paylaşmak istedim. :innocent: CircuiTikZ Designer internet sayfasında yan taraftaki :heavy_plus_sign: simgesinden elektronik bileşen kütüphanesine erişebilir ve sağ taraftaki yatay üç çizgili seçenekler sekmesindeki export svg ile vektörel görseli doğruca indirip belgelerinize yapıştırabileceksiniz ya da export latex seçeneğiyle indirdiğiniz çıktıyı yazılımlarınıza gömebileceğiniz gibi elektronik tasarım içeren teknik içerikli belgelerinizi hazırlarken görsel için belgenizin içine gömebileceksiniz.

\begin{tikzpicture}
	% Paths, nodes and wires:
	\node[npn] at (3.25, 2.48){};
	\node[ground] at (3.25, 0.25){};
	\draw (3.25, 0.75) -- (3.25, 0.75) -- (3.25, 1.75) -- (3.25, 0.25);
	\draw (3.75, 5) to[american resistor] (3.25, 3.75);
	\draw (1, 2.25) to[battery1] (1, 0.25);
\end{tikzpicture}
<svg
    xmlns="http://www.w3.org/2000/svg"
    version="1.1"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    style="font-size: 10pt; overflow: visible;"
    viewBox="19.921194076538086 -190.97637939453125 129.78954315185547 204.73092651367188"
>
    <defs>
        <symbol id="node_npn">
            <g stroke="currentStroke" stroke-miterlimit="10" stroke-width=".4">
                <path
                    fill="none"
                    stroke-width=".53134"
                    d="M32.27954.26569v17.72729l-15.87408 7.27558"
                />
                <path
                    fill="none"
                    stroke-width="1.06267"
                    d="M16.40546 17.99298v23.28149"
                />
                <path
                    fill="none"
                    stroke-width=".53134"
                    d="m16.40546 33.99889 15.87408 7.27558v17.72729"
                />
                <path
                    d="m21.99668 36.56154 1.27031-2.77167 4.92354 5.61043-7.46418-.06708Z"
                    stroke="none"
                    fill="currentColor"
                />
                <path
                    fill="none"
                    stroke-width=".53134"
                    d="M16.40546 29.63372h-16.13977"
                />
            </g>
        </symbol>
        <symbol id="node_ground">
            <g
                fill="none"
                stroke="currentStroke"
                stroke-miterlimit="10"
                stroke-width=".4"
            >
                <path stroke-width=".53134" d="M8.46839.30374v15.8739" />
                <path
                    stroke-width="1.06267"
                    d="M.53135 16.17763h15.87407m-13.22826 2.64563h10.58245m-8.59829 2.6458h6.61413"
                />
            </g>
        </symbol>
        <symbol id="path_american-resistor">
            <g
                fill="none"
                stroke="currentStroke"
                stroke-miterlimit="10"
                stroke-width=".4"
            >
                <path
                    stroke-linejoin="bevel"
                    stroke-width="1.06267"
                    d="m.53136 8.46838 4.05887-7.93703 7.05509 15.87407 7.05508-15.87407 7.05508 15.87407 7.05509-15.87407 7.05509 15.87407 4.05887-7.93704"
                />
            </g>
        </symbol>
        <symbol id="path_battery1">
            <g
                fill="none"
                stroke="currentStroke"
                stroke-miterlimit="10"
                stroke-width=".4"
            >
                <path
                    stroke-width=".53134"
                    d="M10.82195 16.40544h5.3178m-10.55625 0h-5.31781"
                />
                <path
                    stroke-width="1.06267"
                    d="M10.82195 8.4684v15.87408m-5.23845-23.81112v31.74816"
                />
            </g>
        </symbol>
    </defs>
    <g class="">
        <use
            xlink:href="#node_npn"
            fill="#fff"
            stroke="#000"
            transform="matrix(1,0,0,1,90.55510566929134,-123.36600566929134)"
            style="color: #000;"
            class=""
        />
    </g>
    <g class="">
        <use
            xlink:href="#node_ground"
            fill="#fff"
            stroke="#000"
            transform="matrix(1,0,0,1,114.40430566929133,-9.714518897637795)"
            style="color: #000;"
            class=""
        />
    </g>
    <g class="">
        <polyline
            points="122.83464566929133,-28.346456692913385 122.83464566929133,-28.346456692913385 122.83464566929133,-66.14173228346456 122.83464566929133,-9.448818897637794"
            fill="none"
            stroke-dasharray="0.4pt 0pt"
            stroke-opacity="1"
            stroke-width="0.5333333333333333"
            stroke="#000"
        />
    </g>
    <g class="" style="">
        <use
            xlink:href="#path_american-resistor"
            fill="#fff"
            stroke="#000"
            style="color: #000;"
            transform="matrix(-0.3713906763541039,0.9284766908852593,-0.9284766908852593,-0.3713906763541039,148.40142996048704,-182.84743321783537)"
        />
        <line
            x1="141.7322834645669"
            y1="-188.97637795275588"
            x2="140.14405964916662"
            y2="-185.00581841425517"
            fill="none"
            stroke-width="0.5"
            stroke="#000"
        />
        <line
            x1="122.8346456692913"
            y1="-141.7322834645669"
            x2="124.42286205687806"
            y2="-145.7028244335338"
            fill="none"
            stroke-width="0.5"
            stroke="#000"
        />
    </g>
    <g class="" style="">
        <use
            xlink:href="#path_battery1"
            fill="#fff"
            stroke="#000"
            style="color: #000;"
            transform="matrix(-3.8285686989269494e-16,1,-1,-3.8285686989269494e-16,54.200715590551184,-55.446814488188956)"
        />
        <line
            x1="37.7952755905512"
            y1="-85.03937007874015"
            x2="37.795275590551185"
            y2="-55.18112448818896"
            fill="none"
            stroke-width="0.5"
            stroke="#000"
        />
        <line
            x1="37.79527559055117"
            y1="-9.448818897637778"
            x2="37.79527559055118"
            y2="-39.30706448818896"
            fill="none"
            stroke-width="0.5"
            stroke="#000"
        />
    </g>
</svg>
2 Beğeni

Aaaa! :astonished: Hatırlattığınız iyi oldu hocam.

haaaa tabiii yaaaa

Bu siteyi yanlış hatırlamıyorsam bana YZ daha önce önermişti. Bir bak, beğenirsen böyle birşey yazabiliriz falan demişti, kaldı öyle.

Benim şu anda devre çizimi için kullandığım bir PNG dosyası var. Bu dosya içerisinde bir sürü eleman simgesi ve çizim için boş alan var. Elemanı seçip kopyala deyip boş alana getirip yapıştırarak devre çiziyorum ve png olarak kaydedebiliyorum. Ama 2013’lerden beri bunu programa çevirmeyi çok istiyordum. Şimdi tek sorun, içerikteki elemanların hem dimensionlarını hem de bağlantı noktaları için hassas koordinatlarını tayin edip koda dökmede. Bu iş günlerimi alabilir. Coding kısmını YZ’ye yaptırırım.

Aklıma getirmeniz çok iyi oldu çok sağolun. Ben bu olayı yapılacaklar listesine almayı tamamen unutmuşum.

1 Beğeni