19 Tem 2010

USB RS232 dönüştürücü kurulumu kullanılması ve C# ile seri port iletişim örneği

 Driver yüklü ise baştan kaldırın. Sonra Bilgisayar açılışında işletim sistemleri menüsünden (işletim sistemleri menüsü yoksa bios ekranından sonra) f8 tuşu ile ile dijital imza zorlamasını kaldırın (Daha detaylı bilgi için buraya bakabilirsiniz). Rs232 Usb çeviriciyi usb den takın (uçlarını kısa devre yapmadan) ve driver'ı gösterip yükleyin. Hyper Terminali açın, bağlantı oluşturun ayarlar kısmında default ayarları getirin (Restore defaults) Daha sonra seri port'un üstten 2. ve 3. portlarını birleştirin ve klavyeden giriş yapın, yazdıklarınız aynen gözüküyorsa rs232 portunuz sorunsuz çalışıyor demektir.

Tekrar bağlanmaya çalıştığınızda port hatası verirse Hyper Terminali kapatıp dönüştürücüyü çıkarın, kısa devre yaptığınız uçları düzeltin, kısa devre yapmadan tekrar bağlayın ve hyper Terminali açarak yeniden bağlanmayı deneyin.

Aşağıdaki C# ile yazdığım program ile de test edebilirsiniz, (programı buradan indirebilirsiniz). Dikkat edin Port doğru seçilmeli yoksa hata verecektir.





private void Form1_Load(object sender, EventArgs e)
        {
            SerialSettings(sender, e);
        }

        private void comboBoxPortNameBaundRate_SelectedIndexChanged(object sender, EventArgs e)
        {
            SerialSettings(sender, e);
        }

        public void SerialSettings(object sender, EventArgs e)
        {
            serialPort1 = new SerialPort(comboBoxPortName.Text, Convert.ToInt32(comboBoxBaundRate.Text));
            serialPort1.ReadTimeout = 500;
            serialPort1.WriteTimeout = 500;
        }

        private void Write_Click(object sender, EventArgs e)
        {
            try
            {
                if (!serialPort1.IsOpen)
                {                  
                    serialPort1.Open();
                }
                serialPort1.WriteLine(textBox1.Text);
                MessageBox.Show("Başarıyla yazıldı", "Tebrikler");
            }
            catch (Exception writemessage) { MessageBox.Show("Seri Porta yazma sırasında şu hata oluştu: \n\n" + writemessage.Message); }
        }

        private void Read_Click(object sender, EventArgs e)
        {
            try
            {
                textBox2.Text = serialPort1.ReadLine();
                serialPort1.Close();
                MessageBox.Show("Başarıyla okundu", "Tebrikler");
            }
            catch (Exception readmessage) { MessageBox.Show("Seri Porttan okuma sırasında şu hata oluştu:        \n\n" + readmessage.Message); }
        }


Dönüştürücüyü en ucuza nereden alabilirim diyorsanız tabii ki ebay.com . Çinden geliyor gelmesi 7-8 günü geçiyor hatta bazen 10-14 gün arasında geliyor, fakat zaman sorunu olmayanlar için sorun olmaz, fiyat gayet uygun (3.5 - 4 Tl civarı). Dikkat edin şefaf olanlardan almayın, siyah olanlar daha iyi ama onun da garantisi yok, sorun çıkarsa satıcılar geri ödeme yapıyorlar ama işimi garantiye alayım daha fazla vermeye razıyım diyorsanız 7$ ödeyerek vista ve win7 uyumlu, chipli bir dönüştürücü alabilirsiniz. Ödemeyi Paypal ile yapıyorsunuz çok güvenli bir yol, kolay gelsin.


9 Tem 2010

Casio cfx 9800 G için 2x2 ve 3x3 matris çözümü program kodu




 2006 yılında arayıp bulamadığım bu programı daha sonra kendim oluşturmuştum. Belki bir ihtiyacı olan olur diye paylaşmak istedim. Özellikle Elektrik Elektronik ve İnşaat mühendisliği gibi sayısal ağırlıklı bölümlerde 2x2 ve 3x3 matris çarpımlarının hesap makinası ile hesaplanması makinalar otomatik olarak yapmadığından çok kolay değilir bu sebeple bir kod oluşturmak gerekir. Bu kod özellikle Casio grafik serisi hesap makinalarında matris çözümü ihtiyacınızı karşılayacaktır inşallah.
 


Casio cfx 9800 G için 2x2 matris çözümü program kodu

 

"2x2 MAT COZUMU"
"A="?→A
"B="?→B
"C="?→C
"D="?→D
"E="?→E
"F="?→F

((ExD)-(BxF)) ÷ (AxD)-(BxC)) → X
((AxF)-(CxE)) ÷ (DxA)-(BxC)) → Y
"X="
X
"Y="
Y




Casio cfx 9800 G için 3x3 matris çözümü program kodu

"3x3 MAT COZUMU"
"A="?→A
"B="?→B
"C="?→C
"D="?→D
"E="?→E
"F="?→F
"G="?→G
"H="?→H
"I="?→I
"K="?→K
"L="?→L
"M"?→M

(((AxExI) + (BxFxG) + (CxDxH)) – ((GxExC) + (HxFxA) + (IxDxB))) → W
"DET 3x3 MAT "
W

(((KxExI) + (BxFxM) + (CxLxH)) – ((MxExC) + (HxFxK) + (IxLxB))) ÷ W → X
"X="
X

(((AxLxI) + (KxFxG) + (CxDxM)) – ((GxLxC) + (MxFxA) + (IxDxK))) ÷ W → Y
"Y="
Y

(((AxExM) + (BxLxG) + (KxDxH)) – ((GxExK) + (HxLxA) + (MxDxB))) ÷ W → Z
"Z="
Z