TCS3200 Renk Ölçüm Sensörü Kullanımı Hakkında

Başlatan XX_CİHAN_XX, 07 Nisan 2013, 12:31:09

XX_CİHAN_XX

Bu sensörü daha önce kullanan olduysa sensörün non-lineer çıkışını nasıl değerlendirdiklerini merak ediyorum?

Sensörü çalıştırdım ve grafikte gözüken R-G-B ve Filtresiz çıkış değerlerini elde ettim.
Fakat bu değerlere bakarak hangi rengi ölçtüğümü nasıl anlayacağımı bulamadım.

Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

Analyzer

Selam,

Sensörü kullanmadım ancak tablo ve enterpolasyon yapmanız gerektiğini düşünüyorum. Gerçi hazır yapılmış tablolar vardır ancak hiç bir kaynak bulunamaz ise, ufak bir program yazıp; sensörün önüne RGB led koyarsanız ve her rengi pwm ile tonlayıp tablo oluşturursanız sensörü başarılı şekilde okuyabileceğinizi düşünüyorum.

Analyzer
Üşeniyorum, öyleyse yarın!

XX_CİHAN_XX

Selam hocam,

İlk aklıma gelen bahsettiğiniz tablo yöntemiydi nette de baya aradım fakat bulamadım. RGB ledi pwm ile değiştirip ölçüm alma fikri hoşuma gitti ama 16 milyon renk için 3x255 tane veri barındıran bir tablo yapmak gerçekten kolay değil.
Niyetim en azından birkaç milyon renge kadar ölçüm yapabilen bir şey yapmak. Her renk için 8 bit R,G,B değerini  elde edebilmek. Tablo dan başka bir şekilde mümkün olabilir mi sizce? Bu grafiği bir şekilde formulize etmek mümkün değil midir?
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

superconductor

Bu tür lineerizasyon işlerini curve expert pro ile yapıyorum.Grafiği çiziyorsunuz size polinomunu çıkarıyor.Polinomu direk kullanabilirsiniz.Yada bu polinoma istediğiniz kadar örnek vererek tabloda oluşturabilirsiniz.

mehmet

www.berik.net adresinde bir örnek var.
Ben denemedim. Renk sensör farklı.
Örnek olur umarım...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

Analyzer

Selam,

Grafiğe göre fonksiyonunu çıkaran program var mı bilmiyorum ancak böyle bir grafik için detaylı bir fonksiyon gerekebilir diye düşünüyorum. 8 bit size yeterli geliyorsa 3x255 oluşturmak aslında çok da uzun olmayabilir. Sensörü incelemeye üşendim :) Sensör her bir renk için tek tek çıkış mı veriyor? Eğer öyleyse pwm ile oluşturulan renk tablosu işe yarayabilir. Şöyle yapalım, sensörü ne için kullanmayı düşünüyorsunuz? Ona göre bir fikir yürütelim.

Analyzer
Üşeniyorum, öyleyse yarın!

XX_CİHAN_XX

#6
Alıntı yapılan: Analyzer - 07 Nisan 2013, 22:21:10
Selam,

Grafiğe göre fonksiyonunu çıkaran program var mı bilmiyorum ancak böyle bir grafik için detaylı bir fonksiyon gerekebilir diye düşünüyorum. 8 bit size yeterli geliyorsa 3x255 oluşturmak aslında çok da uzun olmayabilir. Sensörü incelemeye üşendim :) Sensör her bir renk için tek tek çıkış mı veriyor? Eğer öyleyse pwm ile oluşturulan renk tablosu işe yarayabilir. Şöyle yapalım, sensörü ne için kullanmayı düşünüyorsunuz? Ona göre bir fikir yürütelim.

Analyzer

Hocam 8 bit çözünürlük işimi görüyor. Sadece muhtelif yerlerde kullanmak üzere genel amaçlı renk ölçüm cihazı yapmak istiyorum.
Sensör kullanımı oldukça basit çok kısaca yapısını anlataym.
Sensörde Kırmızı, yeşil ve mavi olmak üzere üç tane filtreli ve bir tanede filtresiz (her renge duyarlı) olmak üzere 4 adet foto diyot bölgesi bulunmaktadır. 2 bit ile bu 4 fotodiyot bölgesi anahtarlanıyor(seçiliyor)
Seçilen foto diyot bölgesinin üzerine düşen ışığın rengine göre sensör frekans çıkışı veriyor.
Yani bu sensör %50 duty cycle ile renge göre değişen bir frekans veriyor. Ben bu frekansı ölçerek renk tespiti yapacağım.
Sensörden çıkan sinyalin periyodunu timer kullanarak çok rahat bir şekilde ölçüyorum.
Her renk için sensör üzerindeki 4 foto diyot bölgesinden 4 ayrı frekans ölçümü alıp değerlendiriyorum.
Örneğin; R:255, G:0, B:0 yani tam kırmızı renk için şu ölçümleri aldım sensörden:
Kırmızı filtreli Foto diyot bölgesinden çıkan frekans: 57,97KHz
Yeşil filtreli Foto diyot bölgesinden çıkan frekans: 20,35KHz
Mavi filtreli Foto diyot bölgesinden çıkan frekans: 27,30KHz
Filtresiz Foto diyot bölgesinden çıkan frekans: 100KHz

Sensörün datasheet inde aslında bir takım yüzdeler vermiş ancak sensörden çıkan frekans değerleri nedense aşağıdaki yüzdelerle örtüşmedi.



mesaj birleştirme:: 07 Nisan 2013, 23:14:56

@mehmet hocam,
Bahsettiğiniz http://www.berik.net/0517tcs230.php adresinde sensörü anlatmış. Benzer bir sensör ama faydalanamadım çünkü orada yöntemi anlatmamış. Kabaca frekansı 0-255 arası 8 bite oranlarız demiş geçmiş nasıl oranladığından bahsetmemiş yada kod vermemiş.

mesaj birleştirme:: 07 Nisan 2013, 23:28:17

Ek olarak sensör gelen ışığın yansıma şiddetine göre de frekansını az da olsa değiştiriyor.
Parlak a4 kağıdına aldığım renk çıktısı üzerinden ölçüm yapıyorum
ardından normal a4 kağıdına aldığım çıktı üzerinden ölçüm yapıyorum.
Parlak olan kağıttaki renklerden ölçtüğüm frekans değeri ötekinden biraz daha yüksek oluyor.
Yani 3x255 tane ölçüm alırken referansım ne olmalı nasıl bir tölerans girmeliyim bunlar da belirsiz oluyor.
Birazda o yüzden çekindim tablo çıkarmaktan.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

Analyzer

Selam,

Tablodan anladığım kadarıyla clear olan kanal burada anahtar rolünde. Sizin de fark ettiğiniz üzere ışık akısı değiştiğinde frekans da değişiyor. Yani ölçüm yapmadan önce clear kanalından bir frekans almalı; ardından her bir kanalın frekansı, bu değerle modifiye edilmeli ve tablodan okunmalı diye düşünüyorum. Ancak şu aklıma geliyor. Bu sensörün tekrar edebilme yeteneği nasıl? Yani sabit ışık akısında, sabit ışık renginde hep aynı frekans değerini mi veriyor? Eğer böyle ise ışık akısı clear kanaldan okunup, renk kanallarının frekansı yorumlanabilir. Zaten şu da var. Örneğin kırmızı led'i 1 cm uzaklıktan dik şekilde göstermek ile 10 cm uzaktan açılı gösterme arasında "ışık akısı" bakımından fark olur. Belli bir akı değerinin altına düşerse de, o durum sensör için "karanlık" olacaktır. O halde önce şuna bakmak lazım. Tüm ledleri kullanarak 8 bit pwm ile clear kanalın parlaklık tablosunu oluşturun. Ardından RGB led ile renkleri oluşturun. Aradaki koralasyon muhtemelen "katsayı" şeklinde olacağını düşünüyorum. Parlaklık ile renklerin frekansına ekleyip çıkarıp tablo oluşturabileceğinizi düşünüyorum.

Anayzer
Üşeniyorum, öyleyse yarın!

XX_CİHAN_XX

#8
Hocam 10 temel renk ile ilgili frekans ölçümleri aldım.
Bahsettiğiniz türden bir katsayı aradım ama tam olarak her renk için uygun bir katsayı mantığı oturtamadım renkler arasında.
Ölçümlerim şu şekilde;


Bu arada frekans kararlılığı var yani aynı ortamda aynı renk için hep aynı frekanslar çıkıyor.
Burada işin içinden çıkamadığım nokta şu;
Örneğin R:255 konumu için çıkan frekans değeri sadce R değerine bağlı değil diğer renklerin kombinasyonuna göre hep değişmiş.
Bir başka değişle aslında dediğiniz gibi Clear değerine göre hep değişmiş ama Clear/red katsayısı atıyorum RED in her 255 olduğu konumda aynı olması gerekirdi ama aynı değil diğer renklerde sanki birbirine belirli yüzdelerle etki ediyor.  :o

mesaj birleştirme:: 08 Nisan 2013, 02:51:01

Bu arada her ölçümde R,G ve B frekans değerlerinin toplamının 'yaklaşık eşit' Clear frekansına eşit olduğu görülmekte. Yani Clear gerçekten de ölçülen toplam ışık yoğunluğunu yansıtıyor.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

Erhan YILMAZ

Bende benzeri olan tcs230 ile bir uygulama yapmıştım. Sensör çevresini ışıktan iyi izole etmek gerekiyor. Deodorant şişesinin kapağıyla yalıtıp onlu el işi kağıtlarından alıp hepsini değerlerini tanıtmışım. O şekilde okutmayı sağlamıştım onun dışındaki renkler tanımsız dı. Birde aynı renkte olsa parlak yüzeylerde w değeri yani filtresiz değeri yüksek çıkıyordu yanlış hatırlamıyorsam. Ona da dikkat etmek lazım. Resimde lcd de görülen değerle 10ms de gelen puls değerleridir.


XX_CİHAN_XX

Güzel uygulama olmuş hocam bende şöyle bir modül kullanıyorum hazır

Etrafı kapalı olduğu için direk kullanıyorum ama siz deodorant kapağı kullanmışsınız ancak hiç bir ışık olmayan bir ortamda ölçüm albilmesine şaşırdım.
Birde ben tüm renkleri ölçmek istiyorum hepsini tanımlamak baya zor olacak gibi   :(
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

Erhan YILMAZ

Yok hocam ışıksız olur mu.:) Bende benzer bir modül kullanmıştım üzerinde 4 adet led vardı. Fakat ortam ışığından çok etkilendiği için kapağın içine monte ettim sensörü bu sayede ortamın ışık seviyesi  ve nesne ile sensör arasında ki mesafe sabit kalıyor. Açıkta iken değerler çok değişken oluyordu. Öncelikle sağlıklı bir ölçüm düzeneği kurmak lazım. Sonrasında tabloma, enterpolasyon v.s. yöntemler uygulanabilir.

ens_azl

hocam kolay gelsin bu devrenin kodunu alma imkanımız var mı acaba

serter

umarım görürsün mesajı :)
bende bu sensörle uğraşmaya karar verdimde renk aralıkları konusunda sıkıntı çekiyorum nasıl bulabilirim renk aralıklarını

universitelim54

Hocam renk sensörün çıkısındakı frekansı nasıl hesap ettınız.Bununla ılgılı kodu paylasırmısınız.frekans metre ıcın bu kodları arastırıyorum


Saygılarımla