27 Aralık 2018 Perşembe

ORANGE PI VE GÖRÜNTÜ ÇIKIŞLARI - II

Orange Pi ve Görüntü Çıkışları - 2


Serimizin ikinci yazısında lcd ekranlara bakacağız. Bunun için Orange pi üretici firması olan Xunlong firması tarafından üretilen lcd ekranlar mevcut. Şuan için 5 inç ve 7 inç seçenekleri var. 


Her iki lcd yanında bir kart ile kullanılıyor. Lcd ile kullanılan kartı otg girişinden beslememiz gerekiyor. Daha sonrasında Orange pi kartı ile lcd kartı arasındaki bağlantıyı da hdm-hdmı kablo ile yapıyoruz.
















Burada 5 inç lcd ve Orange pi plus 2e modelini kullanıyorum. Bağlantılarını ve beslemelerini yaptıktan sonra ve "armbian xenial 5.65 desktop" imajını sd karta yazdıktan sonra Orange pi' yi çalıştırıyorum. 

İlk ön yüklemede bizden root için yeni şifre oluşturmamızı ardından yeni bir kullanıcı adı ve şifre oluşturmamız isteniyor. Tüm bu işlemlerden sonra başlangıç için ekran çözünürlüğünün varsayılan olarak "1280*720" olduğu belirtiliyor. Kullandığımız 5 inç lcd için Orange pi sitesinde verilen orange "640*480". Bu çözünürlük ayarını iki şekilde ayarlayabiliriz. script.bin ve h3disp. Her iki yöntemle de denedim fakat "1024*768" ve "1280*720" dışında bir çözünürlükte çalıştıramadım. Bu çözünürlük ayarlarında çalışıyor fakat hem ekran hem de yazılar net değil.





Yukarıda denediğim işletim sistemleri Armbian Xenial ve Ubuntu LXDE desktop. 

Ekran netliğin iyi olması için çözünürlüğün kullandığımız ekran için en uygun olanı olması gerekiyor. Fakat biz bu çözünürlük değerlerini(5 inç için 640*480) ayarladığımızda ekranda görüntü oluşmuyordu. 

script.bin dosyasını yapılandırarak pll_video değerlerini değiştirdim fakat bu sefer de ekranın arka rengi yeşil oldu ve kötü bir görüntü oluştu.


Bir sonraki aşamada son sürüm olan Ubuntu bionic'i kullandım. Şuan için bu sürüm masaüstü kurulumu hazır şekilde indirilmiyor. Terminal ekranında armbian-config ile kurulum yapmamız gerekiyor. Burada "install desktop with browser" ile yüklemeyi başlatacağız.



Kurulumu bu şekilde Putty ile bağlanarak terminal üzerinden yaptıktan sonra cihazı tekrar başlatıyoruz. Kurulumdan sonra armbian-config menüsü aşağıdaki şekilde olacaktır.



Ekran açıldığında settings=>display diyerek açılan ekrandan çözünürlüğü kolayca ayarlayabiliriz.
Denemelerime göre 5 inç lcd ekran "640*480" ve "800*600" gibi ekran çözünürlüklerinde çalışıp "1280*768" ekran çözünürlüğünde çalışmıyor. Bu yüzden başlangıçta ekran direk açılmayabilir. Böyle bir durumlar karşılaştığınızda herhangi bir monitör ile Orange pi'yi bağlayıp settings=>display sekmesinden "Configure new displays when connected" kutucuğunu işaretleyin. Daha sonra cihazı tekrar başlatın ve bu sırada lcd ekranı Orange pi'ye bağlayın.


 Önerildiği gibi "640*480" çözünürlükte ekrandaki yazılar net bir şekilde okunabilmektedir.


Ekran ayarlarını son sürümde bu şekilde kolayca yapabiliyoruz. Fakat eski çekirdekte yukarıda da gördüğünüz gibi ekran ayarlarını tam istenilen şekilde yapamıyoruz. Eğer eski çekirdek kullanıyorsanız en uygun ayarların nasıl yapılacağını dair araştırmalarım devam ediyor ve eğer kesin bir çözüm bulursam bunları da sizle paylaşmaktan mutluluk duyarım.

5 inç ekranı incelediğimizde göre 7 inç ekranla çalışmaya başlayalım. Yukarıda belirttiğim "Configure new displays when connected" kutucuğunu işaretlemiş iseniz 5 inç ekranı çıkarıp yerine 7 inç ekran çıkardığımızda ve kartı yeniden başlattığımızda ekran çözünürlüğü otomatik olarak 7 inç ekrana göre ayarlanacak.


7 inç lcd ve boardunun görüntüsü yukarıdaki gibidir.  

Ekran çözünürlüğü ayarlarına bakmak için settings => display yolunu izliyoruz.


Burada kırmızı kutucuk içine aldığım kısımda LTM 40" olduğunu görüyorsunuz. 5 inç ekranı bağladığımızda ise buranın LTM 32" yazdığını görürüz. Bu iki seçenek bulundukları lcd'yi tanımlar. 7 inç ekran ile en iyi görüntüyü "800*600" de aldım. Geri kalan seçenekleri de denedim fakat bir kısmında ekran çok titriyordu bir kısmında ise görüntü kayboluyordu.  

5 inç lcd, 7 inç lcd ve lcd'ler için kullanılan board'ların büyüklüğü hakkında bilgi sahibi olmak isterseniz alttaki fotoğrafa bakınız.



Bu yazıda asıl amacım Orange pi ile kullanılabilen ekranları incelemekti fakat elimde şuan dokunmatik ekran olmadığı için sadece 5 inç ve 7 inç ekranları inceledim fakat sonra bu yazıya eklemeler olacak. 

Ayrıca eski çekirdekte ekranların kullanımı istediğimiz gibi net değil. Bu konuyla alakalı da bir şeyler öğrenirsem buraya eklemeler yapacağım.

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.

Kaynakça






12 Aralık 2018 Çarşamba

ORANGE PI VE GÖRÜNTÜ ÇIKIŞLARI - I

Orange Pi ve Görüntü Çıkışları -1

Bu seride  Orange pi'den görüntü çıkışı almak istediğimizde, Orange pi bize ne gibi imkanlar sağlıyor bundan bahsedeceğim.


























Yukarıda Orange pi Pc Plus , Orange pi genişleme kartı ve Orange pi Win modellerindeki  görüntü çıkış yerlerini görüyoruz.  Bunlar HDMI, CVBS  ve LCD çıkışları.Bu çıkışların dışında pinleri kullanarak da dışarıya çıktı verebiliriz. I2C ile 2x16 LCD kullanabilir, I2C veya SPI ile bir OLED ekran kullanabiliriz. Bunların dışında SPI ile dokunmatik TFT ekran kullanabiliriz. Bunları sıra sıra inceleyeceğimiz bir yazı dizisi olacak.

HDMI çıkışı

İlk olarak HDMI çıkışına bakalım. Orange pi özelliklerine baktığımızda sırayla ;

- HDCP ile HDMI çıkışını destekler.

- HDMI-CEC' i destekler.

Peki bu ifadeler nedir?

HDCP, High Bandwith Digital Content Protection  harflerinin kısaltması olup "Yüksek Bant Genişliği Dijital İçerik Koruması" anlamına gelir. Bir aygıttan televizyonunuza gelen dijital telif hakkıyla korunan içeriği korumaktır.Örneğin Netflix'i izlemek için HDMI çıkışının HDCP desteklemesi gerekir.

CEC, Consumer Electronic Control harflerinin kısaltması olup "Tüketici elektroniği kontrolü" anlamına gelir. Bu özelliğe sahip çıkışlarda HDMI ile bağlantı sağladığımızda cihaz programlama ya da kurulum yapılmadan tek bir kumanda ile kontrol edilebilir. ekran dahil 10 farklı cihaz HDMI üzerinden kontrol edilebilir.

HDMI çıkışı yukarıdaki özelliklerle birlikte HDMI veya HDMI'dan dönüştüren(HDMI to VGA gibi) kablolarla bir ekrana bağlanıp görüntü elde edilebilir. HDMI ile görüntü alabileceğimiz çıkışlardan bahsedeceğim. 

HDMI kablo ve dönüştürme ile bağlantı


Bu tarz bir monitöre Orange pi'den aldığımız HDMI çıkış ile 3 farklı şekilde görüntü verebiliriz.

- HDMI-HDMI kablo



- HDMI to VGA kablo 




















- HDMI to DVI kablo



Bu kablolardan herhangi biri ile bağlantı yapıp görüntü alabiliriz. Bu bağlantıyı düzgün bir şekilde yapmanıza rağmen bazı durumlarda ekranda görüntü göremeyebilir veya sadece pembe bir görüntü görebilirsiniz.  Burada Orange pi'yi daha aktif kullanabilmek için bilmemiz gereken bir dosyaya değineceğiz. 

Script.bin dosyasındaki değerlerini ne anlama geldiğini bilmek lazım. Script.bin dosyası direk okunamıyor fakat bin2fex dönüşümü ile bu dosyayı fex formatına dönüştürüp herhangi bir metin editörü (örneğin nano) ile açıp düzenleyebiliriz. Burada bizim en büyük yardımcımız fex rehberi olacak.

Yine aynı şekilde böyle bir sorunla karşılaştığımızda kullanabileceğimiz bir yöntem daha var, h3disp kullanımı. Buna orange pi'de ekran çözünürlüğü yazısında değinmiştim fakat burada yeni eklemeler olduğu için burada bir kez daha değineceğiz.



Yukarıdaki fotoğrafta monitörün HDMI çıkışı olmadığı için HDMI to VGA dönüştürücü kullandık ve ortaya çıkan sonuç bu. Ekran pembe renk ve bu durumda ne yapabiliriz? Sadece yukarıdaki durum için değil "out of range" hatası veya hdmi kabloda sıkıntı olmamasına rağmen ekranda bir şey gözükmemesi gibi durumlarda ne yapabiliriz?

İlk olarak "script.bin" dosyasını yapılandırarak bu sorunu çözelim. 

cd /boot diyerek boot dizinine giriyoruz.

sudo cp script.bin script.bin.bak diyerek dosyamızı yedekliyoruz. İlk seferde bu şekilde yedeklemeniz önerilir.

sudo bin2fec script.bin script.fex diyerek dosyamızı fex formatına dönüştürüyoruz.

sudo nano script.fex diyerek dosyamızı açıyoruz.


Burada disp_init başlığı altına geldiğimizde bazı değerler olduğunu görüyoruz. Burada yararlanacağımız kaynak fex klavuzu. Bu klavuzda dosyadaki değerlerin ne anlama geldiklerini, ne gibi değerler verebildiğimizi görebiliyoruz. 


Kısaca şu anki ayarlarımızdan bahsetmek gerekirse çıkış tipi HDMI fakat çıkış çözünürlüğü 720*480. Bu değerleri kullandığınız monitör için ideal olan 1024*768 veya 1280*720 gibi seçeneklere ayarlayacağız. Eğer başlangıç için bunun nasıl yapılandıracağınızı bilmiyorsanız Orange pi sitesinde örnek yapılandırmalar mevcut.  Buradaki yapılandırmayı  kullanalım ve aynı zamanda bu ayarları da denemiş olalım.


Bu ayarlara bakacak olursak çıkış tipi HDMI. Çıkış çözünürlüğü mod 5 olarak ayarlanmış yani 1280*720. Bu ayarları yaptıktan sonra CRTL+X diyip yapılan değişikleri kaydediyoruz ve dosyadan çıkıyoruz.

sudo fex2bin script.fex script.bin diyerek dosyamızı tekrardan bin formatına dönüştürüyoruz.

Daha sonra cihazı "reboot" komutu ile Orange pi'yi tekrar başlatıyoruz.



Gördüğünüz gibi görüntümüz artık düzgün.

Aynı işlemi h3disp komutu ile yapalım.

H3disp komutunun kaynak dosyasına buradan bakabilirsiniz. H3disp komutu aslında bizim işlemleri tek komutla halletmemize olanak sağlar. Kullanacağını ekranın çözünürlüğüne uygun seçeneği bu komutla birlikte giriyoruz ve cihazı tekrar başlattığımızda bu ayarlar uygulanmış oluyor.



Temelde h3disp komutu da script.bin dosyasını yapılandırarak çalışır. Örneğin biz "sudo h3disp -m -32" dedik, 32 değeri yukarıdaki tabloya bakarsanız 1024*768 değerlerine denk geliyor. H3disp komutu da bu değerleri script.bin'e yazar. Bu sayede işiniz daha çabuk olur.

H3disp komutu ile kullanabileceğimiz yeni özellik ise framebuffer ayarlaması. Bu özellikle beraber script.bin dosyasına yazmaya gerek kalmadan işlemlerimizi halledebiliyoruz.



Ekstra olarak DVI kullandığımızda bunu da h3disp ile belirtmemiz gerekiyor. H3disp kullanım örneklerinde de gösterildiği gibi "h3disp -m 1080p60 -d" şeklinde belirtmemiz gerekiyor.

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.

Kaynakça


Ö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...