20 Şubat 2024 Salı

Mblock ve Arduino Potansiyometre ile Led Parlaklığı Ayarlama

 

Pwm nedir?  Arduino pwm pinleri hangileridir?

Arduinoda 2 farklı türde çıkış pini bulunmaktadır. Bunlar dijital ve analog pinlerdir. Dijital pinler arduino uno için 0-13 pinleri, analog pinler ise A0-A5 pinleridir.

Dijital pinlerden 0-5V arası gerilim alabiliriz. Yani dijital pinler 0 (yok) veya 1(var) mantığıyla çıkış verirler. Fakat arduino dijital pinlerinden bazıları pwm sinyalleri yani 0-255 arasında sinyaller üretebilmektedir. Bu durumda 0 yollandığında bu pinden 0 volt, 255 yollandığında 5 volt elde edilir. Pwm pinleri 0-255 arasındaki diğer değerler için 0-5 volt arasında bir değer üretebilmektedir. Arduinodaki her dijital pin bu özelliği gösteremez. Dijital pinlerden arduino uno için yanında ~ işaretiyle gösterilen 3,5,6,9,10,11 numaralı pinler aynı zamanda pwm pinleri olarak kullanılabilirler.

Pwm pinleri ile motor hız kontrolü veya led parlaklık kontrolü gibi farklı uygulamalar yapılabilmektedir.


Potansiyometre ile led parlaklık kontrolü arduino devre şeması…

Bu derste arduinoya bağlı bir potansiyometreden okutacağımız analog değerler ile arduino pwm pinine bağlı bir led parlaklığını kontrol etmek için gerekli devre şemasını ve mblock kodlarını inceleyelim.


Şemayı incelediğimizde potansiyometre A5 analog pinine bağlı iken led 5 numaralı pwm pinine bağlanmıştır.

Burada dikkat etmemiz gereken durum ise potansiyometreden 0-1023 arası değer okurken pwm pininden 0-255 arası değer gönderebildiğimizdir. Yani potansiyometre değerini direk pwm pinine yönlendirirsek uyumsuz bir değerle karşılaşacağı için led parlaklığı sürekli değişecektir. Bu işlem için arduino ide programında map komutu kullanılmaktadır. Fakat mblock için böyle bir kod mevcut değil. Bu dönüşümü basit bir matematiksel işlemle gerçekleştireceğiz.

255 (max pwm değeri) / 1023 ( max potansiyometre değeri) = 0,249266…. gibi bir değer karşımıza çıkacaktır. Yani her bir potansiyometre değerini yaklaşık 0,25 ile çarparsak pwm sinyal aralığına dönüştürmüş olacağız.

Şimdi gerekli mblock kodlarını hazırlayalım. Potansiyometre ile led parlaklık kontrolü için iki farklı mblock kodu hazırlayacağız.


Potansiyometre ile led parlaklık kontrolü mBlock kodları…


Yöntem 1: Bu yöntemde değişken kullanmadan okuduğumuz potansiyometre değerini 0,25 ile çarpıp direk pwm siyali olarak göndereceğiz. Bu işlem için aşağıdaki mblock kodlarını hazırlayacağız.

İstediğiniz bir yöntemi seçtikten sonra kodları arduinoya yükleyin.

mBlock kodlarını arduinoya yüklemek için en üstteki ‘Arduino Programı’ koduna fare ile sağ tıklayarak açılan menüdene ‘Arduinoya yükle’ seçeneğini tıklayın. Program arduino kipine geçecektir. Açılan ekranın sağ üst bölümündeki ‘Arduinoya Yükle’ butonuna tıklayarak yükleme işlemini gerçekleştirebilirsiniz.

Kodları arduinoya yükleme sırasında ‘Seri kapı bulunamadı’ gibi bir uyarı çıkarsa, üst menüde ‘Bağlan–>Seri Port’ adımlarını izleyerek arduinonun bağlı olduğu port seçimi yapılmalıdır.


Yöntem  1: Bu yöntemde önce ‘Veri’ başlığından pwm adında bir değişken oluşturacağız.

Sonrasında aşağıdaki kodları hazırlamamız gerekiyor. Buradaki kod bloklarını renklerine göre bulabilirsiniz.






18 Şubat 2024 Pazar

Break & Continue

int i = 0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  while (i < 10) {
    i++;
Serial.println("toki cumhuriyet anadolu lisesi bb");
    if (i == 4) {
      break;
    }
  }

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

 

-------------------------


 int i = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  while (i < 10) {
    Serial.println(i);
    i++;

    Serial.println("toki cumhuriyet anadolu lisesi bb");
    if (i == 4) {
      continue;
    }

    Serial.println("çorum");
    Serial.println("çorum");
    Serial.println("çorum");
    Serial.println("çorum");
  }
}
void loop() {
  // put your main code here, to run repeatedly:
}

13 Şubat 2024 Salı

LDR ile Gece Lambası Yapımı

 

LDR(Light Dependent Resistor)

Işığa bağlı olarak değerleri değişen dirençlere fotodirençler denilmektedir. LDR(Light Dependent Resistor)’nin üzerine düşen ışık şiddeti ile biz verdiği direnç değeri ters orantılıdır. Yani ışık şiddeti; arttığında direnç düşer, azaldığında ise direnç artar. LDR, ışık ile kontrol gerektiren projelerde ve sistemlerde basitçe kullanılabilecek bir sensördür.


Devre Şeması: Öncelikle aşağıda gösterilen devre şemasına uygun olarak devremizin kurulumunu yapıyoruz.





Uygulama: 

● Devre kurulumu bittikten sonra mBlock programını açabiliriz. Eğer program açıksa üst kısımda bulunan “Dosya” sekmesinden “Yeni” kısmına tıklayarak yeni bir proje açabiliriz. 

● Arduino’ yu USB kablo ile bilgisayara bağlıyoruz ve “Kartlar” sekmesinden “Arduino Uno”, “Uzantılar” sekmesinden ise “Arduino” seçeneğini seçiyoruz. “Bağlan” sekmesinden “Seri Port” kısmına tıklıyoruz ve açılan kısımdan seri portumuzu seçiyoruz. Son olarak da “Bağlan” sekmesinden “Aygıt Yazılımı Güncellemesi” kısmına tıklayarak Arduino’ yu kullanıma hazırlamış oluyoruz. 

● Öncelikle sensörden gelen değerleri ekrana yazdıracağız. Sensörden gelen değerleri tutması için bir değişken oluşturacağız. Bunun için “Veri&Blok” dizisinde bulunan “Bir Değişken Oluştur” butonuna basarak “ldr” isminde yeni bir değişken oluşturuyoruz. 

● Daha sonra, bu değişkeninin içerisine LDR’ den gelen değerleri “Robotlar” dizisinden “A0 analog pini oku” bloğunu koyarak aktarıyoruz. “Görünüm” dizisinden “merhaba de 2 saniye” kod bloğunu alarak merhaba yerine, oluşturduğumuz “ldr” değişkenini koyuyoruz ve böylece ekranımızda sensörden gelen değerleri görebiliriz.


● Bu kodumuz ile sensörün karanlıkta ve aydınlıkta verdiği değerleri belirleyebiliriz. 

● Değer aralıklarını belirledikten sonra bu değerlere göre bir şart oluşturuyoruz. Karanlıkta yani sensörün üzeri kapalı iken verdiği değer bizim sensörümüz için bu 100 den küçük değerler arasında değişiyordu. Bu nedenle gelen değer 100 ‘den küçükse (ldr<100) ışığı yani LED i yakacağız. 

● Kodumuzu oluşturmak için öncelikle “Kontrol” dizisinden “eğer ise _ değilse” kod bloğunu alarak içerisine, “İşlemler” dizisinden “<” (küçüktür) bloğu koyuyoruz ve şartımızı oluşturuyoruz. Böylece şartımız doğru olduğunda ışığımızın yanması için “Robotlar” dizisinden “9 sayısal pini YÜKSEK” yap kod bloğunu alarak, “9” yazan yere LED imizi taktığımız pini yazıyoruz. Değilse kısmında ise aynı kod bloğunu “DÜŞÜK” olarak değiştiriyoruz. Gerekli kod bloklarını aşağıda detaylı olarak görebilirsiniz



Böylece sokak lambalarında da olduğu gibi karanlıkta otomatik olarak yanan ve ışıklı ortamda sönen bir ışık sistemi oluşturmuş oluruz.