Arduino Lcd Bar Uygulaması

Arduino projerimde genellikle 16×2 lcd ekran kullanmaktayım. Bu lcd ekranın özelliklerini ve kullanım şeklini sizlere aktarmak istiyorum.

Ayrıntılı tüm bilgiler videoda mevcuttur. Buradan ise yazılıma ulaşabilirsiniz.

  • Arduino Uno

  • 16×2 lcd ekran

  • 2 adet 10k pot

  • kablolar


 

#include <LiquidCrystal.h>               
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);    // LCD pins: RS, ENABLE, D4, D5, D6, D7



unsigned int pot_alinan = 0;
unsigned int alinan_ref = 1;



int okunan_max_deger = 100;
int bar_uzunluk      =   10;
int sutun_hesap      = okunan_max_deger/bar_uzunluk;
int satir_hesap      = ((sutun_hesap/5)*10);




byte graph [5][8] = {                 
  // new LCD chars:   |,   ||,   |||, ||||, |||||
       {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00},  // 1 dikey çizgi
       {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00},  // 2 dikey çizgi
       {0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00},  // 3 dikey çizgi
       {0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x00},  // 4 dikey çizgi
       {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00}   // 5 dikey çizgi
};
//-----------------------------------------------------------------------------
void setup() {

  lcd.begin(16, 2);                       
  
lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("lcd bar uygulama");
  delay(2000);
lcd.clear();
}
//---------------------------------------------------------------------------------
void loop() {

  pot_alinan = analogRead(A0);
  
 pot_alinan = map(abs(pot_alinan), 0, 1024, 0, 100);

    if (alinan_ref != pot_alinan) {
    cubuk(pot_alinan + 1);
    alinan_ref = pot_alinan;
 
}

}



//---------------------------------------------------------------------------


void cubuk(unsigned int atanan) {
  byte blok_sutun;                                
  byte blok_satir;                                 
  byte sayac;                                 


int sutun_hesap      = okunan_max_deger/bar_uzunluk;
int satir_hesap      = ((sutun_hesap/5)*10);


  lcd.setCursor(0, 0);

  lcd.print("pot_alinan ");
  lcd.print(pot_alinan);
  lcd.print("    ");
  
  lcd.setCursor(0, 1);
                     
  lcd.print("Volt =");     
  lcd.setCursor(6, 1);                       
 blok_sutun = atanan / sutun_hesap;                        
  for (sayac = 0; sayac < blok_sutun; sayac++)
    lcd.write(4);

 blok_satir = (10 * (atanan - blok_sutun * sutun_hesap)) / satir_hesap;      
  if (blok_satir > 0)
    lcd.write(blok_satir - 1);
  else
    lcd.write(' ');                       

  for (sayac = blok_sutun + 1; sayac < bar_uzunluk; sayac++)          
    lcd.write(' ');
    delay(200);
}

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , ,
Eklenme Tarihi: 10 Mart 2019

Konu hakkında yorumunuzu yazın

Arduino Lcd Bar Uygulaması (1 Yorum)

  1. Bana sadece potasyometrenin sağa sola dönmesiyle artıp azalan ve ekranda başka yazı olmayan kodlardan lazım yakıt göstergesi için

UA-46017808-1

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.