GY-31 TCS230 Detector Module Color Recognition Sensor Accessories For MCU Arduino TCS230 Recognition Sensor Module

9,29 

1 na sklade

Katalógové číslo: 414 Kategórie: , , , ,

Popis

 

 

GY-31 TCS230 Detector Module

PopisSenzor rozpoznávania farieb
Vlastnosti
  • Rozpoznávanie farieb
  • Čip TCS230
  • Kompatibilný s MCU a Arduino
Špecifikácie
  • Integrovaný fotodetektor
  • 4 farebné filtre
  • Frekvencie snímania: 3 Hz až 500 kHz
Príklady použitia
  • Rozpoznávanie farieb v priemysle
  • Farbové prístroje
  • Automatizácia
Príkladový kód pre ArduinoZákladný kód pre použitie senzora s Arduinom:

// Import knižnice pre TCS230
#include

// Inicializácia senzora
TCS230 sensor;

void setup() {
// Inicializácia sériovej komunikácie
Serial.begin(9600);
}

void loop() {
// Čítanie farby
int color = sensor.readColor();
// Výpis výsledku
Serial.print(“Detected color: “);
Serial.println(color);
}

Príkladový kód pre ESPHomePríklad integrácie senzora s ESPHome:

# Príklad konfigurácie pre ESPHome
sensor:
- platform: tcs230
name: "Farbový senzor"
pin_s0: GPIO4
pin_s1: GPIO5
pin_out: GPIO14

 

sensor:
  - platform: tcs34725
    red_channel:
      name: "TCS34725 Red Channel"
    green_channel:
      name: "TCS34725 Green Channel"
    blue_channel:
      name: "TCS34725 Blue Channel"
    clear_channel:
      name: "TCS34725 Clear Channel"
    illuminance:
      name: "TCS34725 Illuminance"
    color_temperature:
      name: "TCS34725 Color Temperature"
    glass_attenuation_factor: 1.0
    address: 0x29
    update_interval: 60s

illuminance:
name: "TCS34725 Illuminance"
filters:
  - or:
      - delta: 50
      - throttle: 60sec
 


../../_images/tcs34725-ui.png

GY-31 Modul detektora TCS230 Príslušenstvo snímača na rozpoznávanie farieb pre MCU Modul snímača na rozpoznávanie Arduino TCS230

 

 

 

 

 

 

 

 

Farebný snímač TCS3200 – znázornený na obrázku nižšie – používa na detekciu farieb snímací čip TAOS TCS3200 RGB. Obsahuje aj štyri biele LED diódy, ktoré osvetľujú predmet pred ním.

 

špecifikácie snímača:

Napájanie: 2,7V až 5,5V
Veľkosť: 28,4 x 28,4 mm (1,12 x 1,12″)
Rozhranie: digitálne TTL
Premena intenzity svetla na frekvenciu s vysokým rozlíšením
Programovateľná farba a výstupná frekvencia v plnom rozsahu
Komunikuje priamo s mikrokontrolérom

 

Princíp snímača farieb

TCS230 využíva 8-kolíkový SOIC balík pre povrchovú montáž so 64 fotodiódami integrovanými na jednom čipe. Tieto diódy sú rozdelené do štyroch typov. Medzi nimi 16 fotodiód má červený filter; 16 fotodiód má zelený filter; 16 fotodiód má modrý filter; zvyšných 16 nemá filtre a dokáže prenášať všetky svetelné informácie. Tieto fotodiódy sú v čipe usporiadané do kríža, čo môže minimalizovať nerovnomernosť dopadajúceho svetelného žiarenia, čím sa zvyšuje presnosť rozpoznávania farieb; na druhej strane je paralelne zapojených a rovnomerne rozložených 16 fotodiód rovnakej farby V diódovom poli možno eliminovať polohovú chybu farby. Pri práci sa požadovaný filter dynamicky vyberá cez dva programovateľné kolíky. Typická výstupná frekvencia snímača je v rozsahu od 2 Hz do 500 kHz a užívateľ si tiež môže zvoliť 100 %, 20 % alebo 2 % výstupný mierkový faktor alebo režim vypnutia pomocou dvoch programovateľných kolíkov. Výstupný mierkový faktor umožňuje, aby sa výstup senzora prispôsobil rôznym rozsahom merania a zlepšuje jeho prispôsobivosť. Napríklad, keď používate nízkorýchlostné frekvenčné počítadlo, môžete zvoliť malú hodnotu stupnice, aby sa zhodovala výstupná frekvencia TCS230 s počítadlom.

Predstavenie výrobku:

1. Pôvodne dovezený čip TCS3200 PCB doska využíva proces pozlátenia

2. TCS3200 je vylepšená verzia TCS230 s lepším efektom

3. Napájanie 3-5v

4. Proti rušeniu svetla

5. Bielu LED je možné ovládať na zapnutie a vypnutie.

6. Dokáže rozpoznať farbu nesvietiacich predmetov

7. Veľkosť PCB: (D)33mm*(Š)25mm

 

 

Pin NameI/ODescription
GND (4)Power supply ground
OE (3)IEnable for output frequency (active low)
OUT (6)OOutput frequency
S0, S1(1,2)IOutput frequency scaling selection inputs
S2, S3(7,8)IPhotodiode type selection inputs
VDD(5)Voltage supply
Photodiode typeS2S3
RedLOWLOW
BlueLOWHIGH
No filter (clear)HIGHLOW
GreenHIGHHIGH
Output frequency scalingS0S1
Power downLL
2%LH
20%HL
100%HH

 

 

 

 

 

 

Keď modrý objekt umiestnime pred senzor, modré hodnoty frekvencie (B) oscilujú medzi 59 a 223 (pozri zvýraznené hodnoty).

Poznámka: Tieto hodnoty frekvencie (59 a 223) nemôžete použiť vo svojom kóde, mali by ste merať farby pre váš konkrétny objekt pomocou vlastného snímača farieb. Potom si uložte horný a spodný limit frekvencie pre modrú farbu, pretože ich budete potrebovať neskôr.

Opakujte tento proces so zeleným a červeným objektom a zapíšte si horný a spodný limit frekvencie pre každú farbu.

____________________________________________________________________________________KOD 1

// TCS230 or TCS3200 pins wiring to Arduino
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8

// Stores frequency read by the photodiodes
int redFrequency = 0;
int greenFrequency = 0;
int blueFrequency = 0;

void setup() {
  // Setting the outputs
  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  
  // Setting the sensorOut as an input
  pinMode(sensorOut, INPUT);
  
  // Setting frequency scaling to 20%
  digitalWrite(S0,HIGH);
  digitalWrite(S1,LOW);
  
   // Begins serial communication 
  Serial.begin(9600);
}
void loop() {
  // Setting RED (R) filtered photodiodes to be read
  digitalWrite(S2,LOW);
  digitalWrite(S3,LOW);
  
  // Reading the output frequency
  redFrequency = pulseIn(sensorOut, LOW);
  
   // Printing the RED (R) value
  Serial.print("R = ");
  Serial.print(redFrequency);
  delay(100);
  
  // Setting GREEN (G) filtered photodiodes to be read
  digitalWrite(S2,HIGH);
  digitalWrite(S3,HIGH);
  
  // Reading the output frequency
  greenFrequency = pulseIn(sensorOut, LOW);
  
  // Printing the GREEN (G) value  
  Serial.print(" G = ");
  Serial.print(greenFrequency);
  delay(100);
 
  // Setting BLUE (B) filtered photodiodes to be read
  digitalWrite(S2,LOW);
  digitalWrite(S3,HIGH);
  
  // Reading the output frequency
  blueFrequency = pulseIn(sensorOut, LOW);
  
  // Printing the BLUE (B) value 
  Serial.print(" B = ");
  Serial.println(blueFrequency);
  delay(100);
}

____________________________________________________________________________________KOD 2

 
// TCS230 or TCS3200 pins wiring to Arduino
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8

// Stores frequency read by the photodiodes
int redFrequency = 0;
int greenFrequency = 0;
int blueFrequency = 0;

// Stores the red. green and blue colors
int redColor = 0;
int greenColor = 0;
int blueColor = 0;

void setup() {
  // Setting the outputs
  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  
  // Setting the sensorOut as an input
  pinMode(sensorOut, INPUT);
  
  // Setting frequency scaling to 20%
  digitalWrite(S0,HIGH);
  digitalWrite(S1,LOW);
  
  // Begins serial communication
  Serial.begin(9600);
}

void loop() {
  // Setting RED (R) filtered photodiodes to be read
  digitalWrite(S2,LOW);
  digitalWrite(S3,LOW);
  
  // Reading the output frequency
  redFrequency = pulseIn(sensorOut, LOW);
  // Remaping the value of the RED (R) frequency from 0 to 255
  // You must replace with your own values. Here's an example: 
  // redColor = map(redFrequency, 70, 120, 255,0);
  redColor = map(redFrequency, XX, XX, 255,0);
  
  // Printing the RED (R) value
  Serial.print("R = ");
  Serial.print(redColor);
  delay(100);
  
  // Setting GREEN (G) filtered photodiodes to be read
  digitalWrite(S2,HIGH);
  digitalWrite(S3,HIGH);
  
  // Reading the output frequency
  greenFrequency = pulseIn(sensorOut, LOW);
  // Remaping the value of the GREEN (G) frequency from 0 to 255
  // You must replace with your own values. Here's an example: 
  // greenColor = map(greenFrequency, 100, 199, 255, 0);
  greenColor = map(greenFrequency, XX, XX, 255, 0);
  
  // Printing the GREEN (G) value  
  Serial.print(" G = ");
  Serial.print(greenColor);
  delay(100);
 
  // Setting BLUE (B) filtered photodiodes to be read
  digitalWrite(S2,LOW);
  digitalWrite(S3,HIGH);
  
  // Reading the output frequency
  blueFrequency = pulseIn(sensorOut, LOW);
  // Remaping the value of the BLUE (B) frequency from 0 to 255
  // You must replace with your own values. Here's an example: 
  // blueColor = map(blueFrequency, 38, 84, 255, 0);
  blueColor = map(blueFrequency, XX, XX, 255, 0);
  
  // Printing the BLUE (B) value 
  Serial.print(" B = ");
  Serial.print(blueColor);
  delay(100);

  // Checks the current detected color and prints
  // a message in the serial monitor
  if(redColor > greenColor && redColor > blueColor){
      Serial.println(" - RED detected!");
  }
  if(greenColor > redColor && greenColor > blueColor){
    Serial.println(" - GREEN detected!");
  }
  if(blueColor > redColor && blueColor > greenColor){
    Serial.println(" - BLUE detected!");
  }
}

Ďalšie informácie

Hmotnosť8 g
Rozmery40 × 40 × 30 mm