Geleneksel LED yakıp söndürme uygulamasını atlamadan olmaz. Basit bir led yakıp söndürme yerine biraz daha detaylı giriş yapmayı tercih ettim. Programlama dili olarak da Pyhton, işletim sistemi olarak Ubuntu Mate 15.10 kullandım. Python dosyasını hemen şuracıkta da elinizin altına koydum.
Yandex Disk’ten indirmek için tıklayın…
Not: Bu konu Raspberry Pi ile LED yakmak üzerine olduğu için Raspberry Pi’a nasıl erişileceğine veyakodumuzu nasıl yazacağımıza dair bilgiler bulunmamaktadır. Bunun için Raspberry Pi ile ilgili yazmış olduğum diğer dökümanlara bakabilirsiniz.
Her neyse kod bu
import RPi.GPIO as GPIO import time #Uyarıları kapatmak icin GPIO.setwarnings(False) #blink fonksiyonu def blink(pin): print ("Led yandı...") GPIO.output(pin,GPIO.HIGH) time.sleep(1) print ("Led sondu...") GPIO.output(pin,GPIO.LOW) time.sleep(1) return #Boardda numaralandirilmis pinleri kullanmak GPIO.setmode(GPIO.BOARD) #Pin tanimlama GPIO.setup(11, GPIO.OUT) #for dongusunda fonksiyonumuzu calistirmak icin try: for i in range (0,5): blink(11) print("Islem bitti...") except KeyboardInterrupt: GPIO.cleanup() print ("GPIO temizlendi...")
Her zaman yapacağımız ilk hamle kütüphaneleri eklemek olacaktır. GPIO komutlarının anlam kazandırmak için RPi.GPIO‘u import ettikten sonra Raspberry Pi zamanı doğru sayabilmesi için time kütüphanesi ile saat hediye edelim… Bunları eklemezsek kodları derlerken “Güzel kardeşim GPIO.output nedir, time.sleep nedir? Ben bunların ne anlama geldiği bilmiyorum” gibi tepkiler verecektir. Ne var ki import’un kelime anlamlarından bazıları ifade, mana, anlamdır zaten.
Pinlerin açık kalmış, başkası kullanıyor gibi uyarıları görmezden gelmek için de GPIO.setwarnings(False) ile egomuzu biraz yükselttik.
Sonra blink adında ledin yanıp sönmesini yazacağımız bir fonksiyon yarattık. Burada ufak bir ayrıntıya dikkat verelim. Fonksiyona dışarıdan pin adını verdiğimiz değişken alacaktır. (Biraz sabırla aşağıda ona da yer vereceğiz.) Ledin yandığını belirten bir mesaj yazdırıp GPIO.output ile verdik coşkuyu. Saatimize baktık 1 saniye bekledik. Buradaki değer saniye cinsinden oluyor… Aynı şeyleri yapıp söndürdük sonra… Oldukça basit öyle değil mi?
Raspberry Pi’nin pin isimlendirmesi olarak BOARD’u seçtik. Bu şunu ifade ediyor; BOARD düzeninde her pine karşılık gelen bir sayı vardır. Mesela biz ledimizi 11. pine bağladık bunu 11. pin olarak kullanmak için BOARD düzenini seçtim, aynı zamanda bu 11. pin GPIO17’ye denk geliyor. O şekilde kullanmak içinde BCM düzeni seçilebilir.
11. pinimizi çıkış olarak belirttik.
Fonksiyonu tekrar tekrar çalıştırmak için bir for döngüsü yaratıp, blink fonksiyonuna 11 sayısını argüman olarak yolladık. Yukarıda yazdığım pin yerlerine 11 sayısı gelecektir. Fonksiyon bitiminde haberdar edilmek için print ile not bıraktık. O kadar beklememek için interrupt (kesme) hazırladık, CTRL + C zaten hali hazırda scriptleri durduracaktır. Ama ben biterken ortalığı da temizlemesini istedim. Temizleyince haber de vermesini de söyledik mi, tamamdır!
1 Yorum