1. Ana Sayfa
  2. C Sharp

C# LCD Simülator Uygulaması

Arkadaşlar bu uygulamayı sıfırdan ben yazmadım. Mevcut olanı aldım ve biraz değiştirdim. Kaynağa aşağıdan ulaşabilirsiniz.

C# LCD Simülator Uygulaması
+ - 0

Merhabalar, bu yazımda bir C# LCD Simülator Uygulaması vereceğim. Bu uygulamayı sıfırdan ben yapmadım. Var olan bir projeyi aldım ve biraz değişiklik yaptım. Hoşuma giden bir proje olduğu içinde paylaşmak istedim. Yazının sonunda kaynağı görebilirsiniz. C# konusunda yapacak fazla şey bulamadığım için artık farklı farklı şeyleri denemeye başladım. Zamanla çok daha ilginç ve farklı konularla yazılarıma devam edeceğim.  Verdiğim kaynağın proje kodlarına ulaşılamamaktadır.

C# LCD Simülator Uygulaması

Ekran görüntüsü aşağıdaki gibidir.

C# LCD Simülator Uygulaması

textbox’a yazdığımız harfleri yukarıdaki kareleri yani ledleri boyayarak yazıyor. Aslında boyamıyor textbox’un yanındaki picturebox’ları led olarak kullanarak yeniden ayarlıyor diyebiliriz.  Burada harfleri yazabilmemiz için 8×8 lik 2 boyutlu diziler kullanıyoruz. 8×8 olmasının sebebi ise yukarıdaki görselde gördüğünüz led alanında dikeyde 8 kare kullanmış olmamızdır.

Öncelikle 8×8 dizi içerisinde bir harfin görüntüsünü oluşturmamız gerekiyor. Örneğin A harfine bakalım.

        public static int[,] A()
        {
            return new int[8, 8]{
                         {0,0,1,1,1,1,0,0},
                         {0,1,0,0,0,0,1,0},
                         {0,1,0,0,0,0,1,0},
                         {0,1,0,0,0,0,1,0},
                         {0,1,1,1,1,1,1,0},
                         {0,1,0,0,0,0,1,0},
                         {0,1,0,0,0,0,1,0},
                         {0,1,0,0,0,0,1,0}};
        }

Yukarıdaki diziye baktığımızda yukarıdaki led alanı gibi duruyor değil mi? Bu dizideki 1 ler yukarıdaki led alanında yeşil renkle gösterildiğinde A harfi yazılmış oluyor. Şuanda projede tüm harfler yer almaktadır.

Şimdi proje kodlarına geçelim.

Led alanının hazırlanması…

        void EkranGetir()
        {
            ekransatir = new PictureBox[8, 80];
            int xpos = 0;
            int ypos = 20;
            int width = 8;
            int height = 8;
            for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 80; j++)
                {
                    ekransatir[i, j] = new PictureBox();
                    panel1.Controls.Add(ekransatir[i, j]);
                    ekransatir[i, j].Image = led0.Image;
                    ekransatir[i, j].SetBounds(xpos, ypos, width, height);
                    ekransatir[i, j].Show();
                    xpos += 8;
                }
                xpos = 0;
                ypos += 8;
            }
        }

8×8 piksel ile mevcut (gri renkli) picturebox”u kullanarak led alanını hazırladık.

        public void yaz()
        {
            int gonder = 0;
            int i, j;
            char[] gelen = textBox1.Text.ToUpper().ToCharArray();
            for (i = 0, j = 0; i < gelen.Length && j < gelen.Length; i++, j++)
            {
                harfyaz(gonder, gelen[j]);
                gonder += 8;
            }
        }

Bu metot ile textbox’a yazılan kelimedeki harfleri bir array list’e alıyoruz. Bu liste ile bir döngü kurup, harfyaz metodunu çalıştırıyoruz. Parametre olarak da harf genişlik değerini (yani 8 pixel/kare/led) ve sıradaki harfi gönderiyoruz .

        public void harfyaz(int a, char c)
        {
            int x = a;
            harfsec(c);
            for (int i = 0; i < 8; i++)
            {
                x = a;
                for (int j = 0; j < 8; j++)
                {
                    if (Harf[i, j] == 1)
                    {
                        ekransatir[i, x].Image = led1.Image;
                    }
                    else if (Harf[i, j] == 0)
                    {
                        ekransatir[i, x].Image = led0.Image;
                    }
                    x++;
                }
            }
        }

harfyaz metodu ile gelen harf bilgisi ile Harf.cs dosyasındaki ilgili harfin 8×8 lik dizisini alıyoruz. Aldığımız harf dizisindeki 1 değerlerini, ekran yaz metodunda da kullandığımız ekransatir dizisindeki karşılığını yeşil picturebox ile değiştiriyoruz. 8×8 lik dizideki 0 olan alanları da gri picturebox ile değiştiriyoruz. Böylece harfi yazmış oluyoruz.

        int[,] Harf;
        public void harfsec(char karakter)
        {
            switch (karakter)
            {
                case 'A': Harf = Harfler.A(); break;
                case 'B': Harf = Harfler.B(); break;
                case 'C': Harf = Harfler.C(); break;
                case 'D': Harf = Harfler.D(); break;
                case 'E': Harf = Harfler.E(); break;
                case 'F': Harf = Harfler.F(); break;
                case 'G': Harf = Harfler.G(); break;
                case 'H': Harf = Harfler.H(); break;
                case 'I': Harf = Harfler.I(); break;
                case 'J': Harf = Harfler.J(); break;
                case 'K': Harf = Harfler.K(); break;
                case 'L': Harf = Harfler.L(); break;
                case 'M': Harf = Harfler.M(); break;
                case 'N': Harf = Harfler.N(); break;
                case 'O': Harf = Harfler.O(); break;
                case 'P': Harf = Harfler.P(); break;
                case 'R': Harf = Harfler.R(); break;
                case 'S': Harf = Harfler.S(); break;
                case 'T': Harf = Harfler.T(); break;
                case 'U': Harf = Harfler.U(); break;
                case 'V': Harf = Harfler.V(); break;
                case 'Y': Harf = Harfler.Y(); break;
                case 'Z': Harf = Harfler.Z(); break;
            }
        }

Bu metot ile de textbox’a yazılan her harf için belirlenmiş olan diziyi alıyoruz. Aldığım projede sadece A harfi vardı. Diğer harfleri ben hazırladım. Eğer size rakamlar vs de lazım olursa yukarıdaki mantıkla hazırlayabilirsiniz.

 


C# LCD Simülator Uygulaması yazımda bu kadar arkadaşlar. Diğer yazılarımda görüşmek üzere. Umarım faydalı olmuştur. Aşağıdaki linklerden eğitim seti sayfasına ve github projesine ulaşabilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.  Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu projenin Github sayfasına buradan ulaşabilirsiniz.

Sağlıcakla ve kodla kalın….

Yazı Kaynakları
C# ile Yapılmış Bir Çeşit LCD Simulatorü...
Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)