ماژول تشخیص رنگ TCS3200 با دقت 1 درصد Full Color
ماژول TCS3200 یک ماژول تشخیص رنگ است که به عنوان یک سنسور رنگ عمل می کند. این ماژول قادر است رنگ های مختلف را تشخیص دهد و خروجی متناظر با رنگ تشخیص داده شده را ارائه کند.عملکرد اصلی ماژول TCS3200 بر پایه ترکیبی از یک آرایه LED ها و سلول های فتودیود است که در سطح تراشه قرار دارند. این LED ها روشنایی متناوب را ایجاد کرده و فتودیودها سطح روشنایی را در نتیجه تابیده شده از سطح رنگ تشخیص داده شده اندازهگیری میکنند. سپس این سطوح روشنایی به طریقی تبدیل و پردازش میشوند تا بتوان رنگ تشخیص داده شده را تعیین کرد.ماژول TCS3200 از رابطهای ساده ای برای اتصال به میکروکنترلر یا برد های الکترونیکی استفاده می کند. برخی از پارامترهای قابل تنظیم در این ماژول شامل زمان نمونه برداری و حساسیت به روشنایی هستند که می توانند براساس نیازهای برنامه مورد استفاده تنظیم شوند.از کاربردهای ماژول TCS3200 می توان به اتوماسیون صنعتی، رباتیک، سیستم های تشخیص رنگ در خط تولید، سیستم های مراقبت از محیط زیست و بسیاری از پروژه های الکترونیکی دیگر اشاره کرد.
ویژگی های ماژول تشخیص رنگ TCS3200
- ولتاژ تغذیه: 3 تا 5 ولت
- خروجی رنگ: فرکانس پالس مربوط به رنگ تشخیص داده شده
- طیف رنگ: قابلیت تشخیص رنگهای قرمز، سبز و آبی
- رابط ارتباطی: رابط دیجیتال، از طریق پینهای GPIO میکروکنترلر یا برد الکترونیکی
- قابلیت تنظیم: پارامترهایی مانند زمان نمونهبرداری و حساسیت به روشنایی قابل تنظیم هستند
- ابعاد: ابعاد کوچکی دارد و بسته به نوع ماژول، میتواند در حدود 2x1.5 سانتیمتر باشد.
بررسی پایه های ماژول تشخیص رنگ TCS3200
- VCC: پایه تغذیه با ولتاژ مثبت. این پایه به منبع تغذیه متصل میشود (3 تا 5 ولت).
- GND: پایه زمین یا منفی. این پایه به منبع منفی تغذیه متصل میشود.
- S0: پایه کنترلی تنظیم خروجی رنگ. با تنظیم مناسب این پایه، میتوانید برای خروجی دیجیتال رنگ قرمز یا سبز را فعال یا غیرفعال کنید.
- S1: پایه کنترلی تنظیم خروجی رنگ. با تنظیم مناسب این پایه، میتوانید برای خروجی دیجیتال رنگ قرمز یا سبز را فعال یا غیرفعال کنید.
- S2: پایه کنترلی تنظیم خروجی رنگ. با تنظیم مناسب این پایه، میتوانید برای خروجی دیجیتال رنگ آبی را فعال یا غیرفعال کنید.
- S3: پایه کنترلی تنظیم خروجی رنگ. با تنظیم مناسب این پایه، میتوانید برای خروجی دیجیتال رنگ آبی را فعال یا غیرفعال کنید.
- OUT: خروجی دیجیتال ماژول. مقدار خروجی مربوط به تشخیص رنگ توسط این پایه ارائه میشود.
- S4: پایه کنترلی تنظیم فرکانس نمونهبرداری. با تنظیم مناسب این پایه، میتوانید فرکانس نمونهبرداری را تنظیم کنید.
- S5: پایه کنترلی تنظیم فرکانس نمونهبرداری. با تنظیم مناسب این پایه، میتوانید فرکانس نمونهبرداری را تنظیم کنید.
با استفاده از پایههای کنترلی S0، S1 و S2، میتوانید حالت خروجی رنگ را تنظیم کنید.
- LOW (0): خروجی رنگ متناظر غیرفعال میشود. به عنوان مثال، با تنظیم S0 و S1 به حالت LOW و S2 و S3 به حالت HIGH، میتوانید خروجی رنگ قرمز را غیرفعال کنید.
- HIGH (1): خروجی رنگ متناظر فعال میشود. به عنوان مثال، با تنظیم S0 و S1 به حالت HIGH و S2 و S3 به حالت LOW، میتوانید خروجی رنگ قرمز را فعال کنید.
به همراه ماژول تشخیص رنگ TCS3200 چه اقلامی باید خریداری شود؟
میکروکنترلر یا برد الکترونیکی: برای اتصال و کنترل ماژول TCS3200 به کامپیوتر یا سیستم مورد استفاده، نیاز به میکروکنترلر مانند Arduino یا برد الکترونیکی دیگر دارید. برد الکترونیکی باید قابلیت اتصال و تعامل با ماژول TCS3200 را داشته باشد.
منبع تغذیه: برای تغذیه ماژول TCS3200، نیاز به منبع تغذیه با ولتاژ مورد نیاز (3 تا 5 ولت) دارید. می توانید از باتری، منبع تغذیه قابل تنظیم یا سایر منابع تغذیه استفاده کنید.
سیمها و کانکتورها: برای اتصال پایههای ماژول TCS3200 به میکروکنترلر یا برد الکترونیکی، نیاز به سیمها و کانکتورهای مناسب دارید. از سیمهای جامپر، سیمهای Dupont یا سیمهای رشتهای میتوانید استفاده کنید.
راه اندازی ماژول تشخیص رنگ TCS3200 با آردوینو
ابتدا، سیمهای مورد نیاز را برای اتصال ماژول TCS3200 به Arduino آماده کنید. شما باید پینهای VCC و GND ماژول TCS3200 را به پینهای مناسبی در Arduino وصل کنید تا به ترتیب با منبع تغذیه و زمین Arduino متصل شوند. همچنین، پایه OUT ماژول را به یک پین دیجیتال در Arduino متصل کنید.برای راهاندازی و کنترل ماژول TCS3200 با Arduino، باید برنامهای را روی Arduino بارگذاری کنید. از محیط Arduino IDE استفاده کنید و برنامهای بنویسید که وضعیت پینهای کنترلی S0، S1 و S2 را تنظیم کند و خروجی رنگ را از پین OUT بخواند. برنامه باید مقادیر مربوط به پایههای کنترلی را تنظیم کند و خروجی رنگ را دریافت کند.قبل از اجرای برنامه بر روی Arduino، مطمئن شوید که تنظیمات ماژول TCS3200 به درستی تنظیم شده است. میتوانید با تغییر وضعیت پایههای کنترلی S0، S1 و S2، خروجی رنگ را بررسی کنید و مقادیر مورد نیاز برای برنامه را تعیین کنید.پس از بارگذاری برنامه بر روی Arduino، آن را اجرا کنید. Arduino از ماژول TCS3200 خروجی رنگ را دریافت میکند و شما میتوانید آن را برای تشخیص رنگ استفاده کنید.
// تنظیمات پایههای کنترلی
const int S0 = 2;
const int S1 = 3;
const int S2 = 4;
const int OUT = 5;
// تنظیمات رنگ
const int RED = 0;
const int GREEN = 1;
const int BLUE = 2;
const int CLEAR = 3;
void setup() {
// تنظیم پایههای کنترلی به حالت ورودی/خروجی
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(OUT, INPUT);
// تنظیمات اولیه پایههای کنترلی
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
// راهاندازی Serial Monitor برای نمایش خروجی
Serial.begin(9600);
}
void loop() {
// خواندن رنگ
int redValue = readColor(RED);
int greenValue = readColor(GREEN);
int blueValue = readColor(BLUE);
int clearValue = readColor(CLEAR);
// نمایش خروجی
Serial.print("Red: ");
Serial.print(redValue);
Serial.print(", Green: ");
Serial.print(greenValue);
Serial.print(", Blue: ");
Serial.print(blueValue);
Serial.print(", Clear: ");
Serial.println(clearValue);
delay(1000); // توقف یک ثانیه
}
int readColor(int color) {
// تنظیم پایههای کنترلی براساس رنگ مورد نظر
switch(color) {
case RED:
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
break;
case GREEN:
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
break;
case BLUE:
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
break;
case CLEAR:
digitalWrite(S2, HIGH);
digitalWrite(S3, LOW);
break;
}
// خواندن مقدار رنگ از خروجی
int colorValue = pulseIn(OUT, digitalRead(OUT) == HIGH ? LOW : HIGH);
return colorValue;
}
راه اندازی ماژول تشخیص رنگ TCS3200 با میکروپایتون و ESP32
با استفاده از میکروپایتون و برد ESP32 میتوانید ماژول تشخیص رنگ TCS3200 را راهاندازی کنید. در زیر، یک نمونه کد به همراه توضیحات قرار داده شده است. با ادامه کد، تابع read_color برای تنظیم پایههای کنترلی بر اساس رنگ مورد نظر و خواندن مقدار رنگ از خروجی تعریف شده است.در مثال استفاده، تابع setup برای راهاندازی اتصالات پایهها صدا زده میشود. سپس در حلقه while True، رنگهای مختلف خوانده شده و در خروجی چاپ میشوند. با استفاده از machine.delay، یک توقف 1 ثانیه تعریف شده است.از آنجا که ماژول TCS3200 از سیگنالهای PWM استفاده میکند، باید مطمئن شوید که برد ESP32 شما از PWM پشتیبانی میکند. برخی از پایههای PWM برد ESP32 شامل پایههای D2، D3، D4، D5، D6، D7، D8، D9، D10، D11، D12، D14، و D15 میباشند. از طریق تغییر مقادیر S0_PIN، S1_PIN، S2_PIN، S3_PIN و OUT_PIN در کد، میتوانید پایههای متناظر با پایههای PWM برد ESP32 خود را تنظیم کنید.
import machine
# تعریف پایههای کنترلی
S0_PIN = 27
S1_PIN = 26
S2_PIN = 25
S3_PIN = 33
OUT_PIN = 32
# تعریف رنگها
RED = 0
GREEN = 1
BLUE = 2
CLEAR = 3
# تنظیم پایههای کنترلی به حالت خروجی
s0 = machine.Pin(S0_PIN, machine.Pin.OUT)
s1 = machine.Pin(S1_PIN, machine.Pin.OUT)
s2 = machine.Pin(S2_PIN, machine.Pin.OUT)
s3 = machine.Pin(S3_PIN, machine.Pin.OUT)
# تنظیم پایهی OUT به حالت ورودی
out = machine.Pin(OUT_PIN, machine.Pin.IN)
# تنظیمات اولیه پایههای کنترلی
s0.value(0)
s1.value(1)
def read_color(color):
# تنظیم پایههای کنترلی براساس رنگ مورد نظر
if color == RED:
s2.value(0)
s3.value(0)
elif color == GREEN:
s2.value(1)
s3.value(1)
elif color == BLUE:
s2.value(0)
s3.value(1)
elif color == CLEAR:
s2.value(1)
s3.value(0)
# خواندن مقدار رنگ از خروجی
color_value = machine.time_pulse_us(out, 1)
return color_value
# راهاندازی اتصالات
def setup():
# ایجاد اتصالات پایهها
s0.init(machine.Pin.OUT)
s1.init(machine.Pin.OUT)
s2.init(machine.Pin.OUT)
s3.init(machine.Pin.OUT)
out.init(machine.Pin.IN)
# مثال استفاده
setup()
while True:
# خواندن رنگ
red_value = read_color(RED)
green_value = read_color(GREEN)
blue_value = read_color(BLUE)
clear_value = read_color(CLEAR)
# نمایش خروجی
print("Red:", red_value)
print("Green:", green_value)
print("Blue:", blue_value)
print("Clear:", clear_value)
machine.delay(1000) # توقف 1 ثانیه
راه اندازی ماژول تشخیص رنگ TCS3200 با میکروپایتون و RP2040
با استفاده از میکروپایتون و برد RP2040 میتوانید ماژول تشخیص رنگ TCS3200 را راهاندازی کنید. در زیر، یک نمونه کد به همراه توضیحات قرار داده شده است:در این کد، ابتدا پایههای کنترلی و خروجی ماژول TCS3200 تعریف شدهاند. سپس تابع read_color برای تنظیم پایههای کنترلی بر اساس رنگ مورد نظر و خواندن مقدار رنگ از خروجی تعریف شده است.در مثال استفاده، در حلقه while True، رنگهای مختلف خوانده شده و در خروجی چاپ میشوند. با استفاده از machine.sleep، یک توقف 1 ثانیه تعریف شده است.
import machine
# تعریف پایههای کنترلی
S0_PIN = machine.Pin(0, machine.Pin.OUT)
S1_PIN = machine.Pin(1, machine.Pin.OUT)
S2_PIN = machine.Pin(2, machine.Pin.OUT)
S3_PIN = machine.Pin(3, machine.Pin.OUT)
OUT_PIN = machine.Pin(4, machine.Pin.IN)
# تعریف رنگها
RED = 0
GREEN = 1
BLUE = 2
CLEAR = 3
# تنظیم پایههای کنترلی به حالت خروجی
s0 = S0_PIN
s1 = S1_PIN
s2 = S2_PIN
s3 = S3_PIN
def read_color(color):
# تنظیم پایههای کنترلی براساس رنگ مورد نظر
if color == RED:
s2.off()
s3.off()
elif color == GREEN:
s2.on()
s3.on()
elif color == BLUE:
s2.off()
s3.on()
elif color == CLEAR:
s2.on()
s3.off()
# خواندن مقدار رنگ از خروجی
color_value = machine.time_pulse_us(OUT_PIN, 1)
return color_value
# مثال استفاده
while True:
# خواندن رنگ
red_value = read_color(RED)
green_value = read_color(GREEN)
blue_value = read_color(BLUE)
clear_value = read_color(CLEAR)
# نمایش خروجی
print("Red:", red_value)
print("Green:", green_value)
print("Blue:", blue_value)
print("Clear:", clear_value)
machine.sleep(1000) # توقف 1 ثانیه
مشخصات
- کاربری
- استفاده نیمه صنعتی
- نوع ماژول
- تشخیص رنگ
- سطح تجربه مورد نیاز
- پیشرفته
- ابعاد
- 3.4 * 3.4 سانتی متر
- نوع ال ای دی
- فرستنده گیرنده
- ولتاژ مورد نياز
- 5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دو رو متالیزه
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 10 پایه
- کشور سازنده
- چین
- پروتکل ارتباطی
- TTL
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.