1. Ana Sayfa
  2. C Sharp
  3. C# LCD Simülator Uygulaması

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ı

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….

Yorum Yap
Yazı Kaynakları
C# ile Yapılmış Bir Çeşit LCD Simulatorü...

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Değerli yorumlarınızı bekliyorum. Lütfen yorum atmadan geçmeyin. :)