devre etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
devre 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:


 Arduinoya bağlanan bir butona ne kadar süre basıldığını bulmak için millis() fonksiyounu kullanılır. Millis() fonksiyonu, arduinoya enerji verildiği zaman otomatik olarak çalışmaya başlar. Bulunan zaman değeri milisaniye cinsindendir. 


Devre şeması:



Arduino kodu:

const int button = 3;

unsigned long time1 = 0;

unsigned long time2 = 0;

void setup()

{

  pinMode(button,INPUT);

  Serial.begin(9600);

}


void loop()

{

  while(digitalRead(button)==0){}

  while(digitalRead(button)==1){}

  Serial.println(digitalRead(button));

  

  while(digitalRead(button)==0){

    Serial.println("while 1");

    Serial.println(digitalRead(button));

  }

  time1 = millis();

  while(digitalRead(button)==1){ 

    Serial.println("while 2");

    Serial.println(digitalRead(button));

  }

  time2 = millis() - time1;

  

  Serial.println(time2);

  delay(1000);

  

}

Transistörün Tarihçesi:

Transistörün icadından önce Termiyonik Triyot (Elektron Lambaları) 1907 yılında icat edildi ve telefon, radyo gibi araçların icadında önemli bir göreve sahipti. Fakat bu lambalar çabuk kırılabiliyorlar, devrede fazla yer kaplıyorlar, ısınıp çalışmaları için belli bir zamanın geçmesi gerekiyordu, fazla elektrik tüketiyorlardı ve daha çok maliyete sahiptiler.

Transistörün icadı 1947 yılında Bell araştırma laboratuvarında, William Shockley başkanlığında John Bardeen ve Walter Brattain ile oluşturulan ekip tarafından gerçekleştirilmiştir. 



1939 yılında Bell Laboratuvarındaki araştırmacılar yarı iletken bir yükselteci yapmak için çalışmalar yapmış fakat başarısızlıkla sonuçlanan denemeler ve 2. Dünya Savaşı 'nın da araya girmesi ile çalışmalar kesintiye uğramıştır. 1947 yılında ise Walter Braittain bu kez John Bardeen ile sürdürdüğü çalışmalarında nokta kontaklı olan ilk germanyum transistörü icat etmişlerdir.
 17 Haziran 1948 'de, William Shockley de jonksiyon tipindeki transistör için 26 Haziran 1948 'de patent başvurularını yapmıştırlar.
Bu ekip yarı iletkenler üzerinde yaptıkları çalışmalar ve transistörün icadı ile 1956 yılında Nobel Fizik Ödülü 'nü almışlardır.


Transistör Nedir ?

Transistör küçük elektrik akımlarını yükseltmek veya anahtarla yapmak amacıyla kullandığımız yarı iletken bir devre elemanıdır. Yapı olarak yan yana birleştirilmiş PN diyotları 'nın birleştirilmesi ile oluşur. Transistör kelimesi transfer ve rezistans kelimelerinin birleşimi ile türetilmiştir.

3 kutuplu devre elemanları olan transistörlerin kutupları; Emiter (E), Beyz (B) ve Kollektör (C) olarak adlandırılır. Emiter ( yayıcı ); akım taşıyıcılarının harekete başladığı bölge, Beyz ( taban ); transistörün çalışmasını etkileyen bölge, Kollektör (  toplayıcı ); akım taşıyıcılarının toplandığı bölgedir. 



Transistörün Çalışma Mantığı:


Beyz, Emiter ve Kollektör birbirleri ile alakalı olup, Beyz akım şiddetine göre Kollektör ve Emiter akımı ayarlanır. Bu yapılan ayar akımı , kazanç faktörüne göre değişmektedir.

 - Beyz ve Emiter kutbu doğru yönde, Beyz ve Kollektör kutbu ters yönde polarlanmalıdır.
- Beyz akımı olmadan Emiter ve Kollektör kutuplarından akım geçmez.
-Silisyum ile yapılan transistörlerin çalışması için 0.7 V eşik gerilimi, germanyum ile yapılan transistörler de ise 0.3 V eşik gerilimine ihtiyaç bulunmaktadır.

Aktif Bölge:
Transistörün normal bağladığımız zaman, NPN bir transistörün kollektörü pozitif, emitörü kollektörüne göre negatif ve beyzi emitörüne göre pozitif olduğu zamandır.  

Doyum Bölgesi:

Emiter ve kollektör voltajlarının birbirine çok yakın olduğu zaman transistör bu bölgede çalışır. Ic akımı max. değere ulaşmıştır, Vce voltajı çok küçüktür.

Kesim Bölgesi:

Beyz ve emitör arası ters polarlandığında veya beyz ve emitör arası voltaj transistörün Vbe açma voltajına eşit ya da küçük olduğu zaman transistör bu bölgede çalışır. Vce = Vcc dir. 


NPN Transistör:

Bu transistör yapısında iki tane N tipi yarı iletken madde arasına ince bir katman halinde yerleştirilmiş P tipi yarı iletken beyz maddesinden oluşmaktadır. Beyz tabakası elektron geçişini kontrol etmekle görev yapmaktadır. 

PNP Transistör:

İki tane P tipi yarı iletken madde arasında ince bir katman halinde yerleştirilmiş olan N tipi yarı iletken beyz maddesinden oluşmaktadır.













NPN ve PNP transistörleri temelde aynı işi yapsalar da, devreye bağlanış şekilleri ve kutuplanmaları için gereken gerilimler terstir. 

Transistör Nerelerde Kullanılır ?

Yaygın uygulamaları analog ve dijital anahtarlar, güç regülatörleri, sinyal yükselticileri ve ekipman kontrol cihazlarından oluşur. Transistörler aynı zamanda elektronik devrelerin ve veri elektroniğinin yapı birimleridir. Tekrar tekrar tekrar çalışan mikroişlemciler her çipte bir milyardan fazla transistörden oluşur. Bilgisayarlardan, ayarlayıcılara ve uçaklara kadar yaklaşık her yerde karşımıza çıkarlar.








Kaynakça: