Hoe RGB-kleuren te meten met Arduino en de TCS34725-sensor

  • De TCS34725-sensor meet RGB-kleuren met hoge precisie.
  • Maakt gebruik van een infraroodfilter om lichtinterferentie te elimineren.
  • Het communiceert met Arduino via het I2C-protocol.

TCS34725-sensor met Arduino

De TCS34725-sensor is een zeer handig hulpmiddel voor elektronicaprojecten waarbij u kleuren nauwkeurig moet meten. Als je met Arduino werkt en geïnteresseerd bent in kleurdetectie, is dit apparaat een geweldige optie. Het wordt veel gebruikt om kleuren te ontleden in hun RGB-componenten (rood, groen en blauw) en nauwkeurige metingen te verkrijgen. De sensor heeft ook het voordeel dat hij een I2C-communicatie-interface heeft, wat de integratie en metingen ervan vergemakkelijkt.

In dit artikel gaan we uitgebreid onderzoeken hoe de TCS34725 kleurensensor werkt en hoe je deze eenvoudig in Arduino-projecten kunt gebruiken.

Wat is de TCS34725-sensor? Het is een optisch apparaat dat het lezen van kleuren in RGB-formaat vergemakkelijkt. Het is een zeer nauwkeurige en moderne sensor, die andere oudere modellen zoals de TCS3200 overtreft. De TCS34725 heeft een fotodiode-array met filters voor de drie basiskleuren (rood, groen en blauw), plus een filterloze ("heldere") fotodiode die de totale hoeveelheid invallend licht meet.

De sensor valt op door de integratie van een infraroodfilter, wat de nauwkeurigheid verbetert in omgevingen met veel lichtinterferentie. Het is ook behoorlijk aanpasbaar, omdat we via software parameters zoals integratietijd en winst kunnen aanpassen. Dit apparaat is gevoelig genoeg om te werken bij weinig licht, zelfs met een beschermglas tussen de sensor en het object dat we meten.

Voor gebruiksgemak wordt de TCS34725-sensor doorgaans geïntegreerd in commerciële modules die een LED met neutrale verlichting bevatten. De LED kan eenvoudig worden aangestuurd vanuit Arduino en kan worden aangepast aan de behoeften van het project.

Kenmerken en voordelen van de TCS34725

De TCS34725 onderscheidt zich van andere RGB-sensoren op de markt vanwege een aantal belangrijke kenmerken. U kunt bijvoorbeeld de versterking en de belichtingstijd aanpassen voor nauwkeurigere metingen. Hieronder laten we enkele van de belangrijkste voordelen zien:

  • Infraroodfilter: Dit zorgt voor nauwkeurigere metingen door een groot deel van de ruis te elimineren die wordt veroorzaakt door niet-zichtbare lichtbronnen, zoals direct zonlicht.
  • Hoge gevoeligheid: Het dynamische bereik is indrukwekkend, waardoor hij zelfs geschikt is in omgevingen met weinig licht.
  • Verlichting LED-bediening: De meeste modules integreren een LED die vanuit de Arduino zelf kan worden aangestuurd, wat zorgt voor een constante verlichting van de meetwaarden.

Sensoraansluitschema

Het aansluiten van de sensor op de Arduino is dankzij de I2C-interface heel eenvoudig. De TCS34725-sensor kan werken op een voeding van 3.3 V of 5 V, waardoor hij compatibel is met een breed scala aan microcontrollers. Hieronder geven we je de stappen om hem correct aan te sluiten:

  • VCC: Sluit aan op 5V op de Arduino.
  • GND: Maak verbinding met GND.
  • SDA: Het wordt aangesloten op pin A4 van de Arduino (op modellen zoals de UNO).
  • SCL: Het wordt aangesloten op pin A5 van Arduino.

Houd er rekening mee dat sommige modules mogelijk extra pinnen hebben, zoals de LED, waarmee u het gedrag van de Arduino zelf kunt regelen om energie te besparen of aan te passen aan de omstandigheden van uw meetomgeving.

Bibliotheken en code voor TCS34725

Er zijn verschillende bibliotheken beschikbaar die het werken met deze RGB-sensor gemakkelijker maken, maar een van de meest aanbevolen en meest gebruikte is de Adafruit-bibliotheek, genaamd "Adafruit_TCS34725". U kunt het rechtstreeks vanuit de Arduino IDE-bibliotheekmanager installeren.

Volg deze stappen om het te installeren:

  • Open de Arduino-IDE, ga naar het tabblad gereedschap en selecteer Bibliotheek opnemen -> Bibliotheken beheren.
  • Renderen Adafruit TCS34725 en selecteer installeren. Op deze manier is de bibliotheek klaar voor gebruik.

Nadat u deze hebt geïnstalleerd, kunt u de volgende basiscode gebruiken om de TCS34725-sensor te testen. Deze code haalt eenvoudigweg de RGB-waarden op en geeft deze weer via de seriële poort:

#erbij betrekken #include "Adafruit_TCS34725.h"Adafruit_TCS34725 tcs = Adafruit_TCS34725();void setup() { Serial.begin(9600); if (!tcs.begin()) { Serial.println("Sensor niet gevonden"); terwijl (1); }}void loop() { uint16_t r, g, b, c; tcs.getRawData(&r, &g, &b, &c); Serieel.print("Rood: "); Serieel.println(r); Serieel.print("Groen: "); Serieel.println(g); Serieel.print("Blauw: "); Serieel.println(b); vertraging(1000); }

Sensorkalibratie en gebruik

Het is belangrijk op te merken dat de TCS34725-sensor moet worden gekalibreerd voor een grotere nauwkeurigheid. Dit komt door de beperkingen van elk meetapparaat. Kalibratie omvat doorgaans het aanpassen van de versterkings- en integratietijdwaarden om nauwkeurige metingen te verkrijgen in de lichtomstandigheden van uw omgeving.

Houd er ook rekening mee dat glanzende oppervlakken vanwege reflecties tot onjuiste metingen kunnen leiden. Indien u met sterk reflecterende oppervlakken werkt, is het raadzaam om de sensor af te dekken met wat mat materiaal of een polarisatiefilter te plaatsen.

TCS34725 Kleursensortoepassingen

Deze sensor is perfect voor projecten waarbij u kleuren nauwkeurig moet detecteren. Enkele toepassingen van de TCS34725 zijn onder meer:

  • Classificatie van objecten op basis van hun kleur.
  • Omgevingslichtsystemen, waarbij de verlichting automatisch kan worden aangepast op basis van de overheersende kleur van de omgeving.
  • Duplicatie van kleuren in RGB LED-strips, zoals de WS2812B.

In geavanceerde projecten kan deze sensor ook worden gebruikt om de kleurtemperatuur en de hoeveelheid licht in een scène te meten, wat handig is bij fotografie of slimme verlichtingsprojecten.


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.