#2 PicoBricks ile Etki – Tepki Projesi

0
359


Newton hareket yasalarında açıkladığı gibi her etkiye karşı bir tepki oluşur. Elektronik sistemler kullanıcılardan komutlar alırlar ve görevlerini yerine getirirler. Genellikle bu iş için  bir tuş takımı, dokunmatik ekran veya bir  buton kullanılır. Elektronik cihazlar görevlerinin sona erdiğini ve görev süresince olan bitenden kullanıcıyı haberdar etmek için sesli, yazılı veya görsel olarak tepki verirler. Bu tepkilerin kullanıcıyı haberdar etmenin yanı sıra olası arızada hatanın nerede olabileceğinin anlaşılmasında yardımcı olabilmektedir.

Bu projede Picobricks’in buton-LED modülünü kodlayarak projelerinde kullanıcıdan bir komutun nasıl alınacağını ve bu komuta nasıl tepki verileceğini öğreneceksin.

Proje Detayları ve Algoritma

Elektronik sistemlerde farklı türlerde butonlar kullanılmaktadır. Kilitli butonlar, push butonlar, anahtarlamalı butonlar… Picobricks üzerinde 1 adet push buton bulunmaktadır. Anahtar gibi çalışmaktadırlar, basıldığında akımı iletirler bırakıldığında akımı iletmezler. Projede butonun akım iletip iletmediğini kontrol ederek basılma durumunu anlayacağız. Basılmışsa LED’i yakacak, basılmamışsa LED’i söndüreceğiz.

 Bağlantı Şeması

Picobricks’in modüllerini kablo bağlantısı yapmadan kodlayabilir ve çalıştırabilirsin. Modülleri board’dan ayırarak kullanacaksan grove kablolar ile modül bağlantılarını yapmalısın. 

Projenin MicroBlocks ile Kodlanması

1Butona basılma durumunda çalıştırmamız gereken bir komut olduğu için Control kategorisindeki when bloğunu sürükleyelim. Bu blok belirlediğimiz koşulu sürekli denetler koşul doğrulanırsa altındaki komutu çalıştırır.
2Koşulumuz Picobricks’in butonuna basılması olduğu için Picobricks kategorisindeki PicoBricks button bloğunu when bloğuna yerleştir.
3Koşul gerçekleştiğinde Picobricks de bulunan kırmızı ledin yanmasını istiyoruz. Bu yüzden Picobricks kategorisindeki PicoBricks set red LED bloğunu when bloğunun altına yerleştir.
4Butona basılmadığında kırmızı LED’in sönük kalmasını istiyoruz. O yüzden Control kategorisinden ikinci when bloğunu sürükle. Koşul alanına ise butona basılmadığında ifadesini oluşturabilmek için operators kategorisindeki bloğunu  yerleştir
5Picobricks’in butonuna basılmadığında ifadesini oluşturmak için Picobricks kategorisindeki PicoBricks button bloğunu not bloğuna yerleştir.
6Butona basılmayan her an kırmızı ledin sönük kalmasını istiyoruz. O yüzden Picobricks kategorisinden PicoBricks set red LED bloğunu when bloğunun altına yerleştirip anahtarını kapalı hale getir.
7MicroBlocks’un Start butonuna bastığında kodlar gerçek zamanlı çalışacaktır. Picobricks deki butona bastığında kırmızı LED yanacak, bıraktığında sönecektir.

Projenin MicroBlocks kodlarına erişmek için tıkla.

Proje Görseli

Proje Önerisi

Bu projede butona basıldığında LED’in yanması buton bırakıldığında LED’in sönmesi sağlanmıştır. Sen de butona bir kere basılıp bırakıldığında LED’in yanması, tekrar basılıp bırakıldığında LED’in sönmesi için gerekli kodları yazabilirsin. 

Projenin MicroPython Kodları

from machine import Pin

led = Pin(7, Pin.OUT)    
push_button = Pin(10, Pin.IN,Pin.PULL_DOWN)  

while True:
  
  logic_state = push_button.value()
  
  if logic_state == True:
      led.value(1)  
  else:                       
      led.value(0)

Projenin Arduino C Kodları

void setup() {
  pinMode(7, OUTPUT);
  pinMode(10,INPUT);
}

void loop() {
  if (digitalRead(10) == 1){
    
    digitalWrite(7, HIGH);
  }
  else{
    digitalWrite(7, LOW);
  }  
  delay(10);                     
}

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz