ARDUINO SERIES

JavaScript ile Arduino ve 1 Led İle Yapabileceğiniz Örnekler

--

Bu seriye başladığımda 2 örnek yapmıştım. Blink ve LedControl With NodeServer , aşağıdaki API’leri kullanarak tek LED üzerinde uygulayabileceğiniz birçok örnek bulunuyor. İsterseniz bu API’leri kullanarak çok karmaşık denemeler yapabilirsiniz.

on/off/toggle API Kullanımı

Led açma, kapatma veya mevcut durumunu tam ters durumlara getirme API’leridir.

led.on()
led.off()
led.toggle()

Blink/Strobe ve Pulse API Kullanımı

Bu API çağırdığınızda verilen ms kadar on verilen ms kadar off olacak şekilde sürekli tekrar eder.

led.blink(ms, callback)
led.strobe(ms, callback)

Peki biz bu ışığı farklı seviyelerde vererek LED daha az daha çok yakabilir miyiz. Cevap evet pulse API’si bunu yapmamıza olanak sağlar

led.pulse(ms, callback)

Yukarıdaki Örneklerde Led süresi sabittir ve Led On/Off Modundadır. Bunlar belirtilen aralıklar ile sürekli yanıp/sönecektir. Bunu durdurmak içi

led.stop();

Brightness API Kullanımı

Brightness API Led yanma gücünü ayarlamanızı sağlar. Bunun üzerinden bir çok farklı senaryo geliştirilebilir. Özellikle Zaman ile bu brightness seviyesini arttırıp azaltıp çok farklı senaryoları gerçekleştirebiliriz.

led.brightness(128); //min=0 //max=255

Fade API Kullanımı

Fade mevcut brightness değerinden belli bir sürede verilen yeni değerine geçmesidir.. Bu sayede arkaplanda zaman kontrolünü bizim yazmamıza gerek kalmıyor..

fade(brightness, ms, callback)

Yukarıdaki durumda ışık brightness geçişi hep sabit hızda olacaktır. Bunu bir animasyon objesine bağlayıp, bu geçişin çok hızlı veya yavaş olmasını tanımlayabilirsiniz.

led.fade({   
easing: "outSine",
duration: 1000,
cuePoints: [0, 0.2, 0.4, 0.6, 0.8, 1],
keyFrames: [0, 250, 25, 150, 100, 125],
onstop: function() { console.log("Animation stopped"); } });

Fade In/Fade Out yöntemi ile bu brightness animasyonu daha kolay tanımlayabilirsiniz.

led.fadeIn(500);
led.fadeOut(500);

Pulse kullanarak bu brightness yoğunluğunu animasyon ile kontrol edebilirsiniz.

led.pulse({   
easing: "linear",
duration: 3000,
cuePoints: [0, 0.2, 0.4, 0.6, 0.8, 1],
keyFrames: [0, 10, 0, 50, 0, 255],
onstop: function() { console.log("Animation stopped"); } });

Tüm bu örnek ve yöntemleri birleştirerek kendi komut çalıştırma uygulamanız geliştirebilirsiniz. Dediğim gibi olay bir Node sunucusu ve Kullanıcı arayüzü yazmanıza bakar.

Kod Örneği

Referanslar

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--