Raspberry Pi, elektronik mühendisleri ve hobiler için tasarlanmış ARM mimarisi işlemci tabanlı bir karttır. PI, şu anda piyasadaki en güvenilir proje geliştirme platformlarından biridir. Daha yüksek işlemci hızı ve 1 GB RAM ile PI, Görüntü işleme ve Nesnelerin İnterneti gibi birçok yüksek profilli proje için kullanılabilir.
Yüksek profilli projelerden herhangi birini yapmak için, PI'nin temel işlevlerini anlamak gerekir. Bu eğitimlerde Raspberry Pi'nin tüm temel işlevlerini ele alacağız. Her öğreticide PI işlevlerinden birini tartışacağız. Bu Raspberry Pi Eğitim Serisinin sonunda, yüksek profilli projeleri kendi başınıza yapabileceksiniz. Aşağıdaki eğiticilere göz atın:
- Raspberry Pi'ye Başlarken
- Raspberry Pi Yapılandırması
- LED Yanıp Sönen
- Raspberry Pi Düğme Arayüzü
- Raspberry Pi PWM üretimi
- Raspberry Pi kullanarak DC Motorun Kontrol Edilmesi
- Raspberry Pi ile Step Motor Kontrolü
Bu Raspberry Pi vardiya kaydı eğitiminde, Pi ile Arayüz Kaydırma Kaydı yapacağız. PI 26 GPIO pinine sahip ancak 3D yazıcı gibi projeler yaptığımızda PI tarafından sağlanan çıkış pinleri yeterli olmuyor. Bu yüzden daha fazla çıkış pinine ihtiyacımız var, PI'ya daha fazla çıkış pini eklemek için Shift Register Chip ekliyoruz. Bir Shift Register çipi, verileri PI kartından seri olarak alır ve paralel çıktı verir. Çip 8 bittir, yani yonga seri olarak PI'dan 8 bit alır ve ardından 8 çıkış pini üzerinden 8 bit mantık çıkışı sağlar.
8 bitlik kaydıran yazmaç için, IC 74HC595 kullanacağız. 16 PIN çip. Çipin pim yapılandırması, bu eğitimde daha sonra aşağıda açıklanmıştır.
Bu eğitimde, Shift Register Chip'ten sekiz çıktı almak için üç PI'nin GPIO pinini kullanacağız. Burada çipin PIN'lerinin yalnızca çıkış için olduğunu unutmayın, bu nedenle çip çıkışına herhangi bir sensör bağlayamayız ve PI'nın bunları okumasını bekleyemeyiz. PI'dan gönderilen 8 bitlik veriyi görmek için LED'ler çip çıkışına bağlanır.
Daha ileri gitmeden önce Raspberry Pi GPIO Pinleri hakkında biraz konuşacağız,
Orada Ahududu Pi 2'de 40 GPIO çıkış pimleri. Ancak 40 taneden yalnızca 26 GPIO pini (GPIO2'den GPIO27'ye) programlanabilir. Bu pinlerden bazıları bazı özel işlevleri yerine getirir. Özel GPIO'yu bir kenara bıraktığımızda, sadece 17 GPIO'muz kaldı. Bu 17 GPIO pininin her biri maksimum 15mA akım sağlayabilir. Ve tüm GPIO Pinlerinden gelen akımların toplamı 50mA'yı geçemez . GPIO pinleri hakkında daha fazla bilgi edinmek için şunları gözden geçirin: Raspberry Pi ile LED Yanıp Sönüyor
Gerekli Bileşenler:
Burada Raspbian Jessie OS ile Raspberry Pi 2 Model B kullanıyoruz. Tüm temel Donanım ve Yazılım gereksinimleri daha önce tartışılmıştır, ihtiyaç duyduğumuz dışında bunları Raspberry Pi Giriş bölümünde bulabilirsiniz:
- Bağlantı pimleri
- 220Ω veya 1KΩ direnç (6)
- LED (8)
- 0.01µF kapasitör
- 74HC595 IC
- Ekmek Tahtası
Devre şeması:
Vardiya Kaydı IC 74HC595:
Burada kullanacağımız SHIFT REGISTER'ın PIN'lerinden bahsedelim.
Pin Adı |
Açıklama |
Q0 - Q7 |
Paralel olarak 8 Bit Veri aldığımız çıkış pinleridir (kırmızı dikdörtgen). Paralel çıkışı görmek için bunlara sekiz LED bağlayacağız. |
Veri Pimi (DS) |
İlk veriler bu pime parça parça gönderilir. 1 göndermek için DATA pinini yukarı çekip 0 göndermek için DATA pinini aşağı çekeceğiz. |
Saat Pimi (SHCP) |
Bu pindeki her darbe, yazmaçları DATA pininden bir bit veri almaya ve depolamaya zorlar. |
Kaydırma Çıkışı (STCP) |
8 bit aldıktan sonra çıkışı görmek için bu pini puls veriyoruz. |
Çalışma Akışı:
Akış Şemasını izleyeceğiz ve PYTHON'da bir ondalık sayaç programı yazacağız. Programı çalıştırdığımızda Raspberry Pi'de Shift Register kullanarak LED Sayımı görüyoruz.
Programlama açıklaması:
Her şey devre şemasına göre bağlandıktan sonra, programı PYHTON'da yazmak için PI'yi AÇIK hale getirebiliriz.
PYHTON programında kullanacağımız birkaç komuttan bahsedeceğiz, Kütüphaneden GPIO dosyasını içe aktaracağız, aşağıdaki fonksiyon PI'nın GPIO pinlerini programlamamızı sağlar. Ayrıca "GPIO" yu "IO" olarak yeniden adlandırıyoruz, bu nedenle programda GPIO pinlerine başvurmak istediğimizde "IO" kelimesini kullanacağız.
RPi.GPIO'yu IO olarak içe aktar
Bazen kullanmaya çalıştığımız GPIO pinleri başka işlevler yapıyor olabilir. Bu durumda programı çalıştırırken uyarılar alacağız. Aşağıdaki komut PI'ya uyarıları dikkate almamasını ve programa devam etmesini söyler.
IO.setwarnings (False)
PI'nın GPIO pinlerini, kart üzerindeki pin numarasına veya fonksiyon numaralarına göre yönlendirebiliriz. Tahtadaki 'PIN 29' gibi 'GPIO5'. Yani burada ya buradaki pimi '29' veya '5' ile temsil edeceğimizi söylüyoruz.
IO.setmode (IO.BCM)
GPIO4, GPIO5 ve GPIO6 pinlerini çıkış olarak ayarlıyoruz
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
Bu komut, döngüyü 8 kez yürütür.
(8) aralığında y için:
1 iken: sonsuz döngü için kullanılır. Bu komutla, bu döngü içindeki ifadeler sürekli olarak yürütülecektir.
Programla ilgili ayrıntılı açıklama aşağıdaki Kod Bölümünde verilmiştir. Şimdi SHIFT REGISTER'a veri göndermek için gereken tüm talimatlara sahibiz.