فهرست مطالب
ماژول rgb تمام رنگ چیست ؟
ماژول LED که شامل یک LED قرمز ، آبی و سبز است، توسط یک کاتد مشترک متصل می شوند و با مخلوط کردن سه رنگ اصلی می توان رنگ های مختلفی بدست آورد. ماژول LED RGB از یک LED تمام رنگی تشکیل شده است. شدت سه رنگ اصلی یعنی قرمز، سبز و آبی را میتوان با ورودی ولتاژ PWM در پایههای R، G و B تنظیم کرد و در نتیجه با خرید ماژول ال ای دی می توانید رنگهای ترکیبی متنوعی تولید کنید. برای کنترل ماژول توسط آردوینو می توان به نورپردازی شگفت انگیزی پی برد. همچنین ماژول rgb توانایی نمایش فیلم و تیزر تبلیغاتی و انواع تصاویر را دارد؛ بنابراین در بسیاری از زمینه ها کاربردی است.
مشخصات فنی ماژول ال ای دی
ماژول از یک LED تمام رنگ 5 میلیمتری تشکیل شده است و یک مقاومت مطابق انچه در جدول زیر امده است برای ولتاژهای مختلف لازم است. این نوع ماژول با سیستم عامل های الکترونیکی رایج مانند Arduino ، Raspberry Pi و ESP8266 سازگار میباشد. ماژول ال ای دی rgb در انواع و اندازه ها و پکیج های مختلفی تولید می شوند؛ ماژول LED که در این مطلب به آن می پردازیم نوع دیپ (DIP) آن است که نوع نصب آن از طریق سوراخ کردن برد است.
Vf [Red ]= 1,8V
Vf [Green , Blue ]= 2,8V
If= 20mA
مشخصات فنی ماژول LED هنگام کار با آردوینو و رزبری پای در جدول زیر آمده است:
پایه های ماژول LED
از آنجایی که این ماژول را نمی توان مستقیماً به آردوینو متصل کرد، این اتصال از طریق مقاومت مطابق جدول ارایه شده امکانپذیر خواهد بود.
دیاگرام اتصالات ماژول ال ای دی RGB
پایه های مختلف ماژول را مطابق جدول بالا و به صورت آنچه در تصویر زیر مشاهده میشود به برد آردوینو متصل کنید.
کدهای آردوینو مربوط به ماژول ال ای دی
کد زیر آردوینو مقادیر PWM را روی پین های قرمز ، سبز و آبی به تدریج افزایش داده و کاهش می دهد و باعث می شود تا LED از طریق رنگ های مختلف به رنگ های مختلف به نمایش دراید.
int redpin = 10; // select the pin for the red LED int bluepin =12; // select the pin for the blue LED int greenpin =11; // select the pin for the green LED int val; void setup() { pinMode(redpin, OUTPUT); pinMode(bluepin, OUTPUT); pinMode(greenpin, OUTPUT); Serial.begin(9600); } void loop() { for(val = 255; val > 0; val--) { analogWrite(11, val); analogWrite(10, 255 - val); analogWrite(9, 128 - val); Serial.println(val, DEC); delay(5); } for(val = 0; val < 255; val++) { analogWrite(11, val); analogWrite(10, 255 - val); analogWrite(9, 128 - val); Serial.println(val, DEC); delay(5); } }
کدهای رزبری پای مربوط به ماژول ال ای دی
با استفاده از رزبری پای نیز خواهید دید که چگونه LED ها با یک پین خروجی تعریف شده، در یک پالس 3 ثانیه ای روشن می شود.
# Needed modules will be imported and configured import random, time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) # Declaration of the output pins, which are connected with the LEDs LED_Red = 6 LED_Green = 5 LED_Blue = 4 # Set pins to output mode GPIO.setup(LED_Red, GPIO.OUT) GPIO.setup(LED_Green, GPIO.OUT) GPIO.setup(LED_Blue, GPIO.OUT) Freq = 100 #Hz # The different colors will be initialized RED = GPIO.PWM(LED_Red, Freq) GREEN = GPIO.PWM(LED_Green, Freq) BLUE = GPIO.PWM(LED_Blue, Freq) RED.start(0) GREEN.start(0) BLUE.start(0) # This function generate the actually color # You can change the color with the specific color variable # After the configuration of the color if finished, you will use time.sleep to # configure how long the specific color will be displayed def LED_color(Red, Green, Blue, pause): RED.ChangeDutyCycle(Red) GREEN.ChangeDutyCycle(Green) BLUE.ChangeDutyCycle(Blue) time.sleep(pause) RED.ChangeDutyCycle(0) GREEN.ChangeDutyCycle(0) print "LED-test [press ctrl+c to end]" # Main program loop: # The task of this loop is to create for every single color an own variable # By mixing the brightness levels of the colors, you will get a color gradient. try: while True: for x in range(0,2): for y in range(0,2): for z in range(0,2): print (x,y,z) for i in range(0,101): LED_color((x*i),(y*i),(z*i),.02) # Scavenging work after the end of the program except KeyboardInterrupt: GPIO.cleanup()