Bu yazımızda Nextion HMI Ekran ile Arduino nasıl kullanılır inceleyip öğreneceğiz. İlk kez kullananlar bu yazıdan faydalanabilirler. Daha önce Nextion Editör kurulumunu yapmıştık. (Bkzn. Nextion Editör Kurulumu)
Editörü kurduktan sonra Arduino ile haberleştirmek için Nextion Arduino Library kütüphanesini indirmemiz ve Arduin IDE’ sine bunu eklememiz gerekiyor. Aşağıdaki github adresinden indirebilirsiniz.
Github Link: https://github.com/itead/ITEADLIB_Arduino_Nextion/
Github Direkt Download Link: https://github.com/itead/ITEADLIB_Arduino_Nextion/archive/master.zip
İndirdiğiniz kütüphane zip dosyasına hiç dokunmadan Arduino IDE > Sketch > Include Library > Add .zip Library diyerek entegre edin. Alt durum çubuğunda eklendiğini görün.
Nextion Arduino Library Ayarı
Burada bu kütüphane Arduino MEGA için yazıldığını için kütüphanenin içindeki “NexConfig.h” dosyasının 37. satırında Serial2 yazıyor. Eğer siz Arduino UNO kullanacaksanız 2′ yi silip Serial olarak kaydedin ve edbug serial enable özelliğini yorum yapın.
C:\Users\user\Documents\Arduino\libraries\ITEADLIB_Arduino_Nextion-master\
#define DEBUG_SERIAL_ENABLE >>> //#define DEBUG_SERIAL_ENABLE
#define nexSerial Serial2 >>> #define nexSerial Serial
Arduino ile Nextion Bağlantısı
Nextion Ekranının 4 adet pinli soketi var. Bunların ikisi TX ve RX diğer ikisi ise +5V ve GND arkadaşlar. Nextion kutu içeriğinden bir de ufak usb soketli bir power adaptörü çıkıyor. Bunu ne işe yaradğını ilk başta anlamadım ama sonra Arduino’ ya takınca anlamış oldum 🙂 Burada Nextion Ekranınızı arduino üzerinden beslemenizi tavsiye etmiyorum, çünkü arduino üzerinde bulunan +5vdc regülesinin akımı yetmeyebilir. Hem Arduino’ ya hem Nextion’ a zarar verebilir. O yüzden aşağdaki adaptoru kullanmanızı tavsiye ediyorum.
Nextion’ nın Arduino ile bağlantısı çok basit. TX > RX, RX > TX olacak şekilde (çapraz) bağlayın arkdaşlar.
Nextion Editör Yeni Proje Başlatma
Bağlantıları bitirdikten sorna editörü açarak yeni proje açalım arkadaşlar. İlk olarak Nextion modelinizi seçmenizi isteyecek. Benim elimde bulunan Ekran NX8048K070_011 modeli olduğu için onu seçiyorum. Sizin elinizde hangi model varsa onu seçin.
Daha sonra sol taraftaki DISPLAY sekmesinden ekranınızın oryantasyonunu seçin.
Editörün sol köşesinde bulunan Picture bölümünden arkaplan resmi ekleyeceğiz. + işaretin basarak resminizi seçin. Benim elimde Nextion ekranının ölçüleri 800×480 (7″) olduğu için direk paintte solid bir renk yaptım.
Resminizi ekledikten sonra sol üst taraftaki component kısmından picture nesnesine tıklayın. Ekranın üzerinde oluşacaktır. Sonra editörün sağ alt köşesinde bulunan Attribute kısmında pic değişkenine tıklayın ve eklediğiniz resmi seçin.
Şimdi gelelim font eklemeye. Editörün menü sekmesinde Tool > Font Creator u seçin ve bir font oluşturarak kaydedin.
Bu adımdan sonra label, slider gibi nesneler ekleyebiliriz. Tüm bileşenlerin objname adlı bir özelliği vardır. Bu, bileşenin adıdır. Bileşenlerinize düzgün adlar verin, çünkü daha sonra Arduino kodu için onlara ihtiyacınız olacak. Ayrıca, her bir bileşenin o sayfadaki o bileşene özgü bir kimlik numarasına sahip olduğunu unutmayın. Aşağıdaki şekilde kaydırıcıya ait nesne adı ve kimliği gösterilmektedir.
Bu aşamada yaptığınız tasarımı test etmek için yukarıdaki menude debug butonuna basabilirsiniz. Dokunmatik ekran kullanımı için ayrı bir konu açar ve uygulama yaparız. Şimdilik ilk önce Arduino ile haberleştirelim.
Tasarımımızı Nextion’ a Yükleme
Tasarımızı Nextion’ a yükleme için File > Open Build Folder diyerek .tft doyanızı oluşturun. Bu dosyayı microSD kartın içine atın. Atmadan nce microSD kartınızın FAT32 olarak formatlandığına dikkat edin. Daha sonra Nextion ekranının arka tafarında bulunan yuvaya microsd kartınızı yerleştirin.
Daha sonra power adaptor ile beslemeyi sağlayın arkadaşlar. MicroSD kartı içeriği Nextion ekranınıza yüklenecektir. Bittiğinde ekranda Update Successed! yazacaktır.
Bundan sonra ekran enerjisini kesin ve microSD kartınızı çıakrın. Tekran enerjiyi vererek tasarladığımız ekranı Nextion görün.
Nextion Arduino ile Haberleştirme
Nextion kütüphanesini kurduğunuzda içinde çok sayıda işinize yarayacak örnek uygulama bulabilirsiniz. Ben bu uygulamada çok basit bir textbox’ a veri nasıl yazarız onu göstereceğim.
#include "Nextion.h" // objeleri tanımla // (page id = 0, component id = 1, component name = "b0") NexText t0 = NexText(0, 2, "t0"); void setup() { Serial.begin(9600); // Serial' ı başlat nexInit(); // Nextion' ı başlat } void loop() { t0.setText("Merhaba Kaizen 4.0"); delay(1500); }
Yukarıdaki Nextion için Arduino kodunda yaptığımız şey basitce objeleri tanımlamak ve objelere değer göndermek. Bunun için ilk önce kütüphaneyi ekliyoruz. Daha sonra objeleri page id, component id ve component name şeklinde tanımlıyoruz. Bu örnekte sadece textbox kullandığımız için t0 isimli textboxımızı setliyoruz bir string değer ile.
Burada dikkat etmeniz gereken şeyler textboxlarınızın boyutları ve fontları. Örneğin ben “Merhaba Kaizen 4.0” yazdırdım ama ekranda aşağıdaki gibi çıktı. Bu ayarları zevkinize göre yapabilirsiniz. Bir sonraki yazımızda görüşmek üzere.
4 yorum
Halil ibrahim · 19 Nisan 2019 11:02 tarihinde
İyi günler ,
Ben yazdığınız bilgileri okudum ve işime yaradi yeşekür ederim, fakat bir sıkintıyla karşılaştım ben ekrandaki number kutucuğuna bir veri yazdırmak istiyorum bunu nasıl yapabilirim bunun arduino komutunu yapamadım sizin bir bilginiz varmı,varsa yardımcı olabilirseniz sevinirim.Teşekür ederim…
A.Levent Bayçın · 2 Eylül 2021 15:50 tarihinde
Bilgi için teşekkürler. Ama SD card üzerinden değil de doğrudan yüklemek istediğimde ( PC->Arduino->Nextion5″ besleme ve tx-Rx bağlantı sorunu yok)
UPLOAD ekranında “”Connection failed” “Forced interrupt!” mesajı görünüyor.
Nihansu · 1 Haziran 2022 15:52 tarihinde
peki anlık olarak yazı değiştirmek istiyorum onu nasıl yapabilirim. Arduinodan yazıyı değiştirsem de ekrana aktarması için ekranın gücünü kesip tekrar açmam gerekiyor. Bunun başka bir yolu var mı
Remzi Şahinoğlu · 19 Temmuz 2022 22:33 tarihinde
anlık olarak değiştirmek için delay() komutunu kaldırabilir yada parametresini düşük girebilirsiniz.