Raspberry Pi Python ile Blink Uygulaması

Güncelleme tarihi: 2 May 2020

Bu uygulamamızda Raspberry Pi kartımıza bağladığımız bir LED’in yanıp sönmesini sağlayacağız.

Bu uygulamada kullanacağımız malzemelerimiz;

  • Raspberry Pi

  • 5mm LED

  • 220R veya 330R Direnç

  • Jumper Kablolar

  • Breadboard


Raspberry Pi kartı üzerinde bulunan GPIO konnektöründe farklı işlevlere sahip pinler bulunmaktadır. Yapacağınız işleme göre uygun GPIO pinlerini seçerek uygulamalarınızı yapabilirsiniz. Uygulamanızı yaparken kullanacağınız özelliğin raspi-config ayarlarından etkinleştirilmiş olması gerekmektedir.


  • PWM Yazılımsal PWM: Bütün pinlerde kullanılabilir Donanımsal PWM: GPIO12, GPIO13, GPIO18, GPIO19

  • SPI SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7) SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)

  • I2C Data: (GPIO2); Clock (GPIO3) EEPROM Data: (GPIO0); EEPROM Clock (GPIO1)

  • Serial TX (GPIO14); RX (GPIO15)


Devremizi şemada gördüğümüz şekilde kuruyoruz.


Devremizi tamamladıktan sonra kodumuzu yazabiliriz. Raspberry Pi kartı üzerinde yapacağımız işlemlerde Python programlama dilini kullanacağız. Güncel Raspbian işletim sisteminde GPIO kütüphanesi kurulu olarak gelmektedir. Eğer eski bir sürüm kullanıyor iseniz;

sudo apt-get update 
sudo apt-get install python-dev python-rpi.gpio

komutlarıyla GPIO kütüphanesini yüklemeniz gereklidir.


Kodunuzu yazmak için isterseniz Raspberry Pi içinde kurulu olarak gelen Python IDE yi kullanabilir ya da boş bir txt dosyası içine yazıp dosyanızı .py uzantılı olarak kaydedebilirsiniz. Bu örneğimizde dosyamızı blink.py olarak kaydettik.


import RPi.GPIO as GPIO 
import time 

GPIO.setmode(GPIO.BCM) 
GPIO.setwarnings(False) 
GPIO.setup(14,GPIO.OUT) 

print ("LED on") 
GPIO.output(14,GPIO.HIGH) 
time.sleep(5) 
print ("LED off") 
GPIO.output(14,GPIO.LOW)


Dosyanızı IDE içerisinden "Run" butonu ile çalıştırabilirsiniz.


Eğer terminal kullanarak çalıştırmak isterseniz;

python blink.py

komutu ile dosyanızı çalıştırabilirsiniz. Eğer dosyanız pi kullanıcı klasöründe değil de masaüstünde yer alıyorsa öncesinde işlem yapmak istediğiniz yeri

cd Desktop 

komutu ile masaüstü olarak ayarlayabilirsiniz.




GPIO.setmode() komutu


Raspberry Pi kartınız üzerinde sıralı olarak yer almış pin numaraları ile GPIO pin numaraları aynı değildir. Pin diyagramına bakarak bu numaraları görebilirsiniz. Kodunuzu yazarken mutlaka hangi pini ne şekilde kullandığınızı belirtmeniz gereklidir. Bu pin numaralarını iki şekilde belirtebilirsiniz.


Yaptığımız örnekte BOARD pin numarası 8 olan pinimizin GPIO pin numarası ise 14 tür.



Eğer sıralı olarak yer almış BOARD pin numaralarını kullanmak isterseniz;

GPIO.setmode(GPIO.BOARD) 

Bu durumda işlemlerinizi pin numarası 8 e göre yapmanız gerekir.



GPIO pin numaralarını kullanmak isterseniz;

GPIO.setmode(GPIO.BCM)

Bu durumda işlemlerinizi pin numarası 14 e göre yapmanız gerekir.



Son Paylaşımlar