معرفی Color Module TCS230
ماژول TCS230 یک ماژول الکترونیکی است که برای تشخیص رنگ استفاده می شود. این ماژول شامل یک تراشه مبدل رنگی است که می تواند رنگ را به مقدار دیجیتال تبدیل کند. این ماژول برای کاربردهایی مانند رباتیک، سیستم های کنترلی، تجهیزات پزشکی و ابزارهای اندازه گیری رنگ استفاده می شود.تراشه مبدل رنگی در این ماژول شامل 16 سلول فتوترانزیستور است که در دو رنگ سفید و سیاه قرار دارند. این سلول ها در هر دوران توسط یک دیافراگم برش دار کنترل می شوند که به چرخش سیستم رنگی گفته می شود. با اندازه گیری تعداد فوتون های دریافت شده توسط هر یک از سلول ها، ما می توانیم با استفاده از الگوریتم های مختلف، مقدار RGB و مقادیر دیگری مانند شدت نور را محاسبه کنیم.به عنوان مثال، با اندازه گیری تعداد فوتون های دریافت شده توسط سلول های سفید و سیاه، می توانیم درصد سفیدی یا سیاهی تصویر را محاسبه کنیم. با اندازه گیری تعداد فوتون های دریافت شده توسط سلول های سبز و قرمز، می توانیم مقدار RGB را محاسبه کنیم.از دیگر ویژگی های این ماژول می توان به امکان انتخاب فرکانس چرخش سیستم رنگی، قابلیت تنظیم حساسیت و امکان اتصال به میکروکنترلرها اشاره کرد.
مشخصات ماژول تشخیص رنگ TCS230
در زیر ویژگیهای فنی ماژول تشخیص رنگ TCS230 نوشته شده است.
- ولتاژ کاری: این ماژول با ولتاژ کاری 3 تا 5 ولت عمل میکند.
- خروجی: خروجی این ماژول شامل پالس های دیجیتالی با فرکانس متناسب با رنگ تشخیص داده شده است.
- دقت تشخیص رنگ: دقت تشخیص رنگ این ماژول برای رنگهای اولیه RGB بین ۲۰ و ۱۰۰ درصد است.
- فرکانس چرخش سیستم رنگی: ماژول TCS230 میتواند در فرکانسهای مختلف چرخش سیستم رنگی عمل کند، که در محدوده ۲۰۰ هرتز تا ۵ کیلوهرتز قابل تنظیم است.
- حساسیت: حساسیت این ماژول قابل تنظیم است و به کاربر این امکان را میدهد که حداکثر حساسیت را برای رنگ تشخیص داده شده تنظیم کند.
- نوع رابط: این ماژول دارای رابط دیجیتالی است و امکان اتصال به میکروکنترلرها را دارد.
- دمای کاری: دمای کاری این ماژول بین ۴۰- تا ۸۵ درجه سانتیگراد است.
- اندازه: اندازه این ماژول ۲۴ × ۲۴ میلیمتر است.
- نوع سنسور: این ماژول از نوع سنسور فتوترانزیستوری است که برای تشخیص رنگ استفاده میشود.
بررسی پایه های ماژول تشخیص رنگ TCS230
سنسور تشخیص رنگ TCS230 دارای 8 پایه است که عبارتند از:
- VCC: پایه تغذیه با ولتاژ DC بین 3 تا 5 ولت
- GND: پایه زمین سنسور
- S0: پایه تنظیم فرکانس خروجی سیگنال در دو حالت 0 و 1
- S1: پایه تنظیم فرکانس خروجی سیگنال در دو حالت 0 و 1
- S2: پایه تنظیم حساسیت سنسور در دو حالت 0 و 1
- S3: پایه تنظیم حساسیت سنسور در دو حالت 0 و 1
- OUT: پایه خروجی سیگنال دیجیتال با فرکانس متناسب با رنگ تشخیص داده شده
- LED: پایه تغذیه برای LED معرفی شده بر روی ماژول جهت روشنایی محیط در شرایط کم نور
به همراه ماژول TCS230 چه اقلامی باید خریداری شود؟
برای استفاده از سنسور TCS230 به همراه میکروکنترلر Arduino یا هر میکروکنترلر دیگر، به اجزای زیر نیاز دارید:
- سنسور TCS230
- مقاومت ۲۲۰ اهم
- کابل فلت نری
- برد راهاندازی (در صورت نیاز)
- میکروکنترلر (مانند Arduino، ESP8266، Raspberry Pi و غیره)
راه اندازی سنسور تشخیص رنگ TCS230 با آردوینو
در ادامه یک کد آردوینو جهت راه اندازی سنسور TCS230 نوشته شده است. این کد مقادیر RGB رنگ تشخیص داده شده را میخواند و آنها را در مانیتور سریال چاپ میکند. توجه داشته باشید که ممکن است نیاز باشد فاکتور مقیاسدهی را بر اساس شرایط نوری محیط خود تنظیم کنید. میتوانید با فاکتورهای مقیاسدهی مختلف (TCS230_SCALE_100، TCS230_SCALE_20، TCS230_SCALE_2، TCS230_SCALE_OFF) آزمایش کنید تا ببینید کدام یک برای برنامه شما بهتر کار میکند.
// Include the TCS230 library
#include <TCS230.h>
// Define the pins for the TCS230 sensor
#define S0 2
#define S1 3
#define S2 4
#define S3 5
#define OUT 6
// Create an instance of the TCS230 object
TCS230 tcs230(S0, S1, S2, S3, OUT);
// Define variables for the RGB values
int redValue, greenValue, blueValue;
void setup() {
// Start serial communication
Serial.begin(9600);
// Set the scaling factor to 20%
tcs230.setScalingFactor(TCS230_SCALE_20);
// Power up the TCS230 sensor
tcs230.powerOn();
}
void loop() {
// Read the RGB values
redValue = tcs230.getRed();
greenValue = tcs230.getGreen();
blueValue = tcs230.getBlue();
// Print the RGB values to the serial monitor
Serial.print("Red: ");
Serial.print(redValue);
Serial.print(" Green: ");
Serial.print(greenValue);
Serial.print(" Blue: ");
Serial.println(blueValue);
// Delay for a short period before taking another reading
delay(1000);
}
راه اندازی سنسور تشخیص رنگ TCS230 با میکروپایتون و ESP32
سنسور رنگ TCS230 با میکروپایتون و ESP32 قابلیت برنامه نویسی دارد. این کد مقادیر RGB رنگ شناسایی شده را میخواند و آنها را در کنسول چاپ میکند.توجه داشته باشید که این کد از کتابخانه TCS230 برای MicroPython استفاده میکند، که باید به طور جداگانه در کنترل کننده ESP32 شما نصب شود. همچنین، شما ممکن است برای تطبیق با شرایط نوری محیط خود، باید فاکتور مقیاسبندی را تنظیم کنید.
# Import the necessary libraries
from machine import Pin, PWM
from time import sleep_ms
# Define the pins for the TCS230 sensor
S0 = Pin(23, Pin.OUT)
S1 = Pin(22, Pin.OUT)
S2 = Pin(21, Pin.OUT)
S3 = Pin(19, Pin.OUT)
OUT = Pin(18, Pin.IN)
# Define variables for the RGB values
redValue, greenValue, blueValue = 0, 0, 0
# Create an instance of the PWM object for the TCS230 sensor
pwm = PWM(Pin(5))
def setup():
# Set the frequency of the PWM signal
pwm.freq(5000)
# Set the duty cycle of the PWM signal to 50%
pwm.duty(512)
# Set the scaling factor to 20%
S0.value(1)
S1.value(0)
S2.value(1)
S3.value(0)
def loop():
global redValue, greenValue, blueValue
# Read the RGB values
redValue = get_color(TCS230.RED)
greenValue = get_color(TCS230.GREEN)
blueValue = get_color(TCS230.BLUE)
# Print the RGB values to the console
print("Red: ", redValue, " Green: ", greenValue, " Blue: ", blueValue)
# Delay for a short period before taking another reading
sleep_ms(1000)
def get_color(color):
# Set the scaling factor based on the color to be read
if color == TCS230.RED:
S2.value(0)
S3.value(0)
elif color == TCS230.GREEN:
S2.value(1)
S3.value(1)
elif color == TCS230.BLUE:
S2.value(0)
S3.value(1)
# Count the number of pulses from the TCS230 sensor
pulse_count = 0
while OUT.value() == 0:
pass
while OUT.value() == 1:
pulse_count += 1
# Calculate the frequency of the pulses
frequency = pulse_count * 1000 / 2.4
# Calculate the color value based on the frequency
if color == TCS230.RED:
return int(frequency * 0.225)
elif color == TCS230.GREEN:
return int(frequency * 0.136)
elif color == TCS230.BLUE:
return int(frequency * 0.067)
# Call the setup function to initialize the TCS230 sensor
setup()
# Enter the main loop
while True:
loop()
راه اندازی سنسور تشخیص رنگ TCS230 با میکروپایتون و RP2040
عملکرد سنسور تشخیص رنگ TCS230 برای هر دو تراشه ESP32 , رزبری پای پیکو RP2040 یکسان است. برای راه اندازی از نرم افزار Thonny IDE استفاده میکنیم. در این کد از کتابخانه TCS230 برای MicroPython استفاده میکند، که باید به طور جداگانه در کنترل کننده ESP32 شما نصب شود. همچنین، شما ممکن است برای تطبیق با شرایط نوری محیط خود، باید فاکتور مقیاسبندی را تنظیم کنید.
from machine import Pin, Timer
import TCS230
# Setup TCS230 color sensor
s0 = Pin(0, Pin.OUT)
s1 = Pin(1, Pin.OUT)
s2 = Pin(2, Pin.OUT)
s3 = Pin(3, Pin.OUT)
out = Pin(4, Pin.IN)
tcs = TCS230.TCS230(s0, s1, s2, s3, out)
# Define timer function to read and print RGB values
def read_colors(timer):
r, g, b = tcs.read(True)
print("R: {0}, G: {1}, B: {2}".format(r, g, b))
# Set up timer to read colors every second
tim = Timer(0)
tim.init(period=1000, mode=Timer.PERIODIC, callback=read_colors)
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- بیومتریک - Biometric
- ابعاد فیبر
- 23 * 30 میلی متر
- نوع ال ای دی
- 4 ال ای دی ساده
- ولتاژ مورد نياز
- 2.7 تا 5 ولت DC
- جریان
- حداکثر 30 میلی آمپر در ولتاژ 5 ولت DC
- وزن
- 4 گرم
- خروجی
- TTL Level Square Wave
- پردازنده
- TCS230
- سایر توضیحات
- پهنای باند سنسور: ~ 400 – 950nmرنج تشخیص : 10mm
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.