Öztürk Web | Arduino Öğreniyorum Bölüm 4

Arduino Öğreniyorum Bölüm 4

3 ay önce

Okuma Sayısı

245

Konu Kategorisi= Arduino  Kategoriye Git

Arduino Öğreniyorum Bölüm 4

Arduino Öğreniyorum Bölüm 4

Arduino da değişkenler  ve yeni led projeleri

Selamınaleyküm

Bu bölümde hem yeni led projeleri,  hemde arduino yazılım temellerinden biri olan değişkenlerden bahsetmek istiyorum.  ilk videolarda biraz acemilik biraz da heyecan sebebiyle hemen projelere başladım, ancak başta da söylediğim bu bir eğitim serisi değil kendi öğrenme maceram olduğu için nasıl öğreniyorsam onu paylaşıyorum, ben php öğrenirken Emrah Yüksel’in videolarını izlerdim ve o sürekli “ Göç Yolda Düzelir ” derdi , sanırım bu öğrenme macerası da öyle olacak J.

Arduino ile ilgili dökümanlara kendi sitesinden yada  https://yadi.sk/i/K1gOJDh5Fn0XaA adresin de ki türkçe pdf dosyasından ulaşabilirsiniz.

Arduino ideyi ilk açtığımızda karşımıza aşağıdaki kodlar çıkar

 void setup() {
  // put your setup code here, to run once:
}
void loop() {
  // put your main code here, to run repeatedly:
}

Void setup()  bölümünde yazdığımız her şey bir kere çalıştırılır demiştik, bu bir kez çalıştırma olayı aklınızın bir köşesinde dursun zira çok lazım oluyor. Bir değişken tanıladığınızda burada tanımlamak en yukarda tanımlamak arasında bazı farklar çıkıyor yada led projesinde döngüye girmeden önce bir defa tüm ledleri yakıp sonra döngüye girmek istediğinizde kodlarınızı buraya yazıyorsunuz. Java yada diğer dillerde kodlarken tanımladığımız değişkenlerin veri tipleri burada da karşımıza çıkıyor, hemen hemen tüm yazılım dillerinde benzer veri türleri var, örneğin  arduino da sayısal veri tipi olarak “int” kullanılıyor diğer veri tiplerini ve yazılımın detaylarını yukarıda paylaştığım dosyayı indirerek öğrenebilirsiniz, burada anlatamayacağım kadar çok detay var merak edeler inceleyebilirler.

void loop() kısmı bir sonsuz döngüdür ve içindeki kodlar sürekli çalışır burada değişken tanımlarsanız her döngüde en başta ne hangi değer atandıysa  o değere geri döner . bu kurallara dikkat ederseniz sağlıklı projeler çıkarabilirsiniz.

Bu yazımızda yine ledlerle çalışacağız ancak bu sefer hem örneklerimiz hem de malzemelerimiz biraz fazlaca olacak, ayrıca bu sefer sanal ortam yerine gerçek ortamda kod yazıp test edeceğiz  .

Gelelim kullanacağımız malzemelere ve yapacağımız işlere.
Malzemler

  • 5 adet led
  • 5 adet direnç (1 ohm dan büyük seçmemeye dikkat edin ledler lazım olacak J )
  • 6 adet erkek-erkek jumper kablo
  • 1 adet breadboard

 

Kodlar

İlk serimizde 5 adet led ile ortamı ışıklandıralım birkaç farklı şekilde yakıp söndürelim ki elimiz alışsın. Kodları da ekliyorum ki yazmaya üşenenler kullanabilir. Aşağıdaki videodan kurulumu ve kodları takip edebilirsiniz.

 

 

Tüm ledlerin yanıp sönmesi için gereken kodlar

int led = 13;
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;

void setup() {

  pinMode(led, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);

}

void loop() {

  digitalWrite(led, 1);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  delay(500);

  digitalWrite(led, 0);
  digitalWrite(led1, 0);
  digitalWrite(led2, 0);
  digitalWrite(led3, 0);
  digitalWrite(led4, 0);
  delay(500);

}

Tüm Ledlerin soldan sağa yanıp sönmesi için gereken kodlar

int led = 13;
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;

void setup() {

  pinMode(led, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);

}

void loop() {

    digitalWrite(13, 1);
    delay(500);
    digitalWrite(13, 0);
    delay(500);

    digitalWrite(12, 1);
    delay(500);
    digitalWrite(12, 0);
    delay(500);

    digitalWrite(11, 1);
    delay(500);
    digitalWrite(11, 0);
    delay(500);

    digitalWrite(10, 1);
    delay(500);
    digitalWrite(10, 0);
    delay(500);

    digitalWrite(9, 1);
    delay(500);
    digitalWrite(9, 0);
    delay(500);

}

Tüm Ledlerin sağdan sola yanıp sönmesi için gereken kodlar

int led = 13;
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;

void setup() {

  pinMode(led, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);

}

void loop() {

    digitalWrite(9, 1);
    delay(500);
    digitalWrite(9, 0);
    delay(500);

    digitalWrite(10, 1);
    delay(500);
    digitalWrite(10, 0);
    delay(500);

    digitalWrite(11, 1);
    delay(500);
    digitalWrite(11, 0);
    delay(500);

    digitalWrite(12, 1);
    delay(500);
    digitalWrite(12, 0);
    delay(500);

    digitalWrite(13, 1);
    delay(500);
    digitalWrite(13, 0);
    delay(500);

}

Tüm Ledlerin içten dışa dıştan içe yanıp sönmesi için gereken kodlar

int led = 13;
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;

void setup() {

  pinMode(led, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);

  digitalWrite(led, 1);
  digitalWrite(led1, 1);
  digitalWrite(led2, 1);
  digitalWrite(led3, 1);
  digitalWrite(led4, 1);
  delay(500);

  digitalWrite(led, 0);
  digitalWrite(led1, 0);
  digitalWrite(led2, 0);
  digitalWrite(led3, 0);
  digitalWrite(led4, 0);
  delay(500);

}

void loop() {

  digitalWrite(led2, 1); // led2 5 ms yanıyor 5 ms sönüyor
  delay(500);
  digitalWrite(led2, 0);
  delay(500);

  digitalWrite(led3, 1);
  digitalWrite(led1, 1); // led3 ve led1 5 ms yanıyor 5 ms sönüyor
  delay(500);
  digitalWrite(led1, 0);
  digitalWrite(led3, 0);
  delay(500);

  digitalWrite(led, 1);
  digitalWrite(led4, 1);
  delay(500);
  digitalWrite(led, 0);
  digitalWrite(led4, 0);
  delay(500);

  digitalWrite(led3, 1);
  digitalWrite(led1, 1);
  delay(500);
  digitalWrite(led1, 0);
  digitalWrite(led3, 0);
  delay(500);

}

Karaşimşek led devresi için gereken kodlar

int aled = 13; 
int bled = 12; 
int cled = 11;
int dled = 10;
int eled = 9; 

void setup() {

pinMode (aled, OUTPUT);
pinMode (bled, OUTPUT);
pinMode (cled, OUTPUT);
pinMode (dled, OUTPUT);
pinMode (eled, OUTPUT);

}

void loop() {
  
digitalWrite (aled, HIGH); 
delay (50); 
    
digitalWrite (bled, HIGH);
delay (50);   
digitalWrite (aled, LOW); 
delay (50);
  
digitalWrite (cled, HIGH); 
delay (50);  
digitalWrite (bled, LOW);
delay (50);
  
digitalWrite (dled, HIGH); 
delay (50);   
digitalWrite (cled, LOW); 
delay (50); 
  
digitalWrite (eled, HIGH); 
delay (50);  
digitalWrite (dled, LOW); 
delay (50);
  
digitalWrite (dled, HIGH);
delay (50);  
digitalWrite (eled, LOW); 
delay (50);
  
digitalWrite (cled, HIGH);
delay (50);   
digitalWrite (dled, LOW);
delay (50);
  
digitalWrite (bled, HIGH);
delay (50);  
digitalWrite (cled, LOW); 
delay (50); 
  
digitalWrite (aled, HIGH); 
delay (50);   
digitalWrite (bled, LOW); 
delay (50); 
  
digitalWrite (aled, LOW); 

}

Trafik ışığı led devresi için gereken kodlar

int ledDelay = 10000; // geçişler arasındaki gecikmeye değer atıyoruz
int kirmiziPin = 11;
int sariPin = 10;
int yesilPin = 9; // ledleri çıkış olarak tanımlıyoruz


void setup()
{
  pinMode(kirmiziPin, OUTPUT);
  pinMode(sariPin, OUTPUT);
  pinMode(yesilPin, OUTPUT);
}

void loop() {

  digitalWrite(kirmiziPin, HIGH); // öncelikle kırmızı led yanıyor
  delay(ledDelay); // 10 saniye bekler

  digitalWrite(sariPin, HIGH); // sarı led yanar
  delay(2000); // 2 saniye bekler

  // şimdi yeşil ledi yakarak kırmızı ve sarı ledi söndürüyoruz
  digitalWrite(yesilPin, HIGH);
  digitalWrite(kirmiziPin, LOW);
  digitalWrite(sariPin, LOW);
  delay(ledDelay);

  // sarı ledi yakıp yeşil ledi söndürüyoruz
  digitalWrite(sariPin, HIGH);
  digitalWrite(yesilPin, LOW);
  delay(2000);

  digitalWrite(sariPin, LOW); // sarı led söner ve döngü baştan başlar

}

 

İşinizi İnternete Taşımak İstermisiniz ?