Микроконтролери и електроника
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
    print
    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/