NodeRed – UYGULAMA 1: Buton ile LED’in Kontrolü

Node-RED’i kullanarak gerçekleştireceğimiz bu ilk uygulamada, Raspberry Pi’a bağlı bir butona basılıp basılmadığını algılatarak bir LED’i yakacağız. Raspberry Pi’ın GPIO.14 pin’ine bir buton, GPIO.23 pin’ine de bir LED bağlanmıştır. Bağlantı şemasını aşağıda görebilirsiniz.

 
Uygulama devremizin bağlantı şeması

Bağlantıyı kurduktan sonra Node-RED editörünü açarak aşağıdaki akış şemasını oluşturun. Uygulamanın çalışması şöyledir; GPIO.14’ü dinleyen bir Raspberry Pi input node’unun çıktısı (payload) GPIO.23’e bağlı olan bir Raspberry Pi output node’unu beslemektedir. output node da mesaj (msg) ile gelen payload değerinin 0 veya 1 olup olmadığına bakarak LED’i yakacak veya söndürecektir. Özetle butona basıldığında LED yanacaktır.

Akış şemasının oluşturmak için aşağıdaki adımları uygulayabilirsiniz:

  1. Akış editörünü tarayıcıda görüntüledikten sonra varsayılan olaran Flow 1 ismindeki akışımızın adını değiştirmek için akış düzenleme alanının kulakçığına çift tıklatın. Açılacak olan Edit flow: Flow 1 adlı paneldeki Name kutusuna Buton LED Kontrol yazın ve Done’a tıklatın.
  2. Node paletinin Raspberry Pi kategorisinde yer alan node’lardan rpi-gpio in ve rpi-gpio out node’larını çalışma alanına sürükleyip bırakın.
  3. rpi-gpio in node’unun çıkışını rpi-gpio out node’unun girişine bağlayın.
  4. rpi-gpio in node’una çift tıklayarak açılan properties panelinden GPIO14’ü seçiniz. Dâhili resistor (direnç) olarak liste kutusundan PULLDOWN’u ve Debounce değeri olarak da 25ms ayarlayın. Etiket ismi olarak da Button yazabilirsiniz. Debounce değeri butona basılması sırasında oluşan arklardan korunmak içindir. Bounce konusunu kitabın “Aşağıdaki şekilde butonun içyapısı ve çalışması görülmektedir.
  • Buton gürültüsünü bastırmak” başlığından okuyabilirsiniz.
  • rpi-gpio out node’una çift tıklayarak açılan properties panelinden GPIO23 seçiniz. Type listesinden Digital output’u seçin ve etiket ismi olarak da LED yazın. Bu çıkış node’unun başlangıç değerini ayarlamak isterseniz Initialise pin state? işaret kutusunu seçerek low(sönük) veya high(yanık) değerlerinden birisini de belirleyebilirsiniz.
  • Akış algoritmamız bu kadar. Şimdi akışı etkinleştirmek için ekranın sağ üstünde yer alan Deploy düğmesine tıklatarak devrenin çalışmasını kontrol edebilirsiniz. Butona bastığınızda LED yanacaktır. Bu sırada her iki node’un da sol alt tarafındaki yeşil gösterge 1 değerini alacak, butondan elinizi çektiğinizde ise eski değeri olan 0’a geri dönecektir.

Aşağıdaki görsellerde Button ve LED node’larının properties ekranları gözükmektedir. Her iki ekranın da altında bazı açıklamalar yazdığına dikkat edin. Örneğin Raspberry Pi header numaralandırmasına göre 8 (GPIO.14) ve 16 (GPIO.23) numaralı pin’lerin kullanılmakta olduğu girdi ve çıktı payload’larının sadece 0 ve 1 değerlerinden biri olabileceği hatırlatılmıştır. Daha detaylı bilgiyi aşağıda ekran görüntüsüne yer verilmeyen Info panellerinden de görebilirsiniz. Ayrıca akışınızı tasarladığımız sırada node’ların sağ üstünde beliren mavi yuvarlak işareti de fark etmiş olmalısınız. Bu işaret node da yapılan değişikliklerin icraya geçmediğini yani henüz deploy edilmediğini belirtmektedir.


Uygulamadaki rpi-gpio in node ve rpi-gpio out node’larının properties sayfaları

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.