Citirea unui senzor RGB TCS3472 și afișarea culorii într-o pagină web
Dispozitivul TCS3472 pe care l-am testat azi, oferă detectare digitală a valorilor luminii roșii, verzi și albastre (RGB).
Un filtru de blocare IR, integrat pe cip și localizat pe fotodiodele de detectare a culorii, minimizează componenta spectrală IR a luminii care intră și permite măsurătorilor de culoare să fie efectuate cu precizie.
Sensibilitate ridicată, gama largă dinamică și filtrul de blocare IR fac din TCS3472 o soluție ideală de senzor de culoare pentru utilizare în condiții variate de iluminare dar poate fi folosit și prin materiale de atenuare , cum ar fi sticla colorata sau de transparență diferită.
Datele detectate de senzor sunt transferate prin intermediul I2C către ESP32.
Dar din păcate valorile returnate de acest senzor sunt pe 16 biți, iar aceste valori nu se pot folosi direct pe o pagină web. A fost nevoie de normalizarea valorile RGB, apoi conversia pe 8 biți, și de a amplifica diferența dintre valorile culorilor (vezi funcția GetRGB888_format).
Pe lângă citirea culorilor am implementat și un webserver care returnează codul html, care afișează culorile citite.
Componente
- Modul senzor de culoare, TCS3472
- ESP32 Development Board WiFi+bluetooth ULPower Consumption Dual Cores
- 10 x Fire Dupont mama-mama 10cm
Schema electronică/sistem
Conexiunile senzorului le-am realizat conform cu schema de mai jos:
- VIN -> 5 V ESP32
- GND -> GND ESP32
- SCL -> D22
- SDA -> D21
Rezultat
Mai jos am testat culorile de bază roșu, verde și albastru. Se poate observa în pozele de mai jos și afișarea culorilor în pagina web returnată de severul web implementat pe ESP32.
Citirea culorii roșii
Citirea culorii verzi
Citirea culorii albastre
Valorile RGB pe serial
Valorile le-am afișat și pe serial după cum se poate observa în screen-shotul mai jos.
Cod de test
Documentație proiect
- https://create.arduino.cc/projecthub/LithiumION/tcs3472-color-sensor-and-lux-measurement-108557?ref=part&ref_id=11332&offset=18
- http://www.esp32learning.com/code/esp32-and-tcs34725-color-sensor.php
- https://electropeak.com/learn/interfacing-tcs34725-color-sensor-with-arduino/
- https://docs.nanoframework.net/devicesdetails/Tcs3472x/README.html
- https://randomnerdtutorials.com/esp32-web-server-arduino-ide/
- https://cdn-shop.adafruit.com/datasheets/TCS34725.pdf
- https://espeasy.readthedocs.io/en/latest/Plugin/P050.html
- https://lygte-info.dk/project/ColorSensorTCS34725Library%20UK.html
Alte mini proiecte interesante
Afiliere eMag:
Linkurile de la secțiunea "Componente" conțin adresa mea de afiliere la eMag.ro, iar dacă cumperi folosind aceste linkuri vei susține blogul meu. Mulțumesc!eMag Genius:
Hai și tu în Genius! Abonează-te la Genius 12 luni și primești beneficii premium și 20 lei card cadou eMAG. Profită acum! eMag Genius