Basitleştirilmiş Nextion Ekranı Arduino ile Kullanma


Nextion HMI Ekranlar kendi hafızasına sahip seri haberleşme ile diğer elektronik cihazlar ile haberleşmenizi kolaylaştıracak en basit ekran türüdür. Bu tip ekranları "Nextion Editor" programı ile rahatlıkla programlayabilirsiniz. Arduinodan veri almasa dahi kendi içersinde hafızası olduğundan ekrana sadece güç vererek görüntüleme sağlayabilirsiniz.

Nextion editor programı Nextion ekranların modeline göre özellik sunmaktadır. Ekran Boyutu/ Modeli düştükçe ekran içerisindeki özellik sayısı da düşmektedir.

Nextion Editor içerisinde bize sunduklarına bakalım (5" Modeli için);

Üst panel menüleri;

"Nextion Editor" programında dilerseniz "Compile" yaparak ekranı bilgisayara bağlamadan bilgisayar üzerinde ufak bir ekran simülasyonu oluşturabilirsiniz.

Arduino ile kullanımı;
   Cihazı arduino ile veya diğer elektronik cihazlar ile seri haberleştirmek istersek cihazın öncelikle 5V - GND bağlantısını sağlıyoruz. Daha sonra Nextion ekran üzerindeki RX-TX bağlantısını elektronik cihazınız ile bağlantısını sağlayın. Ben "Arduino Mega" üzerinde çalıştırıyorum ve Serial1 (RX1 - TX1) portlarına bağlantı sağlıyorum.

Kullanımı;
   Cihaz kullanımı için öncelikle "Arduino IDE" de "void setup()" fonksiyonu içerisinde "Serial1" bağlantısını başlatmalıyız.

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);
}
şeklinde işlemi sağladıktan sonra kendi fonksiyonlarımızı tüm kod satırının dışında bir yere oluşturuyoruz. ("void loop()" içerisine oluşturmayınız ")
"Serial.begin(9600);" Yapmamızın amacı seri ekrana gelen veriyi yazdırmak.

void veri_gonder(String metin){
  Serial1.print(metin);
  Serial1.write(0xFF);
  Serial1.write(0xFF);
  Serial1.write(0xFF);
}

void sayfaya_git(int id){
  Serial.print("page " + String(id));
  Serial.write(0xFF);
  Serial.write(0xFF);
  Serial.write(0xFF);
}

void yazi_yaz(String sayfa, String id, String metin){
  Serial1.print("page"+sayfa+"."+id+".txt=\""+metin+"\"");
  Serial1.write(0xFF);
  Serial1.write(0xFF);
  Serial1.write(0xFF);
}

void deger_yaz(String sayfa, String id, int deger){
  Serial1.print("page"+sayfa+"."+id+".val=\""+String(deger)+"\"");
  Serial1.write(0xFF);
  Serial1.write(0xFF);
  Serial1.write(0xFF);
}

void veri_al(){
  delay(10);
  if(Serial1.available()>0){
    veri = Serial1.read();
    if((int)veri != 0 && (int)veri != 255){
      Serial.println(veri);
    }
  }else{
    Serial1.flush();
  }
}

Burada;
   - veri_gonder : Nextion ekrana komut göndermemizi sağlayacak fonksiyon
   - sayfaya_git  : Nextion ekranda istediğiniz sayfaya gitmenizi sağlayacak fonksiyon
   - yazi_yaz     : Nextion ekranda belirlediğiniz bir "Text" kısmına yazı yazmanızı sağlayacak fonksiyon
   - deger_yaz   : Nextion ekranda belirlediğiniz bir "Number" kısmına yazı yazmanızı sağlayacak fonksiyon
   - veri_al       : Nextion ekrandan veri almamızı sağlayacak fonksiyon

Nextion ekran ile cihazınız arasında sabit 9600 baud rate ile haberleşme sağlamak zorunluluğunuz yok. Bunun için "Nextion Editor" kısmında projeyi açtıktan sonra sol üstte "Program.s" paneline tıklıyoruz.
gelen metin editorune "baud 115200" veya hangi baud ratede çalışmasını istiyorsanız onu yazıp ekrana "Upload" ediyorsunuz.


Ziyaretçi, yorum yapılsın mı?
İsim:*
E-Mail:


[not-allow-comm]
[/not-allow-comm]

Dikkat!

Aşağıdaki bağlantıdaki makaleye göz atın.

Site Kuralları ve Engellenme Sonrası
İstatistik
File engine/modules/zpstats.php not found.
Sıkça Sorulan Sorular
Video Trafiği
Etiketlere göre ara