arduino led yakma etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
arduino led yakma etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

     Projelerle arduino ve proteus serisine başlamaya karar verdim. Çünkü, bu şekilde hem proteus hem de arduino beraber kolaylıkla öğrenilebilecektir. 

    Hadi ilk bölüme başlayalım

Proteus da Arduino ile Led Yakma


    Öncelikle proteus'a arduino kütüphanesinin eklenmiş olmalıdır. Ben arduino kütüphanesinin ekli olduğunu varsayarak devam edeceğim.

    Proteus da devremizi kurmak ile başlayalım. 

    Arduino uno, bir direnç ve bir led'e ihtiyacımız vardır. Gerekli olan kompanentleri eklediğimizde devremiz aşağıdaki gibi olacaktır.


    Arduinonun 9 numaralı pinine direncimizi bağlayacağız. Ve hemen ardına ledimizi bağlayacağız. Devrenin tamamlanması için ground bağlantısını da yapmamız gerekmektedir.


Arduino kodumuz ise:

int led = 9;

void setup() {

  pinMode(led,OUTPUT);

}


void loop() {

  digitalWrite(led,HIGH);

  delay(1000);

  digitalWrite(led,LOW);

  delay(1000);

}

    Bu kodda int led = 9; ile adı led olan bir değişken tanımlanmaktadır ve değeri de 9 olarak atanmıştır. Bu bizim arduino da ledmizi bağladığımızı pini temsil etmektedir. 

pinMode(led,OUTPUT); ile 9 numaralı olan pinimizi OUTPUT olarak yani çıkış olarak tanımlamış olduk.

digitalWrite(led,HIGH); ile 9 numaralı pine 5 V verdik yani 9 numaralı pinin çıkışını lojik 1 yaptık.

delay(1000); ile 1 saniye bekledik.

digitalWrite(led,LOW); ile 9 numaralı pinin çıkışını lojik 0 yaptık yani 9 numaralı pine 0 V verdik.


    Bu şekilde 9 numaralı pine bağlı olan led 1 saniye yandıktan sonra 1 saniye de sönecektir.


    Yazdığımız bu kodu arduino ya yüklemek için, kodun .hex uzantılı dosyasına ihtiyacımız vardır. Bu dosyayı elde edebilmek için ise; arduino da Dosya > Tercihler bölümüne gelmemiz gerekmektedir. Burada; aşağıdaki işlem sırasında detaylı çıktı göster kısmındaki derleme ve yükle'nin seçili olması gerekmektedir.


    Bu işlemi yaptıktan sonra yazığımız kodu derleyelim. Derleme işlemini yaptıktan sonra teminalde .hex uzantılı dosya konumunu bulmamız gerekecektir. Bu dosya konumunu kopyalamamız lazım. Aşağıda gösterildiği gibidir.


    Kopyaladığımız bu .hex uzantılı olan dosya konumunu aşağıda işaretli olan alana yapıştıracağız.


    Bu işlemlerden sonra arduinoya kodumuz yüklenmiş olacaktır. Simülasyonu başlattığımızda doğru bir şekilde çalışacaktır.






 Arduino da bağlı ola iki LED'i farklı aralıklar ile yakacağız. Bir LED 1 saniye de 10 kere yanarken, diğer LED 1 saniye de 1 kere yaranacak.


Arduino'nun 2 ve 3 numaralı pinlerine LED'lerimizi bağlayacağız.


Devre Şeması:



Arduino Kodu:

int a = 0;

void setup() {

  // put your setup code here, to run once:

  pinMode(2,OUTPUT);

  pinMode(3,OUTPUT);

}


void loop() {

  // put your main code here, to run repeatedly:

  digitalWrite(2,1);

  delay(50);

  digitalWrite(2,0);

  delay(50);

  a++;

  if(a>5){

    digitalWrite(3,1);

  }

  if(a>10){

    a=0;

    digitalWrite(3,0);

  }

}

https://github.com/sumeyyevarmis/arduino-led-blink


https://create.arduino.cc/projecthub/sumeyye-varmis/arduino-2-led-blink-24c93c





Arduino da nextion ekranı kullanarak led yakma ve led söndürme uygulaması gerçekleştireceğiz. Nextion ekran kullanacağımız için Nextion Editor uygulamasını indirmemiz gerekmektedir. Bu uygulama sayesinde ekranımız için istediğimiz arayüzü tasarlayabileceğiz. Basit bir ara yüze sahiptir.

Nextion Editor indirmek için aşağıdaki linkten ulaşabilirsiniz:

https://nextion.tech/nextion-editor/

Bu uygulama da 2.8 inch ekran kullanılmıştır. 

Tasarlanan Arayüz


Arduino Kodu:


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

SoftwareSerial HMISerial(0,1);

// b0 led on, b1 led off

NexDSButton b0 = NexDSButton(0,1,"b0");// sayfa, id, isim
NexDSButton b1 = NexDSButton(0,2,"b1");
NexText t0 = NexText(0,3,"t0");

// butonların durumları
uint32_t led_on = 0;
uint32_t led_off = 0;

const int led = 13;

void setup(){
  dbSerialPrintln("setup begin");
  nexInit();
  dbSerialPrintln("stup done");

  pinMode(led,OUTPUT);
}

void loop(){
  b0.getValue(&led_on);
  b1.getValue(&led_off);

  delay(200);
  if(led_on == 1){
    t0.setText("Led On");
    digitalWrite(led,HIGH);
  }
  if(led_off == 1){
    t0.setText("Led Off");
    digitalWrite(led, LOW);
  }
}



Kod ve ekran arayüz tasarımına aşağıdaki linkten ulaşabilirsiniz: