Raspberry Pi Nedir? Raspberry Pi’ın Özellikleri
Raspberry Pi, düşük maliyetli bir bilgisayardır. Scratch ve Python gibi dillerde nasıl programlanacağını öğrenmesini sağlayan yetenekli küçük bir cihazdır. Bu makalede raspberry pi ile ilgili birçok şey öreneceksiniz!
Raspberry Pi Avantajları Nelerdir?
- Linux, Python’u destekler. Bu da uygulama oluşturmamızı kolaylaştırır.
- Topluluk desteğiyle kullanıma hazır örnekler bulmanız kolaydır.
- Boyut olarak küçüktür.
Farklı Raspberry modellerini aşağıda görebilirsiniz.
- Raspberry Pi Model A: Bu modeli, ağ yetenekleri olmayan ve yeterli I / O desteği olmayan eksiksiz bir bilgisayara ihtiyaç duyan düşük maliyetli bir proje için kullanmak sizin faydanıza olacaktır.
- Raspberry Pi Model B: Bu model, fiyatın önemli olmadığı ve en güçlü Pi’nin gerekli olduğu bir proje için kullanılabilir. Bu model aynı zamanda kullanımı kolay I/O içerir, bu nedenle yapacağınız ilk Raspberry Pi projeleri için uygundur.
- Raspberry Pi Compute: Bu model, birçok I / O hattına ihtiyaç duyulan endüstriyel uygulamalar için en iyisidir.Bu model aynı zamanda güçlü CPU yeteneklerini de korur.
- Raspberry Pi Zero: Bu model, tamamen işleyen bir bilgisayar gerektiren ve kablosuz bağlantıdan faydalanacak, ultra düşük maliyetli, küçük alanlarla kısıtlı bir proje için en iyisidir.
Raspian İşletim Sistemi Kurulumu
SD Card Formatter
SD Card Formatter uygulaması SD kartlarımızı formatlamımızı sağlayan bir uygulamadır. Öncelikle bu uygulama ile SD kartımızın içini tamamen temizliyoruz. SD Card Formatter indirme linkine buraya tıklayarak ulaşabilirsiniz.
Win 32 Disk Imager
Win32 Disg Imager uygulaması ile SD kartımızın içine belgeler yazdırabiliriz. Win32 Disk Imager indirme linkine buradan ulaşabilirsiniz.
Öncelikle SD Kartımızı SD Card Formatter uygulamasıyla formatlıyoruz. Daha sonrasında Raspian iso dosyasını Win32 Disk Imager ile sd kartımıza yazdırıyoruz. Raspian iso dosyası indirme linkine buradan ulaşabilirsiniz.
Raspberry Pi Pin Çıkışlarını Tanıyalım
- 2 ve 4 numaralı pinler Raspberry’mizin 5 Volt güç sağladığı pinlerdir. Özellikle sensör içeren devrelerde bu pinlerden sensör voltajı sağlanır.
- 1 ve 17 Numaralı pinler Raspberry’mizin 3.3 Volt güç sağladığı pinleridir. Yine devremizde 3.3 volt ile çalışan bir devre elemanı olduğunda bu pinleri kullanırız.
- 6, 9, 14, 20, 30, 34 ve 39 numaralı pinler GND pinlerimizdir. Devredeki elemanlarımızın GND lerini raspberry GND si ile ortaklayarak frekans dalgalanmasını ve elektronik gürültüyü engelleyebiliriz.Bu sayede devre sistemimiz ve devre elemanlarımız daha stabil çalışır.
- GPIO Pinleri raspberry içinde kod yazarken kullandığımız pinlerdir. Örneğin bir transistörü aktif veya deaktif etmek için sinyal verip sinyal kesen pinler bunlardır.
- PWM GPIO pinleri(GPIO12,GPIO13), adındaki PWM’den de anlayacağımız üzere motorlu sistemlerdeki hızı belirlemek için kullanılır.
- Haberleşme GPIO pinleri(GPIO14,GPIO15), sistemimizin haberleşmesini gerektiren durumlarda haberleşme çıkışları ve girişleri olarak kullanılabilecek pinlerdir.
Raspberry içerisinde kod yazarken dikkat etmemiz gereken bir husus vardır. Kullandığımız pinleri kodda 2 şekilde kurabiliriz. Bunlar; BCM ve BOARD tipi söylemedir. BOARD tipini tercih ettiyseniz kod kısmında pini belirtirken sadece pin numarasını yazmanız yeterlidir. Örneğin 16 numaralı GPIO23 pini ve 18 numaralı GPIO24 pinlerinizi kullanıyorsunuz. BOARD tipinde kurulumu yaprken 16 ve 18 diye direk yazabiliriz. BCM tipinde ise GPIO numarasını yazmamız gerekir yani 16 numaralı GPIO23 pini ve 18 numaralı GPIO24 pinlerinizi kullanırken, 16 yerine GPIO’un numarası olan 23, 18 yerine iste 24 yazmalıyız Aşağıda inceleyelim;
BOARD
GPIO.setmode(GPIO.BOARD)
Yukarıda da gördüğümüz gibi sistemimie dedik ki ” Pinleri board sıralamasına göre algıla”. Bundan sonra pinlerimizin kurulumunu yaparken buna dikkat etmemiz gerekiyor.
GPIO.setup(16,GPIO.OUT)
GPIO.setup(18,GPIO.IN)
yukarıdaki 16 ve 18 pinlerin dizilim numarası olan 16 ve 18 dir.
BCM
GPIO.setmode(GPIO.BCM)
Yukarıda ise sisteme “Ben kodumda GPIO pinlerinin isimlerine göre kodlama yapıyorum” dedik. Buna göre BOARD da kullandığımız pinlerin aynısını aşağıdaki gibi kullanmamız gerekmekte
GPIO.setup(23,GPIO.OUT)
GPIO.setup(24,GPIO.IN)