Arduino UNO R4 - TCS3200D/TCS230 Kleursensor
Deze handleiding laat u zien hoe u Arduino UNO R4 en de TCS3200D/TCS230 kleurherkenningssensor gebruikt om RGB-waarden van objecten te kalibreren en uit te lezen en kleuren te detecteren.
- Hoe u de TCS3200D/TCS230 kleursensor aansluit op Arduino UNO R4
- Hoe u de sensor kalibreert voor uw omgeving
- Hoe u code schrijft voor Arduino UNO R4 om RGB-waarden van de sensor uit te lezen

Benodigde Hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables STEM V4 IoT Starterskit (Arduino inbegrepen) | |
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de TCS3200D/TCS230 Kleursensor
De TCS3200D/TCS230 is een kleurherkenningssensor die een 8x8 array van fotodiodes gebruikt. Zestien fotodiodes hebben rode filters, 16 hebben groene filters, 16 hebben blauwe filters, en 16 zijn helder (geen filter). De module zet lichtintensiteit om naar een blokgolf-frequentiesignaal. Door de kleurfilters te schakelen en de uitvoerfrequentie (of pulsbreedte) te meten, kunnen we de RGB-waarden van een object schatten.
Veel modules bevatten witte LEDs om het doel te verlichten. Dit maakt de metingen consistenter en helpt de sensor betrouwbaar kleuren te detecteren, zelfs bij weinig licht.
Pinout
De TCS3200D/TCS230 kleursensormodule heeft doorgaans deze pinnen:
- VCC-pin: Sluit deze pin aan op VCC (5V).
- GND-pin: Sluit deze pin aan op GND (0V).
- S0, S1 pinnen: Uitvoerfrequentie schaling selectie.
- S2, S3 pinnen: Kleurfilter selectie.
- OUT-pin: Blokgolf-frequentie uitvoer.
- OE-pin: Output enable (actief LOW). De meeste modules sluiten deze pin al intern aan op GND, dus u hoeft deze niet te bedraden. Als de uwe dat niet doet, sluit deze dan aan op GND.

Hoe Het Werkt
De sensor moet twee dingen weten: welk kleurkanaal moet worden gemeten, en hoe sterk het uitvoersignaal moet zijn. Twee paren besturingspinnen regelen dit:
- S0 en S1 besturen de uitvoerfrequentie schaling:
- S0 = LOW, S1 = LOW: Uitschakelen
- S0 = LOW, S1 = HIGH: 2% schaling
- S0 = HIGH, S1 = LOW: 20% schaling
- S0 = HIGH, S1 = HIGH: 100% schaling
- S2 en S3 selecteren het kleurfilter:
- S2 = LOW, S3 = LOW: Rood filter
- S2 = LOW, S3 = HIGH: Blauw filter
- S2 = HIGH, S3 = LOW: Helder (geen filter)
- S2 = HIGH, S3 = HIGH: Groen filter
De OUT-pin geeft een blokgolf uit (doorgaans 2 Hz tot 500 kHz). De frequentie is evenredig met de intensiteit van de geselecteerde kleur, terwijl de pulsbreedte omgekeerd evenredig is. We kunnen de pulsbreedte meten met pulseIn() en deze dan na kalibratie omzetten naar RGB-waarden.
Tips voor Stabiele Metingen
- Plaats de sensor 1-3 cm van het object en houd de hoek consistent.
- Gebruik de ingebouwde witte LEDs voor stabiele verlichting.
- Bescherm de sensor tegen veranderingen in omgevingslicht voor nauwkeurigere resultaten.
Bedradingsschema
Deze afbeelding toont hoe u de TCS3200 kleursensor aansluit op Arduino UNO R4:
| TCS3200 Kleursensor | Arduino UNO R4 |
|---|---|
| VCC | 5V |
| GND | GND |
| S0 | Pin 4 |
| S1 | Pin 3 |
| S2 | Pin 6 |
| S3 | Pin 5 |
| OUT | Pin 7 |

This image is created using Fritzing. Click to enlarge image
Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.
Arduino UNO R4 Code - Kalibratie (Pulsbreedte)
Kalibratie is nodig omdat de ruwe metingen van de sensor worden beïnvloed door de omgeving. Factoren zoals LED-helderheid, afstand, oppervlakreflectiviteit en omgevingslicht veranderen de gemeten waarden. U kunt deze effecten beschouwen als "ruis." De eerste kalibratiestap helpt u dat ruisbereik (minimum en maximum voor elke kleur) te meten, zodat u de invloed ervan kunt aftrekken en metingen kunt toewijzen aan correcte 0–255 RGB-waarden voor uw opstelling.
Snelle Stappen
Volg deze instructies stap voor stap:
- Als dit de eerste keer is dat u de Arduino Uno R4 WiFi/Minima gebruikt, raadpleeg dan de handleiding over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
- Sluit de Arduino Uno R4 board aan op de kleursensor volgens het meegeleverde schema.
- Sluit de Arduino Uno R4 board aan op uw computer met een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer de juiste Arduino Uno R4 board (bijv., Arduino Uno R4 WiFi) en COM-poort.
- Kopieer de code hierboven en open deze in Arduino IDE.
- Klik op de Upload knop in Arduino IDE om de code naar Arduino UNO R4 te uploaden.
- Open de Serial Monitor. U ziet continue metingen samen met Min en Max waarden.
- Beweeg de sensor over verschillende objecten: een wit object (zoals papier), een zwart object, en optioneel enkele gekleurde objecten.
- Bekijk hoe de Min en Max rijen automatisch bijwerken terwijl de sensor de extremen bijhoudt.
- Wanneer de Min en Max waarden stoppen met veranderen (meestal na 10-20 seconden), zijn dat uw kalibratiewaarden - noteer ze.
Bijvoorbeeld, van de uitvoer hierboven zouden uw kalibratiewaarden zijn:
- RedMin = 42, redMax = 210
- GreenMin = 55, greenMax = 185
- BlueMin = 60, blueMax = 172
Arduino UNO R4 Code - RGB-waarden Uitlezen
Snelle Stappen
- In de code hierboven, vind deze regels bovenaan:
- Vervang ALLE zes 0 waarden door uw kalibratienummers van de vorige stap. Bijvoorbeeld, als uw kalibratie u redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172 gaf, verander de regels naar:
- Upload de code naar Arduino UNO R4.
- Plaats een gekleurd object voor de sensor.
- Controleer het resultaat op de Serial Monitor.
De RGB-waarden zijn nu toegewezen aan het standaard 0-255 bereik. Lagere pulsbreedtes (meer licht) produceren hogere RGB-waarden, en hogere pulsbreedtes (minder licht) produceren lagere RGB-waarden.
Toepassingen
Nu u RGB-waarden kunt uitlezen, kunt u projecten bouwen zoals:
- Kleursorteerder: Sorteer objecten op kleur (rood, groen, blauw)
- Kleur matching spel: Controleer of twee objecten dezelfde kleur hebben
- Lijnvolger robot: Volg gekleurde lijnen op de vloer
- Kwaliteitscontrole: Detecteer defecte producten aan de hand van kleur
- Kleur-geactiveerd alarm: Activeer een zoemer of LED wanneer een specifieke kleur wordt gedetecteerd
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.