| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| СЕНЗОР ЗА РАЗПОЗНАВАНЕ НА ЦВЕТОВЕ TCS34725 http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=14882 |
Страница 1 от 1 |
| Автор: | martosound [ Съб Ное 05, 2016 9:47 pm ] |
| Заглавие: | СЕНЗОР ЗА РАЗПОЗНАВАНЕ НА ЦВЕТОВЕ TCS34725 |
Здравейте, Направих един уред за измерване на цветна температура на светлината със цифров сензор за цвят TCS34725 и Arduino UNO. Купих си платката на ADAFRUIT и допълнително само сензора TCS34725. Схемата е следната: ![]() Не използвам готовият софтуер на ADAFRUIT понеже те са ползвали като данни алгоритъма на AMS за TCS3414CS , а двата сензора имат различни параметри и резултатите са нереални. Направих друг алгоритъм с точните данни за TCS34725 и се получиха много добри резултати както за цветната температура, така и за осветеността в луксове. Резултатите за осветеността са идентични с моя луксмер MASTECH. Резултатите при измерване на цветната температура на светодиод с точно определен а CCT - 4150 К, както и на халогенни лампи също са точни. Gain:60x Time:614ms (0x0) Raw R:7739 G:8869 B:10309 C:20503 IR:3207 CRATIO:0.16 Sat:65535 Sat75:65535 CPL:118.84 Max lux:183.82 Compensated R:4532 G:5662 B:7102 C:17296 Illuminance:26Lux CCT:7362K Това са резултатите от серийния монитор на Ардуиното. Сега мисля да преправя нещата и да направя отделен уред само със процесор ATmega328P на основата на който е изградено Arduino UNO и един двуредов LCD с някакъв Li-ion акумулатор от телефон да речем, USB зарядно със MCP73831T-2ATI/OT и трансфертер със MCP1640 . Идеята ми е да стане самостоятелен уред без да има нужда от компютър за да работи като на дисплея ще се индицират единствено осветеността в Луксове и цветната температура в Келвини. Ако някой прояви желание ще му пратя софтуера с удоволствие. Въпросът ми е някой занимавал ли се е с тези цифрови сензори за разпознаване на цветове на AMS да обменим опит? |
|
| Автор: | Н'бабане Гт'муан'га [ Съб Ное 05, 2016 10:45 pm ] |
| Заглавие: | Re: СЕНЗОР ЗА РАЗПОЗНАВАНЕ НА ЦВЕТОВЕ TCS34725 |
Аз миналата година интензивно работих известно време с тях. С микромайт цялата работа става за няколко минути и няколко реда. Мога да ти пратя код |
|
| Автор: | martosound [ Съб Ное 05, 2016 11:58 pm ] |
| Заглавие: | Re: СЕНЗОР ЗА РАЗПОЗНАВАНЕ НА ЦВЕТОВЕ TCS34725 |
Аз не съм запознат с Микромайт и току що го разглеждам и изглежда доста интересно. Нямам PICKIT 3 програматор за да мога да записвам 32 серия. Ползвам други програматори за Пикове, но те не поддържат 32 серия. Аз отдавна се каня на PICKIT 3 и сега тъкмо мога да си намеря повод да си купя такъв. Ако ми пратиш код все пак ще извлека някаква полза дори и да не го направя по този начин. При мен се получават различни показания на цветната температура при промяна на осветеността. Варира при едни и същи светодиоди между 4800 и 5300 Келвина с около 10 процента при промяната на положението на сензора спрямо лампата. При теб има ли го този проблем? |
|
| Автор: | Н'бабане Гт'муан'га [ Нед Ное 06, 2016 11:01 am ] |
| Заглавие: | Re: СЕНЗОР ЗА РАЗПОЗНАВАНЕ НА ЦВЕТОВЕ TCS34725 |
Няма проблем. Ето ти код за него: const TCSaddr = &H39 ' TCS3490x or TCS3472x light sensor I2C address I2C open 200, 150 ' open the I2C bus (200kbps, 150ms timeout) ' initialisation I2C write TCSaddr, 0, 2, &H80, &H01 ' set ENABLE_PON pause 5 I2C write TCSaddr, 0, 2, &He7, &Hff ' send "Clear All Interrupt Flags" command pause 1 I2C write TCSaddr, 0, 2, &H80, &H03 ' set ENABLE_PON and ENABLE_AEN pause 1 I2C write TCSaddr, 0, 2, &H81, 84 ' set integration time 478.16ms pause 1 I2C write TCSaddr, 0, 2, &H8f, 0 ' set gain 1 pause 5 dim integer t, d(8) do I2C write TCSaddr, 1, 1, &H94 ' send command "Read Clear Channel Data" pause 0.25 I2C read TCSaddr, 0, 8, d() ' read all colour registers for t=0 to 7 print hex$(d(t),2); next pause 1000 ' should be no less than the sensor integration time loop Нормално е да ти се променя изхода при промяна на положението. Не си спомням в момента, но самия сензор имаше някакъв малък ъгъл на реакция и реално погледнато реагира на точка а не на обкръжаваща светлина. Така че като го мърдаш той всъщност "вижда" различни точки които са с различна осветеност и цвят. В идеалния случай сензорът трябва да бъде на 90 градуса ъгъл спрямо каквото мериш и да го вижда през тръбичка. Така ще изолираш смущенията. |
|
| Автор: | martosound [ Нед Ное 06, 2016 2:00 pm ] |
| Заглавие: | Re: СЕНЗОР ЗА РАЗПОЗНАВАНЕ НА ЦВЕТОВЕ TCS34725 |
Благодаря за кода. Ще го разгледам за да видя с какво може да ми помогне. Супер много съм доволен дето ми подсказа за ъгълът на реакция на сензора, защото аз си мислех, че проблемът е софтуерен. Сега вече ще се насоча към оптиката. Характеристиката на сензора е следната: ![]() Явно заради това на платката на GROVE със TCS3414, който има същата ъглова характеристика като TCS34725 са решили този проблем с основата на оптика от малка охранителна камерка. ![]() Имам някъде една неработеща камера и ако успея да я намеря ще пробвам този вариант. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|