Arduino MEGA 2560 + Nextion HMI Programlama durumu

Başlatan microcozmoz, 28 Mayıs 2016, 10:07:33

microcozmoz

https://github.com/bborncr/nextion

http://openhardware.gridshield.net/home/nextion-lcd-getting-started-for-arduino

Yukarıda belirttiğim Github adresinden Nextion için hazırlanmış kütüphaneyi zip olarak indirdikten sonra arduino arayüzünde taslak-->library ekle-->.zip kitaplığı ekle işlemi ile kütüphaneyi ekliyoruz.

Bir butona basılı tutulduğunda 13 numaralı uca bağlı ledin yakılması ve butondan elimizi çektiğimizde söndürülmesi için aşağıdaki kodu derleyip arduino ya yüklüyoruz;

#include <SoftwareSerial.h>
#include <Nextion.h>

SoftwareSerial nextion(10, 11);// Nextion TX ucu 10 ve RX 11 Arduino uçlarına bağlanır (Ben Mega kullanıyorum)

Nextion myNextion(nextion, 9600); //myNextion adında bir Nextion nesnesi oluşturuluyor.
                                  //9600 bps ile nextion adında seri bağlantı oluşturulur

void setup()
{
  Serial.begin(9600);        //Seri port ekranında Nextion dan gelen bilgiyi basmak için seri port açılır
  pinMode(13,OUTPUT);
  myNextion.init();
}

void loop() 
{
  String message = myNextion.listen(); //mesajın gelip gelmediği kontrol edilir
  if(message != "")    // mesaj alındı ise..
  { 
    Serial.println(message); //alınan mesajı seriden bas..
  if(message == "65 0 1 1 ffff ffff ffff") //eğer mesaj içeriği butona basıldığını belirtiyorsa (Press Event)
    {
    digitalWrite(13,HIGH);  //Ledi yak
    }
      else
    {
    digitalWrite(13,LOW);  //Ledi söndür
    }
  }
}


Nextion IDE ' de hazırlanan buton için "Touch Press Event" ve "Touch Release Event" durumlarındaki "Send component ID" seçenekleri seçilir.

Nextion Ekran komut setinin açıklamalarının olduğu bu sayfada http://wiki.iteadstudio.com/Nextion_Instruction_Set  basma ve bırakma olayları için ekranın ne tarzda bir veriyi döndürdüğü anlatılmış.

Basılma işlemde alınan veri "65 0 1 1 ffff ffff ffff"  şeklindedir.
Kısaca anlamı 0X65"Dokunma olayı"+Sayfa ID+Komponent ID+Dokunmaolayı+Bitiş.

Bende yeni uğraşıyor sayılırım, test ettim çalışıyor :)
"Bütün bu şerâitten daha elîm ve daha vahim olmak üzere, memleketin dahilinde, iktidara sahip olanlar gaflet ve dalâlet ve hattâ hıyanet içinde bulunabilirler."