raspberry pi gpio pinleri kullanımı ve hazırlanması etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Merhabalar,
Önceki yazımızda raspberry pi için gpio pinlerinden ve programlamada bu pinleri kullanabilmek için python gpio kütüphanesinin yüklenmesinden bahsetmiştik.
Bu yazımızda ise yüklemiş olduğumuz kütüphanemizi kullanarak led kontrolü sağlayacağız.
Bunu yapabilmek için ilk olarak menu -> programming -> python3 idemizi açıyoruz.Kodlarımız aşağıdaki gibi.
from time import sleep
from quick2wire.gpio import pins, Out
with pins.pin(7, direction=Out) as out_pin:
while True:
out_pin.value = 1
sleep(1)
out_pin.value = 0
sleep(1)
out_pin.unexport()
Gelelim kodlarımızın teker teker ne anlam taşıdığını açıklamaya :
from time import sleep
sleep fonksiyonunu time kütüphanesi içerisinde projemize ekliyoruz sonrasında sleep fonksiyonunu sleep(1) ile çağırarak o anda programımızın 1 sn lik bir bekleme yapmasını sağlıyoruz.
from quick2wire.gpio import pins
Daha önce eklemiş olduğumuz pyhton için eklemiş olduğumuz quick2wire.gpio kütüphanemiz içerisinde pins fonksiyonunu programımıza dahil ediyoruz.
pins.pin(7, direction=Out) as out_pin:
Bu satır ile 7 numaralı gpio pinin direction=Out ile output haline getiriyoruz ve
as out_pin
ile programımız içerisinde artık 7 numaralı pinin output olarak hazırlanmış halinin out_pin adı ile çağırılacağını belirtiyoruz.
while True:
ile programımızı sonsuz bir dongü içerisinde çalışmasını sağlıyoruz.Böylelikle ledimiz sonsuza kadar 1 er saniye aralıklarla yanı sönecektir.
out_pin.value = 1 ile 7 numaralı pine 3.3V dc bir gerilim sağlanırken
out_pin.value = 0 ile 7 numaralı pine 0V dc uygulanmış olur.
Ledimizin yanıp sönmesini bu sayede sağlıyor olacağız.Burada dikkat edilmesi gereken raspberry pi ve gpio pinine zarar vermemek açısında (fazla akım çekiminin önlenmesi için ) ledimizi ile bağlı olduğu 7 numaralı gpio pini arasında direnç kullanmak zararı önleyecektir.
out_pin.unexport()
Programımızın sonuna yazdğımız bu komut ise programımız herhangi bir şekilde ki ctrl+c ile programı sonlandırabilirsiniz önceden input ya da output olarak belirlediğimiz pinleri default yani ilk hallerine geri dönmesine bir başka deyişle serbest bırakılmasını sağlar.
Programı çalıştırdığınız 7 numaralı gpio pinine bağlı olan ledi 1 sn yanıp 1 sn sönmesine ve bu durumun duraksamadan döngü halinde devam ettiğini göreceksiniz.
Bir sonraki yazımızda raspberry pi ve webide kullanımıdan bahsedeceğiz.
Önceki yazımızda raspberry pi için gpio pinlerinden ve programlamada bu pinleri kullanabilmek için python gpio kütüphanesinin yüklenmesinden bahsetmiştik.
Bu yazımızda ise yüklemiş olduğumuz kütüphanemizi kullanarak led kontrolü sağlayacağız.
Bunu yapabilmek için ilk olarak menu -> programming -> python3 idemizi açıyoruz.Kodlarımız aşağıdaki gibi.
from time import sleep
from quick2wire.gpio import pins, Out
with pins.pin(7, direction=Out) as out_pin:
while True:
out_pin.value = 1
sleep(1)
out_pin.value = 0
sleep(1)
out_pin.unexport()
from time import sleep
sleep fonksiyonunu time kütüphanesi içerisinde projemize ekliyoruz sonrasında sleep fonksiyonunu sleep(1) ile çağırarak o anda programımızın 1 sn lik bir bekleme yapmasını sağlıyoruz.
from quick2wire.gpio import pins
Daha önce eklemiş olduğumuz pyhton için eklemiş olduğumuz quick2wire.gpio kütüphanemiz içerisinde pins fonksiyonunu programımıza dahil ediyoruz.
pins.pin(7, direction=Out) as out_pin:
Bu satır ile 7 numaralı gpio pinin direction=Out ile output haline getiriyoruz ve
as out_pin
ile programımız içerisinde artık 7 numaralı pinin output olarak hazırlanmış halinin out_pin adı ile çağırılacağını belirtiyoruz.
while True:
ile programımızı sonsuz bir dongü içerisinde çalışmasını sağlıyoruz.Böylelikle ledimiz sonsuza kadar 1 er saniye aralıklarla yanı sönecektir.
out_pin.value = 1 ile 7 numaralı pine 3.3V dc bir gerilim sağlanırken
out_pin.value = 0 ile 7 numaralı pine 0V dc uygulanmış olur.
Ledimizin yanıp sönmesini bu sayede sağlıyor olacağız.Burada dikkat edilmesi gereken raspberry pi ve gpio pinine zarar vermemek açısında (fazla akım çekiminin önlenmesi için ) ledimizi ile bağlı olduğu 7 numaralı gpio pini arasında direnç kullanmak zararı önleyecektir.
out_pin.unexport()
Programımızın sonuna yazdğımız bu komut ise programımız herhangi bir şekilde ki ctrl+c ile programı sonlandırabilirsiniz önceden input ya da output olarak belirlediğimiz pinleri default yani ilk hallerine geri dönmesine bir başka deyişle serbest bırakılmasını sağlar.
Programı çalıştırdığınız 7 numaralı gpio pinine bağlı olan ledi 1 sn yanıp 1 sn sönmesine ve bu durumun duraksamadan döngü halinde devam ettiğini göreceksiniz.
Bir sonraki yazımızda raspberry pi ve webide kullanımıdan bahsedeceğiz.
Bu bölümde raspberry pi üzerinde bulunan genel amaçlı giriş çıkış pinleri yani GPIO pinlerinden bahsedeceğiz.
Gpio pinleri sayısı raspberry pi modeline göre farklılık göstermektedir.B+ modelini ele alacak olursak üzerinde 40 adet pin bulunmakta ve bunlardan 26 tanesi giriş çıkış pinleri olarak programlanabilmektedir.Geri kalan pinler ise gücün bağlanması gibi farklı özellikleri kapsamaktadır.
Gpio pinleri 3.3V dc üş ve her biri (toplamda 50mA) 17mA akım gücü sağlamaktadır.Bahsettiğimiz değerler cihazın rated yani maksimum olarak alabileceğimiz değerlerdir.Yukarıdaki parantez içerisinde belirttiğimiz 50mA ise gpio pinlerinden toplamda çekebileceğimiz maksimum akım miktarını belirtmektedir.
Yukarıdaki resimde farklı raspberry pi modellerine göre gpio pinleri yapısını ve gpio pinleri dışında kalan özel pinleri görmektesiniz.
Raspberry pi üzerindeki gpio pinlerini kullanılabilir hale getirmemiz için birkaç adıma ihtiyacımız var.İsterseniz bu adımları teker teker ele alalım.
İnternet ortamında birbirinden farklı biçok gpio kütüphanesi ile karşılabilirsiniz ancak içlerinden yüklemesi en basit ve kullanımı en rahat olanı quick2wire phyton api dir. Bu kütüphane gpio pinleri program aracılığı ile erişime ve spi kullanarak farklı sistemlerle haberleşmemize olanak sağlar.
İşlemlerimize başlamadan önce raspberry pi mizin internet bağlantısına sahip olduğundan emin olalım.
quick2wire kütüphanesini yükleyebilmemiz için sol üst köşedeki lx terminali açıyoruz.
kütüphaneyi kullanabilmek adına repository bölümünü düzenlememiz gerekiyor.Bunun için linux komularından nona kullanarak repository dosyamızı yeniden düzenleyeceğiz.
sudo nano /etc/apt/sources.list
nano komutumuzun ardından karşımıza bir dosya ve editörü açılacak.Bu kısıma aşağıdaki satırları ekleyeceğiz.
# Quick2Wire Software
deb http://dist.quick2wire.com/raspbian wheezy main
deb-src http://dist.quick2wire.com/raspbian wheezy main
Sonrasında ctrl+x ile dosyamızı kapatıyoruz.Çıkan uyarıya 'y' ile onay vererek kaydedilmesini sağlıyoruz.
Sıra geldi kütüphanemizi wget komutu ile raspberry pi içerisine almaya
Bunu için aşağıdaki satırları terminalimize yazarak enter yapıyoruz.
wget https://raw.githubusercontent.com/quick2wire/quick2wire-software-
users/master/software@quick2wire.com.gpg.key
sudo apt-key add
software@quick2wire.com.gpg.key
Yukarıdaki komutla birlikte cash dosyamız güncellenmiş oldu.Akabinde güncellemeri almak için terminalimize sırası ile :
sudo apt-get update
sudo apt-get upgrade
Komutlarınız giriyoruz.Bu kısım raspberry pi üzerindeki işletim sisteminin güncelleme durmuna göre zaman alabilmektedir.
Güncellemelerimiz tamaladıktan sonra son adım olarak quick2wire tollarını yükleyeceğiz.Bunun için açık olan terminalimize aşağıdaki satırları yazarak enter yapmamız yeterli olacaktır.
sudo apt-get install quick2wire-gpio-admin
sudo apt-get install quick2wire-python3-api
Artık gpio pinleri programlama için hazır.Bir sonraki yazımızda indirdiğimiz kütüphanemizi phyton programlama ile gpio pinlerimizi kontrol etmek için kullanmayı öğreneceğiz.
Gpio pinleri sayısı raspberry pi modeline göre farklılık göstermektedir.B+ modelini ele alacak olursak üzerinde 40 adet pin bulunmakta ve bunlardan 26 tanesi giriş çıkış pinleri olarak programlanabilmektedir.Geri kalan pinler ise gücün bağlanması gibi farklı özellikleri kapsamaktadır.
Gpio pinleri 3.3V dc üş ve her biri (toplamda 50mA) 17mA akım gücü sağlamaktadır.Bahsettiğimiz değerler cihazın rated yani maksimum olarak alabileceğimiz değerlerdir.Yukarıdaki parantez içerisinde belirttiğimiz 50mA ise gpio pinlerinden toplamda çekebileceğimiz maksimum akım miktarını belirtmektedir.
Yukarıdaki resimde farklı raspberry pi modellerine göre gpio pinleri yapısını ve gpio pinleri dışında kalan özel pinleri görmektesiniz.
Raspberry pi üzerindeki gpio pinlerini kullanılabilir hale getirmemiz için birkaç adıma ihtiyacımız var.İsterseniz bu adımları teker teker ele alalım.
İşlemlerimize başlamadan önce raspberry pi mizin internet bağlantısına sahip olduğundan emin olalım.
quick2wire kütüphanesini yükleyebilmemiz için sol üst köşedeki lx terminali açıyoruz.
kütüphaneyi kullanabilmek adına repository bölümünü düzenlememiz gerekiyor.Bunun için linux komularından nona kullanarak repository dosyamızı yeniden düzenleyeceğiz.
sudo nano /etc/apt/sources.list
nano komutumuzun ardından karşımıza bir dosya ve editörü açılacak.Bu kısıma aşağıdaki satırları ekleyeceğiz.
# Quick2Wire Software
deb http://dist.quick2wire.com/raspbian wheezy main
deb-src http://dist.quick2wire.com/raspbian wheezy main
Sonrasında ctrl+x ile dosyamızı kapatıyoruz.Çıkan uyarıya 'y' ile onay vererek kaydedilmesini sağlıyoruz.
Sıra geldi kütüphanemizi wget komutu ile raspberry pi içerisine almaya
Bunu için aşağıdaki satırları terminalimize yazarak enter yapıyoruz.
wget https://raw.githubusercontent.com/quick2wire/quick2wire-software-
users/master/software@quick2wire.com.gpg.key
sudo apt-key add
software@quick2wire.com.gpg.key
Yukarıdaki komutla birlikte cash dosyamız güncellenmiş oldu.Akabinde güncellemeri almak için terminalimize sırası ile :
sudo apt-get update
sudo apt-get upgrade
Komutlarınız giriyoruz.Bu kısım raspberry pi üzerindeki işletim sisteminin güncelleme durmuna göre zaman alabilmektedir.
Güncellemelerimiz tamaladıktan sonra son adım olarak quick2wire tollarını yükleyeceğiz.Bunun için açık olan terminalimize aşağıdaki satırları yazarak enter yapmamız yeterli olacaktır.
sudo apt-get install quick2wire-gpio-admin
sudo apt-get install quick2wire-python3-api
Artık gpio pinleri programlama için hazır.Bir sonraki yazımızda indirdiğimiz kütüphanemizi phyton programlama ile gpio pinlerimizi kontrol etmek için kullanmayı öğreneceğiz.