HS-S63-L TCS3472-Farbensor

1、Einführung

TCS3472-Sensormodul, das über IIC oder UART kommuniziert und die RGB-Werte direkt ausgeben kann.Verbrauch ist gering, der Raum ist klein und die Installation ist einfach. Der Vorteil.Sein Funktionsprinzip ist, dass durch Beleuchtung der LED leuchtet, die auf das zu messende Objekt fällt, und das Licht nach der Rückkehr durch das Filter detektiert wird, um das RGB-Verhältnis zu erkennen und die Farbe zu bestimmen.Der Modul hat zwei Methoden, um Daten zu lesen, nämlich Seriell UART (TTL-Pegel) oder IIC (2-Leiter), die Baudrate der Seriellen Schnittstelle kann auf 9600bps und 115200bps eingestellt werden, es gibt zwei Arten von kontinuierlicher und abfragender Ausgabe und die Einstellungen können auch bei Stromausfall gespeichert werden.Es kann eine einfache Erkennung von 7 Farben durchgeführt werden, ohne RGB-Werte zu berechnen.Kann verschiedene Arbeitsumgebungen anpassen und mit Mikrocontrollern und Computern verbunden werden.Der Modul kann auch den Arbeitsmodus eines separaten Sensorschips einstellen, als einfacher Sensorschalter nimmt der MCU nicht am Datenverarbeitungsprozess teil.
Der elektronische Kompassmodul ist ein hochpräzises Sensorelement, das auf Magnet- und Gyrosensortechnologie basiert und die Kernfunktion hat, die genaue Ausrichtung (Genauigkeit ±0,5 °~ ±2) und die Daten der Geräteausrichtung präzise auszugeben. Es ist weit verbreitet in Verbraucherelektronik, intelligenten Kleidungsstücken, Drohnen, Fahrzeuggeräten und anderen Szenarien geeignet.Modul mit hochempfindlichem Sensor und Anti-Interferenz-Kalibrieralgorithmus, unterstützt I2C/SPI und andere gängige Kommunikationsprotokolle, verfügt über breite Spannungsanpassung, stabile Arbeit bei hohen und niedrigen Temperaturen (-40°C~85°C) und geringen Stromverbrauch, kann schnell mit verschiedenen intelligenten Geräten integriert werden und bietet ihnen zuverlässige Richtungs- und Lagefeedback-Fähigkeiten, ist das Kernkomponente für die Realisierung der "Raumwahrnehmung" des Geräts.

2、Schemazeichnung

3、Modulparameter

Pinbezeichnung

Beschreibung

G

GND(Spannungsversorgungsminus)

V

VCC(Spannungsversorgungsplus)

SDA

Datenpin

SCL

Zeitpin

  • Spannungsversorgung: 3.3V-5V

  • Verbindungsmethode: PH2.0 4P Steckerkabel

  • Montagemethode: Lego-Baukasten

4, Platinegröße

5、Arduino Bibliothek hinzufügen

Hier ist der Bezug für die Verwendung der Bibliothek:Bibliothek installieren und verwenden

Bibliothek herunterladen: 2、第二步将UNO开发板的库文件下载后解压在桌面。

米思齐库文件下载步骤(使用代码前前下载米思齐库文件):

第一步:找到库文件

点击设置,再点击管理库

Zweiter Schritt: Finden Sie die entsprechenden Bibliotheken und wählen Sie diese aus

Dritter Schritt: Klicken Sie auf Importieren

Letzter Schritt: Überprüfen Sie, ob die Aktivierung erfolgreich war, falls ja, siehe das obige Bild. Falls nicht, überprüfen Sie die obigen Schritte auf Fehler.

6、添加MicroPython环境库文件

库文件安装不会的请点击这里:参考链接

7、Arduino IDE Beispielprogramm

Beispielprogramm (UNO-Board):2、第二步将UNO开发板的库文件下载后解压在桌面。

#include <Wire.h>
#include "Adafruit_TCS34725.h"

Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_1X);

void printColor() {
  uint16_t clearcol = 0;
    uint16_t red = 0;
    uint16_t green = 0;
    uint16_t blue = 0;
  float r = 0;
  float g = 0;
  float b = 0;
  float average = 0;
  delay(100);
  tcs.getRawData(&red, &green, &blue, &clearcol);
  //加权平均值算法
  average = (red + (green + blue)) / 3;
  r = red / average;
  g = green / average;
  b = blue / average;
  Serial.println(String("r ") + String(r) + String(" g ") + String(g) + String(" b ") + String(b));
  if ((r > 1.2 && r < 1.9) && (g < 1 && (b > 0.45 && b < 0.9))) {
    Serial.print(" 红");

  } else if (r < 1.1 && (g > 1.3 && b < 0.7)) {
    Serial.print(" 绿");
  } else if ((r > 1 && r < 1.5) && ((g > 1.1 && g < 1.4) && (b > 0.35 && b < 0.75))) {
    Serial.print(" 黄");
  } else if ((r > 0.7 && r < 1) && (g < 1.2 && b > 1)) {
    Serial.print(" 蓝");
  } else if (false) {
  } else {
    Serial.print(" 不是匹配的颜色");

  }
  delay(10);
}

void setup(){
  Serial.begin(9600);
  if (tcs.begin(0x29)) {
    Serial.println("搜索到TCS34725");

  } else {
    Serial.println("没有搜索到TCS34725");
    while (true) {
      delay(1);
    }

  }
}

void loop(){
  printColor();

}

示例程序(ESP32开发板):

import machine
import time


from machine import Pin,I2C
from tcs34725 import TCS34725
import time

# 创建I2C对象
i2cObj = I2C(1,scl = Pin(22),sda = Pin(21),freq = 400000)
# 打印扫描出的I2C对象
print("I2C Bus Scan: ", i2cObj .scan(), "\n")
# 创建tcs34725颜色识别模块对象
tcs = TCS34725(i2cObj ,0x29)
# 创建RGB颜色计算函数
def Colour():
    try:
        red,green,blue,colour = tcs.read(True)  # 读取颜色值

        if colour != 0:  # 如果colour不等于0
            Red   = int((red / colour) * 32)  # 计算红色的值
            Green = int((green / colour) * 32)  # 计算绿色的值
            Blue  = int((blue / colour) * 32)  # 计算蓝色的值
            return Red,Green,Blue
        else:
            return 0,0,0
    except :
        print("数据异常!")
        RuntimeError
RGB = [0, 0, 0]
while True:
    print('(r,g,b)对应是',end ="")
    # 获取颜色R,G,B函数
    print(Colour())
    time.sleep_ms(10)

8, Mixly-Beispielprogramm (Graphische Sprache)

Beispielprogramm (UNO-Board):2、第二步将UNO开发板的库文件下载后解压在桌面。

示例程序(ESP32开发板):2、第二步将UNO开发板的库文件下载后解压在桌面。

9, Testumgebung aufbauen

Testumgebung für Arduino UNO einrichten

Vorbereiten Sie die Komponenten:

  • UNO-R3 Entwicklungsboard *1

  • UNO-R3 EXP-Erweiterungsplatte *1

  • USB type-c Datenkabel *1

  • TCS3472-Farb sensor*1

  • PH2.0 4P-Doppelkopfsteckerleitung *1

Schaltplan der Leitung:

ESP32 Python Testumgebung Einrichtung

10、Video-Tutorial

Arduino UNO Video-Tutorial:Klicken, um anzuzeigen

ESP32 Python Videoanleitung:

11、Testergebnis

Arduino UNO Testergebnis:

Geben Sie den Code ein, richten Sie dann das Modul auf das Farbbrett.

Die Farben ausrichten, und man kann die verschiedenen r, g, b-Werte am Computer- seriell ausgeben beobachten.