16x2bargrafik

16×2 LCD ile Çubuk Grafik Oluşturma

Bildiğiniz gibi 16×2 Lcdler 16 karakter ve 2 satırdan oluşan LCDlerdir . Genelde bu LCDleri yazı yazma veya bazı değerleri görmek için kullanırız. Bu LCDlerle karakter oluşturmanız mümkündür. Herbir kutucukta 5×8 piksel vardır.Alınan bir değeri LCDde Bar grafik şeklinde görmeniz için yapmanız gereken özel karakterler oluşturmaktır.

 

16x2bargrafik1

Şekilde görüldüğü gibi karakterler oluşturulur. Artık gerisi size kalmış, örnek programda alınan analog değeri bar grafik şeklinde gösteriyor.

 

// www.arduinom.org tarafindan paylasilmistir. daha detayli bilgi icin websitesini ziyaret edebilirsiniz.
#include <LiquidCrystal.h>

#define lenght 16.0

double percent=100.0;
unsigned char b;
unsigned int peace;

// custom charaters

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte p1[8] = {
  0x10,
  0x10,
  0x10,
  0x10,
  0x10,
  0x10,
  0x10,
  0x10};

byte p2[8] = {
  0x18,
  0x18,
  0x18,
  0x18,
  0x18,
  0x18,
  0x18,
  0x18};

byte p3[8] = {
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C,
  0x1C};

byte p4[8] = {
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E,
  0x1E};

byte p5[8] = {
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F,
  0x1F};

void setup()   {

  delay(100);
  lcd.createChar(0, p1);
  lcd.createChar(1, p2);
  lcd.createChar(2, p3);
  lcd.createChar(3, p4);
  lcd.createChar(4, p5);

  lcd.begin(16, 2);

}

void loop()
{

  lcd.setCursor(0, 0);

  //ADC conversion

  unsigned int value = analogRead(0);

  percent = value/1024.0*100.0;

  lcd.print(value);

  lcd.print(" - ");

  lcd.print(percent);
  lcd.print(" %   ");

  lcd.setCursor(0,1);

  double a=lenght/100*percent;

 // drawing black rectangles on LCD

  if (a>=1) {

    for (int i=1;i<a;i++) {

      lcd.write(4);

      b=i;
    }

    a=a-b;

  }

  peace=a*5;

// drawing charater's colums

  switch (peace) {

  case 0:

    break;

  case 1:
    lcd.write(0);

    break;

  case 2:
    lcd.write(1);
    break;

  case 3:
    lcd.write(2);
    break;

  case 4:
    lcd.write(3);
    break;

  }

//clearing line
  for (int i =0;i<(lenght-b);i++) {

    lcd.print(" ");
  }

  ;
}
</pre>
<pre> 

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

  
  1. Kamil 4 Ekim 2015 19:53

    Merhaba

    LCD de özel şekil oluşturma konusun da pic ccs c buna benzer bir şekil oluşturmak istiyorum fakat tanımlaması nasıl yapılabilir çözemedim, yaptığım menüde işaretçi olarak kullanmayı düşündüğüm yukarıyı gösteren bir ok işareti yapmak istiyorum

    okun hex kodu
    (0x4,0xE,0x1F,0x1F,0x0,0x0,0x0,0x0)
    bu tabi değişik şekillerde uygulamak istiyorumda şekli programa tanımı ve kullanımı ne şeklde olacak bulamadım, bu konuda yardımcı olmanız mümkünmü

    saygılarımla

    Cevapla
    • admin 5 Ekim 2015 06:08

      Kamil bey alttaki linke tiklayarak ozel karakteri olusturabilir ve nasil kullanildigini ogrenebilirsiniz
      http://arduinom.org/lcd-ozel-karakter/ (Yaziyi sonuna kadar okuyun altta bir link goreceksiniz )

      bu linke tiklayarak ozel karakter nasil olsuturulur nasil kullanilir gorebilirsiniz
      Eger sorunuza cevab veremediysem lutfen tekrar yazin .

      SAYGILAR

      Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.