- Gerekli Materyal:
- IR Sensör Modülü:
- Devre Şeması ve Açıklaması:
- Raspberry Pi'nizi programlama:
- Çalışma:
Hepimizin bildiği gibi Raspberry Pi, ARM mikroişlemciye dayalı harika bir Geliştirme platformudur. Yüksek hesaplama gücü ile elektronik meraklılarının veya öğrencilerin elinde harikalar yaratabilir. Bütün bunlar ancak gerçek dünyayla nasıl etkileşim kuracağımızı bilirsek mümkün olabilir. Gerçek zamanlı dünyadan belirli parametreleri algılayabilen ve bunu dijital dünyaya aktarabilen birçok sensör bulunmaktadır. Birçok Raspberry Pi Projesini birçok sensörle kapladık. Raspberry Pi, bir mikrodenetleyici kapasitesine sahip, dahili Wi-Fi'li cep boyutunda bir bilgisayar olduğu için IoT projeleri için de bir nimettir.
Bu eğitimde, bir IR sensörünü Raspberry pi ile nasıl arayüzleyebileceğimizi öğreneceğiz . Bu sensörler en çok çizgi izleyen robot, Kenardan kaçınma robotu vb. Gibi küçük robotlarda kullanılır. Basitçe söylemek gerekirse, önündeki nesnelerin varlığını algılayabilir ve ayrıca beyaz ve siyah rengi ayırt edebilir. Kulağa hoş geliyor değil mi?
Öyleyse bu sensörün Raspberry Pi ile nasıl arayüzleneceğini öğrenelim. Bu projede IR sensörün önünde herhangi bir nesne olmadığında Kırmızı LED yanık kalır ve IR sensörün önüne bir şey koyduğumuzda kırmızı LED söner ve Yeşil LED yanar. Bu devre aynı zamanda Güvenlik Alarm Devresi olarak da görev yapabilir.
Gerekli Materyal:
- Raspberry Pi 3 (herhangi bir model)
- IR sensör Modülü
- Yeşil ve Kırmızı LED ışıklar
- Breadboard
- Bağlantı telleri
IR Sensör Modülü:
IR sensörleri (Kızılötesi sensör), önlerindeki nesnelerin varlığını algılayan modüllerdir. Obje varsa çıkış olarak 3,3V verir, yoksa 0 volt verir. Bu, bir çift IR çifti (verici ve alıcı) kullanılarak mümkün kılınmıştır, verici (IR LED), önünde bir nesne varsa yansıtılacak olan bir IR ışını yayacaktır. Bu IR ışını alıcı (Fotodiyot) tarafından geri alınacak ve bir op-amp bağlantısı LM358 kullanılarak yükseltildikten sonra çıktı yüksek olacaktır. IR Sensör Modülü Devresi hakkında daha fazla bilgiyi buradan edinebilirsiniz.
Bu projede kullanılan IR Sensörü yukarıda gösterilmiştir. Tüm IR sensörleri gibi, sırasıyla 5V, Gnd ve Out olmak üzere üç pime sahiptir. Modül, Raspberry Pi'nin 5V pininden güç alır ve çıkış pini, Raspberry Pi'nin GPIO14'üne bağlanır. Modülün üstündeki potansiyometre, IR sensörünün aralığını ayarlamak için kullanılabilir.
Devre Şeması ve Açıklaması:
Raspberry Pi'yi IR sensörüyle bağlamak için devre şeması aşağıda gösterilmiştir. Gördüğünüz gibi devre şeması çok basit. IR modülünü doğrudan Raspberry Pi'nin 5V ve Ground Pininden besledik. IR modülünün çıkış pini GPIO14'e bağlanır. Ayrıca nesnenin durumunu belirtmek için iki LED (Yeşil ve Kırmızı) kullandık. Bu iki LED sırasıyla GPIO3 ve GPIO2'ye bağlanır.
Raspberry Pi'nin GPIO pinleri 3.3V olduğundan, akım sınırlayıcı bir direnç zorunlu değildir. Ancak istenirse LED'lerin topraklama pimi ile Raspberry Pi arasına 470 ohm değerinde bir direnç eklenebilir. Tüm devre, Raspberry pi'nin mikro USB portu üzerinden 5V'luk bir mobil şarj cihazıyla güçlendirilmiştir.
Not: Herhangi bir sensörü bağlarken, sensörün topraklamasının MCU veya MPU'nun (burada Raspberry Pi) toprağına bağlı olduğundan emin olun. Ancak o zaman iletişim kurabilirler.
Raspberry Pi'nizi programlama:
Burada RPi programlamak için Python Programlama dilini kullanıyoruz. Raspberry Pi'nizi programlamanın birçok yolu vardır. Bu eğitimde en çok kullanılan Python 3 IDE'yi kullanıyoruz. Tam Python programı bu yazının sonunda verilmiştir. Raspberry Pi'de Programlama hakkında daha fazla bilgi edinin ve kodu çalıştırın.
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ş / çıkış pinleri olarak 3 pin ayarlıyoruz. İki çıkış pini LED'i kontrol edecek ve giriş pini IR sensöründen gelen sinyali okuyacaktır.
IO.setup (2, IO.OUT) #GPIO 2 -> Çıkış IO.setup olarak kırmızı LED (3, IO.OUT) #GPIO 3 -> Çıkış IO.setup olarak yeşil LED (14, IO.IN) #GPIO 14 -> Giriş olarak IR sensörü
Şimdi nesne uzaktayken Yeşil LED'i kapatmalı ve Kırmızı LED'i açmalıyız. Bu, GPIO14 pinini kontrol ederek yapılabilir.
(IO.input (14) == True) ise: #nesne uzakta IO.output (2, True) # Red led ON IO.output (3, False) # Yeşil led KAPALI
Benzer şekilde, nesne yakındayken Yeşil LED'i açmalı ve Kırmızı LED'i kapatmalıyız.
(IO.input (14) == False) ise: #nesne IO.output'a yakın (3, Doğru) # Yeşil led ON IO.output (2, False) # Kırmızı led KAPALI
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:
Çalışma:
Python kodunuzu oluşturduktan sonra, run komutunu kullanarak çalıştırın. Program herhangi bir hata olmadan çalıştırılırsa aşağıdaki ekranı görmelisiniz.
Ayrıca, aşağıda gösterildiği gibi sensörün önünde hiçbir nesne olmadığında kırmızı renkli LED'in yükseldiğini görmelisiniz.
Şimdi, IR ledine yakın bir şey getirin ve kırmızı LED'in söndüğünü ve Yeşilin yandığını fark etmelisiniz. Tam çalışma aşağıda verilen videoda bulunabilir.
Umarım projeyi anladınız ve onunla faydalı bir şeyler inşa edebildiniz. Herhangi bir sorunuz varsa, bunları aşağıdaki yorum bölümünde veya forumda yayınlayın.