Nextion

Arduino ile nextion ekran kullanmasını bilen varmı? Türkçe kaynaklar çok yetersiz. Ekrandan yazdığım metni Arduinoya gönderecek ve arduinodan ekrana Metin alacak bir kod yazmayı düşünüyorum ama nextion kütüphanesini bir türlü anlayamadım yardımcı olursanız çok sevinirim.

kütüphane kullanmayın datashetinde veya wiki sayfasında direk yazmayı anlatıyor o daha kolay. eskiden kullanmıştım, önce ekranı programlayacaksınız sahneyi oluşturacaksınız yazı görüntüleyen nesnenin yerini belirleyeceksiniz ve kaydedeceksiniz. o nesneni adı veya kodu ile beraber içine yazacağınız lafı seriporttan yolladıgınızda gostermesi lazım.

Arduinoya kod almayı başardım fakat göndermede sıkıntı çekiyorum. Datashetinde bu konuyla alakalı bir şey bulamadım hocam

nasıl gonderıyorsun kodunu paylaşırmısın

Göndermeyi kendi kütüphanesini kullandım almak içinde kendim serial portu okudum. Geç cevap için kusura bakmayın malum vizeler hocam.

Kütüphane kullanıyorsan önce nextext(text ıd, Page ıd, “text number”) Diyerek tanımlayacaksın sonra dinleme komutunu atacaksın next_List() {&t0,&t1, NULL} şeklinde Sonrasında loopun içerisine n0.getVal(&sayi1); t1.getText(&metin1); Bu komutları yazarak değerleri çekebilirsin t1.setText(metin1); şeklinde de gönderirsin https://github.com/itead/ITEADLIB\_Arduino\_Nextion?files=1 Kütüphaneyi indir examles klasörü içinde number text Vs bir sürü örnek var oraya bakabilirsin

NOT :
leri satır sonu olarak kullandım. Kolay bir çözüm önerebilirim.
ITEAD Nextion kütüphanesi yeterince sıklıkla güncellenmiyor.
Bu nedenle aşağıdaki kütüphane tercih edilebilir.
https://github.com/jyberg/Enhanced-Nextion-Library
Daha basit işler için ise aşağıdaki kütüphane kullanılabilir.
https://github.com/bborncr/nextion
Bu çalışmada ikinci kütüphane ile yapılan bir uygulama ele alınmıştır.
Amaçlar : Arduino dan bazı veriyi belirli aralıklarla HMI göndermek.
HMI den bazı veriyi belirli aralıklarla Arduinoya göndermek.
Kullanılanlar : Arduino MEGA (klon) Rev3,
Nextion 3.5 inch dokunmatik ekran (NX4832T035-011),
Hazırlık
Bborncr kütüphanesini indir. Unzip yap.
nextion-master dizinini nextion-simple olarak değiştir.
Bu dizini bilgisayarda Belgeler içerisinde yer alan Arduino\libraries dizinine kopyala
nextion-simple dizininde Nextion.h ve Nextion.cpp dosyalarını nextion.h ve nextion.cpp olarak değiştir.
Nextion.h dosyasini notepad veya tercihan Notepad++ yazılımı ile aç.
MEGA için aşağıdaki düzenlemeleri yap.
//#define USE_SOFTWARE_SERIAL
//#include <softwareserial.h>

Dosyayı sakla.

Arduino UNO için deneme yapmadım. Çünkü bellek alanı MEGA’ya göre küçük.

Nextion RX <-> Mega TX2 (pin 17), Nextion TX <-> Mega RX2 (pin 16) irtibatla.

Deneme kapsamında Nextion 5V ve GND çıkışlarını MEGA 5V ve GND bağla.

Kalıcı çözüm için harici 5 V güç kaynağı kullan.

Harici kaynak kullanımında Nextion GND ile MEGA GND ayrıca irtibatlanmalı.

Arduino IDE çalıştır.

Örnek Kod

include “nextion.h”

define nexSerial Serial2 //Mega’da serial 2 RX, TX çıkışlarını kullandım.

Nextion myNextion(nexSerial, 9600);

define sn1 1000 //1sn=1000ms

define sn2 2000

define sn5 5000

define sn10 10000

long LastTime1 = 0;

void setup(){

Serial.begin(9600)
;

// Nextion Bölümü

myNextion.init();

pinMode(A0, INPUT); //potansiyometre<br>

}

void loop() {

// Örneğin 10 sn aralıkla Ekrandan veri oku -yaz.

if (millis() - LastTime1 > sn10) {

// sistem Nextionda page0 da, Dual-State Button olarak tanımlı

int SistemONOFF = myNextion.getComponentValue(“sistem”);

   if (SistemONOFF == 1) { // Sistem ON<br>
       // A0 değerini Nextion gönder. A0Okunan Number olarak tanımlı.<br>
      int A0degeri = analogRead(A0); //0..1023<br>
       myNextion.setComponentValue("A0Okunan", A0degeri);<br>

      // txt bir veri de gönderelim. t0 Text olarak tanımlı.<br>
     myNextion.setComponentText("t0", String(A0degeri));<br>

  } else { // Sistem OFF<br>

  }<br>

}

}

</softwareserial.h>