23 Temmuz 2017 Pazar

Arduino - C# ile LCD'de Yazı Yazdırma


Merhaba arkadaşlar,
C# ile Arduino'ya bağlı LCD'ye nasıl yazı yazdırabileceğimizi anlattığım videoyu ve kodları paylaşıyorum. Umarım sizlere yardımcı olur.


Arduino Kodları;




 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,4,5,6,7); // LCD Shield Bağlantı Pinleri
String str1="",str2=""; // str1 LCD 1.Satırı, str2 LCD 2.Satırı 
boolean stringcomp=false; // C#'dan okuma tamamlandı mı?
int cnt=0; // 1.satıra mı 2.satıra mı belirlemek için koyduğumuz sayaç

void setup() 
{
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.setCursor(0,0);
}
void SerialEvent()
{
  while(Serial.available())
  {
    char inChar=(char)Serial.read(); // C#'dan oku char'a çevir ve inChar'a yaz
    cnt++; // Sayacı arttır her okuduğunda
    if(inChar=='\n') // \n alt satıra geçme demek, eğer geçerse C#dan okuma tamamlanmış demektir
      stringcomp=true;

    if(inChar=='*') // Bu karakteri kendimiz belirledik. LCD'yi silmek için
    {
      lcd.clear();
      str1="";
      str2="";
      stringcomp=true;
    }
    if(stringcomp==false && cnt<=16) // Sayaç 16'dan küçükse okunan karakterleri str1'e yani LCD'nin 1.satırına yaz
      str1+=inChar;

    if(stringcomp==false && cnt>16 && cnt<=32)  // 16'dan büyükse 2.satıra yaz
      str2+=inChar;
   }
}
void loop() 
{
  lcd.setCursor(0,0);
  SerialEvent();
  if(stringcomp)
  {
    lcd.clear();
    lcd.print(str1);
    lcd.setCursor(0,1);
    lcd.print(str2);
    stringcomp=false;
    str1="";
    str2="";
    cnt=0;
  }
  delay(50);
}


C# Anlatımlı YouTube Videom;


1 yorum:

  1. Merhaba, lcd yerinde oled ssd1306 ekranı kullanmak istiyorum kodları nasıl değiştirmem gerekiyor.
    Teşekkür ederim.

    YanıtlaSil