top of page

AIRHMI - ARDUINO - ESP32 KÜTÜPHANESİ

Güncelleme tarihi: 5 Oca



AIRHMI - ARDUINO- ESP32 KÜTÜPHANESİ



Airhmi Ekranları Arduino ve ESP32 .. vb boardlar ile rahat bir şekilde kullanabilirsiniz.



BAĞLANTI ŞEKLİ






Devre şemasına göre hazırlanan devrede amaç potansiyometre ile ölçülen değerin ekranda ProgressBar'da gösterilmesi ve ekranda bulunan bir butondan breadboardda bulunan ledin yakılması ve söndürülmesi işlemidir.


ESP32'nin ADC pinleri kullanılarak potansiyometreden okunan değer ekrana gönderilerek progressbar ile gösterimi sağlanmaktadır. Sürekli veri göndermesinin önüne geçmek içinde belli bir değişim oranı olması durumunda gönderim yapmaktadır.


Aynı zamanda breadboard üzerine takılan led ekranda bulunan butonlarla yönetilerek yakılıp söndürülmesi sağlanmaktadır.


Ekran tarafında AirHMI Visual Creator kullanılarak ekran üzerinde kullanacağımız nesneleri oluşturuyor ve konumlarını ayarlıyoruz. Nesnelerin içerisine herhangibir kod yazmıyoruz. Ekranımız Arduino - Esp32 tarafından Init edildiğinde nesneleri tanıyacağı şekilde tasarlanmıştır.


Arduino -Esp32 tarafında ise ekranda tanımladığımız nesneleri kodumuzun içerisine ekranda kullandığımız nesnelerin isimleriyle. Bundan sonra nesneleri tamamen Arduino tarafında kontrol edebilriz.


#include <Airhmi.h>

//Ekranımızda bulunan nesneleri tanımlıyoruz
AirButton b0 = AirButton("EButton1");
AirButton b1 = AirButton("EButton2");
AirProgressBar p0 = AirProgressBar("ProgressBar1");

//buradan sonra nesnenin ekranda tanımlanan ismine ihtiyacımız olmayacak direk Arduinoda tanımladığımız isimi kullanacağız

//Led ve Adc pinlerini tanımlama 
const int ledPin = 5;
const int adcPin = 34;

//adc'yi tutacağımız değişken
int adc_val;

//ekranda tanımladığımız EButton1'in dokunulması durumunda yapılacaklar.
void b0PushCallback(void *ptr)
{
      digitalWrite(ledPin, HIGH);
}

//ekranda tanımladığımız EButton2'in dokunulması durumunda yapılacaklar.
void b1PushCallback(void *ptr)
{
      digitalWrite(ledPin, LOW);
}   

//AirHMI tarafında güncellemesini dinleyeceğimiz nesneler listesi
AirTouch *air_listen_list[] = {
  &b0,
  &b1,
  NULL
};

void setup()
{
  Serial.begin(115200);
  airInit(); //ekranımızı init yapıyoruz
  pinMode(ledPin, OUTPUT);

  // Butonun push olayına dinleyici ekleyin
  b0.attachPush(b0PushCallback, &b0);
  b1.attachPush(b1PushCallback, &b1);
}

void loop()
{
   airLoop(air_listen_list);

  //adc pininden gelen değeri okuyoruz
  int adc = analogRead(adcPin);

  // yeni gelen değer son kaydedilen değerden 100 aşağı yada ekranda bulunan progress barı güncelliyoruz  
  if(adc > (adc_val + 100) || adc < (adc_val - 100))
  {
    int yuzde = (adc / 4095.0) * 100.0;
    p0.Set_Value(yuzde);
    adc_val = adc;
  }

}


Ekran tarafında sadece nesneleri ve konumlarını oluşturuyoruz ve alt resimde görüldüğü gibi Tools/Options şeçeneği içerisinde projenin Baudrate değerini ayarlıyoruz.




NOT: AirHMI Ekran Firmware versiyonunuzuz v3.14 ve üzerinde olması gerekmektedir. . Elinizde daha alt bir versiyon varsa güncelleme için whatsapp üzerinden bizimle . iletişime geçebilirsiniz.


AirHMI ve Arduino projelerini aşağıdan indirebilirsiniz.


Pot Read & Led OnOff
.zip
ZIP dosyasını indir • 406KB




734 görüntüleme0 yorum

Son Yazılar

Hepsini Gör
bottom of page