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ü
- Raspberry Pi ile Vardiya Kaydını Arabirim
Bu eğitimde, Raspberry Pi'ye Kapasitif Dokunmatik Panel Arayüzü yapacağız. Kapasitif Touchpad 1'den 8'e kadar 8 tuşa sahiptir. Bu tuşlar tam olarak tuş değildir, PCB üzerine yerleştirilmiş Dokunmaya Duyarlı Pedlerdir. Pedlerden birine dokunduğumuzda, pedler yüzeyindeki kapasitans değişimini yaşarlar. Bu değişiklik kontrol ünitesi ve kontrol ünitesi tarafından yakalanır, tepki olarak çıkış tarafında ilgili bir pimi yükseğe çeker.
Bu Kapasitif Dokunmatik Yüzey Sensör Modülünü , PI için giriş cihazı olarak kullanmak üzere Raspberry Pi'ye ekleyeceğiz.
Daha ileri gitmeden önce Raspberry Pi GPIO Pinleri hakkında biraz konuşacağız.
GPIO Pinleri:
Yukarıdaki şekilde gösterildiği gibi, PI için 40 çıkış pini vardır. Ancak aşağıdaki ikinci şekle baktığınızda, 40 pin çıkışının hepsinin bizim kullanımımıza göre programlanamayacağını görebilirsiniz. Bunlar sadece programlanabilen 26 GPIO pinidir. Bu pinler GPIO2'den GPIO27'ye gider.
Bu 26 GPIO pini ihtiyaca göre programlanabilir. Bu pinlerden bazıları bazı özel işlevleri de yerine getirir, bunu daha sonra tartışacağız. Özel GPIO'yu bir kenara bıraktığımızda, 17 GPIO'muz kaldı (Açık Yeşil Renk).
Bu 17 GPIO pinin her biri maksimum 15mA akım sağlayabilir. Ve tüm GPIO'lardan gelen akımların toplamı 50mA'yı geçemez. Yani bu GPIO pinlerinin her birinden ortalama olarak maksimum 3mA çekebiliriz. Yani ne yaptığınızı bilmediğiniz sürece bu şeylere müdahale etmemelisiniz.
Şimdi burada bir diğer önemli nokta da, PI mantık kontrolünün + 3.3v olması, dolayısıyla PI'nın GPIO pinine + 3.3V'den fazla mantık veremezsiniz. Herhangi bir PI GPIO pinine + 5V verirseniz kart zarar görür. Bu nedenle, PI için uygun mantık çıkışları elde etmek için Kapasitif Dokunmatik Yüzeye + 3.3V güç sağlamamız gerekir.
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
- Kapasitif Dokunmatik Yüzey
Devre şeması:
Kapasitif Dokunmatik Yüzey Arayüzü için yapılan bağlantılar yukarıdaki devre şemasında gösterilmektedir.
Çalışma ve 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)
Giriş pinleri olarak 8 pin ayarlıyoruz. Kapasitif Dokunmatik Panelden 8 anahtar çıkışı tespit edeceğiz.
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
Küme parantezlerindeki koşul doğru ise, döngü içindeki ifadeler bir kez çalıştırılacaktır. Dolayısıyla, GPIO pini 21 yükselirse, IF döngüsü içindeki ifadeler bir kez çalıştırılacaktır. GPIO pimi 21 yükselmezse, IF döngüsü içindeki ifadeler çalıştırılmayacaktır.
eğer (IO.input (21) == True):
Aşağıdaki komut sonsuz döngü olarak kullanılır, bu komutla bu döngü içindeki ifadeler sürekli olarak çalıştırılır.
1 iken:
Aşağıdaki programı PYTHON'a yazıp çalıştırdıktan sonra başlamaya hazırız. Pede dokunulduğunda, modül ilgili pimi yukarı çeker ve bu tetikleyici PI tarafından algılanır. Algılamanın ardından, PI ekrana uygun anahtarı yazdırır.
Dolayısıyla, PI'ye Arayüzlü Kapasitif Dokunmatik Yüzeyimiz var.