Raspberry Pi ile İlk Proje | Başlığım
Ana Sayfa Uygulama Yap Gömülü Sistemler Raspberry Pi ile İlk Proje
Yazar: ÖMER YASİN ADIGÜZELTarih: Ekim 06, 2018 Kategori: Gömülü Sistemler, Raspberry Pi Uygulamaları, Uygulama YapYorum Yok
Raspberry Pi’ye bağlanmak için gerekli ayarları yaptıktan sonra ilk projemizi yapabiliriz. İlk projemizde pinleri nasıl kullanabileceğimizi öğreneceğiz. Bunun için 1 adet LED,1 adet 100 ohm direnç, 2 adet jumper kabloya ihtiyacımız olacak.
Öncelikle Raspberry Pi hakkında bazı bilgiler vererek başlayalım. Raspberry Pi 40 adet GPIO pinine sahiptir. Fakat biz 40 pinden sadece 28 adet pini yazdığımız kondlar ile kontrol edebiliyoruz. Geri kalan 12 adet pinden 2 tanesi 5V, 2 tanesi 3.3v sabit olarak voltaj sağlar. Geriye kalan 8 pin ise Ground yani toprak pini olarak adlandırılır.
Yazacağımız kodlar ile kontrol edebildiğimiz 28 adet pin bizlere 3.3V gerilim, maximum 16mA akım çekmemizi sağlıyor. Kısa bi hesaplama yaptığımız zaman;
3.3V-16mA*R-2.1V(yeşil renk led için çalışma gerilimi(Kaynak:ttps://www.radio-electronics.com/info/data/semicond/leds-light-emitting-diodes/characteristics.php))=0
Buradan R değerini;
R=(3.3V-2.1V)/(16*10^-3)=75 ohm olarak buluruz.
Elektronik devreleri sınır değerlerinde çalıştırmak (maximum 16mA) komponentlerimiz için riskli olacaktır. Bundan dolayı direnç değerini 100 ohm olarak seçiyoruz. Eğer 100 ohm direnç değerini 330 ohm gibi değerlere alırsak Led için daha uzun süre çalışma ortamı sağlamış olup, yeteri kadar parlaklığa sahip olmuş olacağız.
Devremizi bu şekilde breadboard üzerine kurduktan sonra kullanacağımız pinleri yönetme yani kodlama kısmına geçebiliriz.
Öncelikle yazacağımız kodlar için çalıma ortamını oluşturalım. Raspberry Pi’de terminal ekranına sudo nano led.py yazarak enter tuşuna basıp metin editörünü açalım.
Yazdığımız komutu incelersek;
Sudo: Erişimi yönetici olarak sağlıyor
Nano: Yeni metin belgesi oluşturuyor
Led.py kısmındaki <led> kısmı projemizin adı. Bu kısma istediğiniz adı verebilirsiniz. Kodlarımızı Python programlama dilini kullanarak yazacağımız için proje adının sonuna .py uzantısını eklememiz gerekiyor. Python programlama dilini kullanmamızın sebebini içeriğin sonunda bahsedeceğim.
Amacımız Raspberry Pi üzerindeki yönetilebilen pinlere Led bağlayarak ışık elde etmek. Yani pinlerden 3.3V gerilim sağlamamız gerekiyor. Bunun için RPi.GPIO kütüphanesini dahil ediyoruz. Çünkü bu kütüphanenin içerisinde output modülünü kullanarak yönetilebilir pinleri açıp(3.3v) kapatmamızı(0v) sağlayabileceğiz.
Hangi kütüphanenin içerisinde hangi modülün olduğunu öğrenmek için ayrı bir terminal ekranı açarak python3 yazıp enter tuşuna basıyoruz. Gelen sayfada import <Kütüphane adı>RPi.GPIO yazarak enter tuşuna basıyoruz. Daha sonra dir() fonksiyonunu kullanarak kütüphanenin içerisinde neler olduğunu görebiliyıruz. dir(RPi.GPIO) yazarak hangi modüllerin olduğunu görebiliyoruz.
Terminal ekranında açılan metin editörüne kodları yazmaya başlıyoruz.
import RPi.GPIO # Kullanacağımız kütüphaneyi dahil ediyoruz
from time import sleep #Kütüphaneden bir modülü dahil ediyoruz
RPi.GPIO.setmode(RPi.GPIO.BCM) #Pinleri Bilgisayarın gördüğü şekilde belirtiyoruz.
RPi.GPIO.setup(13,RPi.GPIO.OUT) #Pin çıkış mı sağlıyor yoksa dışarıdan bilgi mi alıyor(GPIO.INPUT) belirtiyoruz
RPi.GPIO.output(13,1) #GPIO13 nmaralı pinden 3.3v vermesinisağlıyoruz
sleep(0.5) # 0.5 saniye açık kalmasını söylüyoruz
RPi.GPIO.output(13,0) #GPIO13 numaralı pinden 0v vermesini sağlıyoruz
sleep(0.5) #0.5 saniye kapalı kalmasını istiyoruz
CTRL+X ile kaydediyoruz. Daha sonra teminal ekranına sudo python3 led.py yazarak kodun çalışmasını sağlıyoruz.
[fvplayer src=”https://www.mekatronikmuhendisligi.com/wp-content/uploads/2018/10/firstprojects.mp4″ width=”1280″ height=”720″]
İlk iki satırda
aslında iki satırda da aynı işi, hazır modülleri dahil ettik. Buradaki farklılık Python dilinin gücünü açıkça ortaya koyuyor. Birinci satırda kütüphanenin içerisindeki tüm modülleri projemize dahil ettik( Kullanmadıklarımızı bile). Fakat ikinci satırdaki kodda time kütüphanesinden sadece sleep modülünü dahil ettik. Böylece sadece kullandığımız modülleri dahil ederek(2. satır) işlemci üzerine fazla yük binmesini önlemiş olduk.
Etiketler: raspberry pi