20 Haziran 2018 Çarşamba

ORANGE PI C++ PIN KONTROLU

C++  Komut satırından Pin Kontrolü

Bu yazımızda Orange Pi' de WiringOP kütüphanesini kullanarak giriş pin değerlerini okuyacağız ve  çıkış olarak ayarladığımız pinlere ise değer vereceğiz. 

Orange pi pinlerini analog giriş olarak kullanmak için MCP3208 gibi bir entegreye ihtiyacımız var. Diğer türlü Orange pi pinlerinden analog değer okuyamıyoruz. MCP3208 ile ilgili de ilerleye zamanlarda bir yazı paylaşacağım.

Slide switch
Bir sonraki yazımızda  inceleyeceğimiz buton ile led kontrolü uygulamasında  kullanacağımız slide switch e bakalım ve switch konumunu okuyalım.

Slide swich pin bacak bağlantıları


Anahtarın 3 bacağını yukarıdaki gibi bağladıktan sonra nasıl  bir konumda olacağına aşağıdaki resimlerden bakalım.

ON Durumu

OFF Durumu




ON durumunda iken gördüğünüz gibi Vcc' nin önünde iki yol var. Üst yolu kullanarak yoluna devam eder ve inputa(Orange pi giriş pini) bağlanır. Burada giriş pini HIGH yani 1 lojik değerini gösterir. Direnç üzerindeki gerilime bakacak olursanız da sıfırı gösterecektir.

OFF durumunda ise Vcc direnç üzerinden geçerek GND' ye ulaşır. Dolayısıyla input pini 0 lojik değerini gösterir. Direnç üzerindeki gerilime bakacak olursanız 3.3 V değerini göreceksiniz.

Peki burada direnç kullanmasak olur mu? Bu örnekte direnç kullanmasak da aynı sonucu alırdık fakat mikrodenetleyicinin switch ara konumda iken zarar görme ihitmaline karşılık burada yaklaşık 10 kohm  değerinde bir direnç kullanıyoruz.

Komut Satırından Pin Kontrolü

Komut satırında yazdığımız komutlarla birlikte bir C dosyası oluşturmadan led yakabilir veya buton, switch konumuna bakabilirsiniz.

gpio mode pin_no(wpi) output/input  => Belirtilen pini giriş veya çıkış pini yapar.

gpio read pin_no(wpi) => Belirtilen pinin lojik değerini okur.

gpio write pin_no(wpi) 0/1 => Belirtilen pine lojik bir değer verir.

Şimdi öğrendiklerimize örnekler üzerinden bakalım. Örneğim gpio 1 pinini(12. fiziksel pin) lede bağlayalım, gpio 7 pinini(7. fiziksel pin) switch bağlayalım. Led pinini çıkış , switch pinini de giriş yapalım.

gpio mode 1 output

gpio mode 7 input

Ledi yakmak istiyorsak;

gpio write 1 1 => led yanar

Switch konumunu öğrenmek istiyorsak;

gpio read 1 komutlarını yazarız.

Size wiringOP kütüphanesini ilk kurduğumuzda bir komuttan bahsetmiştim, gpio readall. Pinler üzerinde bir takım değişiklikler yaptıysanız , örneğin pini giriş olarak ayarladınızveya bir pini çıkış olarak ayarladınız daha sonra  ledi bağladınız ve o pine 1 atadınız fakat led yanmadı. O pinin son durumunu görmek için gpio readall komutunu kullanarak o an pinlerin durumunu görebiliriz.



Burada butonumuz ON konumunda  olsun ve 4. gpio portunu da 1 yapalım. Görüldüğü gibi 7. pinin giriş 1'inci ,  2.  ve 5. pinlerin çıkış olduğunu görebiliyoruz ve aynı zamanda 4. ve 7. pinlerdeki değerini 1 , 1. ve 5. pinlerdeki değerlerin 0 olduğunu görebiliyoruz.


Okuduğunuz için teşekkür ederim. Aklınıza takılan bir soru veya karşılaştığınız bir sorun olduğunda yorumlarda belirtebilirsiniz. Burada eksik olarak anlattığımı düşündüğünüz veya sizlerin gerekli olarak gördüğünüz bilgileri yine yorumlarda yazarsanız, bundan herkesin faydalanmasını sağlamış olursunuz. Herkese iyi çalışmalar.



Hiç yorum yok:

Yorum Gönder

Öne Çıkan Yayın

ORANGE PI PYTHON UART

ORANGE PI PYTHON UART Python kurulum  yazısında Orange pi'de Python konusuna giriş yapmıştık. Daha sonra  Python Gpio  yazısında gir...