Renk Sensörü İle Para Algılama

Başlatan DemirciMertcan, 27 Şubat 2018, 17:24:18

DemirciMertcan

Merhaba arkadaşlar proje ödevim renk sensörü ile kağıt paranın miktarı algılanıp lcd ekranda gösterilecek nasıl başlamalıyım nasıl bir yol izlemeliyim yardımcı olabilir misiniz?

ziyaretci

Daha önce hiç renk sensörü kullanmadım. Şimdi biraz araştırdığım kadarıyla şunları söyleyebilirim. 4 tane kontrol girişi ve 1 çıkış pini bulunmakta(TCS3200 için). Bu kontrol bacakları lojik bazda kontrol ediliyor. Yani 0-5 VDC.  İki girişi; çıkış oranı ayarı, diğer iki girişi ise renk seçimi girişi. Out ucu yani çıkış ucundan ise frekans çıktısı alıyorsunuz.


Bir uygulamada çıkış oranı %2 seçilmiş yani 10 ila 12 kHz arası. Yani siz renk seçim uçlarından kırmızıyı seçtiğimizde out ucundan 10 ila 12 kHz 'lık bir frekans çıktısı alacaksınız veya diğer renkler içinde. Galiba 3 renk için 2 kHz lık bir bandınız olacak. Sonra her renk için ölçtüğünüz frekans bilgisini orantı kurarak 8 bitlik renk koduna dönüştüreceksiniz. Bu yapacaklarınız algoritma mahiyetinde. Tabi %2 seçilmesinin nedeni denetleyicinin donanımsal sayaç kapasitesi yeteneğiyle alakalı tam olarak. İlgili renk sensörünün datasheet'ini inceleyebilirsiniz.


http://www.produktinfo.conrad.com/datenblaetter/175000-199999/178409-da-01-en-FARBSENSOR_TCS3200D_TCS230D_SOIC8.pdf


Şimdi gelelim para yüzeyini okumaya. Step motor geldi ilk aklıma. 2 eksenli, vidalı milli bir platform kurarsın. Adım adım parayı tarattırıp ilk eeproma renkleri yüklersin, koordinat bilgilerin eeprom adresin olur. Daha sonra para tanıma için RAM bellek kullanırsın karşılaştırma için. Tabi tam tanıma için tolerans oluşturman gerekebilir.


Buraya kadar yazdıktan sonra sorunu tekrar okudum. Bu çok kapsamlı geldi. Tekrar düşündüm senden ne isteyebilirler diye. Senden basit olanı ister hocaların. Yani her paranın ucunda köşesinde bir yerde sabit bir renk vardır. Sen o renkleri tanıtıp para miktarını kaydedersin. Sonra o renklere tutarak sensörü, miktarı toplayıp LCD 'ye sayısal olarak gönderirsin.

Benim kafa başta komple tarattırmaya gitti. Step motoru unut. Senden daha basit olanı isterler diye düşünüyorum.

DemirciMertcan

Alıntı yapılan: erkantr67 - 04 Mart 2018, 15:53:10
Daha önce hiç renk sensörü kullanmadım. Şimdi biraz araştırdığım kadarıyla şunları söyleyebilirim. 4 tane kontrol girişi ve 1 çıkış pini bulunmakta(TCS3200 için). Bu kontrol bacakları lojik bazda kontrol ediliyor. Yani 0-5 VDC.  İki girişi; çıkış oranı ayarı, diğer iki girişi ise renk seçimi girişi. Out ucu yani çıkış ucundan ise frekans çıktısı alıyorsunuz.


Bir uygulamada çıkış oranı %2 seçilmiş yani 10 ila 12 kHz arası. Yani siz renk seçim uçlarından kırmızıyı seçtiğimizde out ucundan 10 ila 12 kHz 'lık bir frekans çıktısı alacaksınız veya diğer renkler içinde. Galiba 3 renk için 2 kHz lık bir bandınız olacak. Sonra her renk için ölçtüğünüz frekans bilgisini orantı kurarak 8 bitlik renk koduna dönüştüreceksiniz. Bu yapacaklarınız algoritma mahiyetinde. Tabi %2 seçilmesinin nedeni denetleyicinin donanımsal sayaç kapasitesi yeteneğiyle alakalı tam olarak. İlgili renk sensörünün datasheet'ini inceleyebilirsiniz.


http://www.produktinfo.conrad.com/datenblaetter/175000-199999/178409-da-01-en-FARBSENSOR_TCS3200D_TCS230D_SOIC8.pdf


Şimdi gelelim para yüzeyini okumaya. Step motor geldi ilk aklıma. 2 eksenli, vidalı milli bir platform kurarsın. Adım adım parayı tarattırıp ilk eeproma renkleri yüklersin, koordinat bilgilerin eeprom adresin olur. Daha sonra para tanıma için RAM bellek kullanırsın karşılaştırma için. Tabi tam tanıma için tolerans oluşturman gerekebilir.


Buraya kadar yazdıktan sonra sorunu tekrar okudum. Bu çok kapsamlı geldi. Tekrar düşündüm senden ne isteyebilirler diye. Senden basit olanı ister hocaların. Yani her paranın ucunda köşesinde bir yerde sabit bir renk vardır. Sen o renkleri tanıtıp para miktarını kaydedersin. Sonra o renklere tutarak sensörü, miktarı toplayıp LCD 'ye sayısal olarak gönderirsin.

Benim kafa başta komple tarattırmaya gitti. Step motoru unut. Senden daha basit olanı isterler diye düşünüyorum.
Öncelikle ilginiz için çok teşekkür ederim ve aynen sadece renk basitce algılanıp lcd ekranda sayı olarak gösterilecek(kırmızı 10tl) gibi sensörün okunması hakkında daha detaylı bilgi verebilir misiniz proteusta bu sensörün simülasyon dosyası yok sanırım simülasyon yapmam pek mümkün değil galiba adc kullanarak mı ölçüm yapacağım?

ziyaretci

#3
Hayır, donanımsal 16 bitlik sayıcı ile frekans ölçümü yapacaksın. Deneyimin olmadığı için pek detaya inemiyorum ama biraz daha açabilirim.


Şimdi %2 oranı iki giriş pininden sabit olarak verdik. Artık karşılığı 1-0, 0-1 veya 0-0 mı datasheette yazıyor. Burayı bir daha ellemeyeceksin.


Sonra sensörü referans amaçlı örneğin kırmızı renge([R]GB) tuttun ve diğer iki lojik girişinden de kırmızı olarak giriş verdin. Bu durumda 10-12 kHz arasında bir frekans ölçeceksin sabit olarak. Diyelimli 10500Hz ölçtün. Detayını tam bilmiyorum ama sen deney yaparak gözlemlersin oranı. Buradaki 500Hz 'i 0-255 arasında oranlayacaksın. Basit bir oran orantı ile. Ben rastgele düşen bazda bir örnek verdim. Farklı olabilir. Veya renk çıktısı vermeyeceksen ledler ile oranlamanada gerek yok. İlgili frekans aralığını ve diğer yeşil ve mavi renk frekanslarını kaydedersin. Ona göre para miktarına atama yaparsın.


Youtube'a renk sensörünün modelini yaz, uygulamayı yapanlardan daha net bilgiler öğrenirsin, bunun dışında arama motorlarına da TCS3200 C or CCSC application yaz. Birşeyler çıkar elbet.

DemirciMertcan

Alıntı yapılan: erkantr67 - 06 Mart 2018, 00:47:36
Hayır, donanımsal 16 bitlik sayıcı ile frekans ölçümü yapacaksın. Deneyimin olmadığı için pek detaya inemiyorum ama biraz daha açabilirim.


Şimdi %2 oranı iki giriş pininden sabit olarak verdik. Artık karşılığı 1-0, 0-1 veya 0-0 mı datasheette yazıyor. Burayı bir daha ellemeyeceksin.


Sonra sensörü referans amaçlı örneğin kırmızı renge([R]GB) tuttun ve diğer iki lojik girişinden de kırmızı olarak giriş verdin. Bu durumda 10-12 kHz arasında bir frekans ölçeceksin sabit olarak. Diyelimli 10500Hz ölçtün. Detayını tam bilmiyorum ama sen deney yaparak gözlemlersin oranı. Buradaki 500Hz 'i 0-255 arasında oranlayacaksın. Basit bir oran orantı ile. Ben rastgele düşen bazda bir örnek verdim. Farklı olabilir. Veya renk çıktısı vermeyeceksen ledler ile oranlamanada gerek yok. İlgili frekans aralığını ve diğer yeşil ve mavi renk frekanslarını kaydedersin. Ona göre para miktarına atama yaparsın.


Youtube'a renk sensörünün modelini yaz, uygulamayı yapanlardan daha net bilgiler öğrenirsin, bunun dışında arama motorlarına da TCS3200 C or CCSC application yaz. Birşeyler çıkar elbet.
sensörün out ucunu pice bağlayıp picten mi frekans çıkışı almam gerekiyor çıkışı nasıl kullanacağım onu anlayamadım s uçlarının high low olayını çok net bir şekilde anlattınız teşekkür ederim ama ondan sonraki kısım hala karışık

ziyaretci

Sensörün out ucunu pic'e bağlayacaksın. Yani PIC 'in donanımsal sayaç ucuna. Devre bu haldeyken sadece 2 bitlik renk seçim uçlarını değiştirerek, PIC'in sayaç donanımından frekans ölçeceksin. Dijital bir değer.

DemirciMertcan

Alıntı yapılan: erkantr67 - 06 Mart 2018, 10:58:32
Sensörün out ucunu pic'e bağlayacaksın. Yani PIC 'in donanımsal sayaç ucuna. Devre bu haldeyken sadece 2 bitlik renk seçim uçlarını değiştirerek, PIC'in sayaç donanımından frekans ölçeceksin. Dijital bir değer.
Çok teşekkür ederim en azından başlangıç için kafamda bir yol oluştu

dilaver1998

Alıntı yapılan: DemirciMertcan - 06 Mart 2018, 12:49:09Çok teşekkür ederim en azından başlangıç için kafamda bir yol oluştu

hocam projende ilerleme kat edebildin mi, ettiyse bizimle de paylaşır mısın?