- అవసరమైన పదార్థాలు:
- LDR:
- RGB LED:
- సర్క్యూట్ రేఖాచిత్రం:
- ప్రోగ్రామింగ్ వివరణ:
- ఆర్డునో కలర్ మిక్సింగ్ లాంప్ యొక్క పని:
ఒకే RGB నేతృత్వంలో వేర్వేరు రంగులను ఉత్పత్తి చేసి, మా గది మూలను మరింత ఆకర్షణీయంగా మార్చగలిగితే? కాబట్టి, ఇక్కడ ఒక సాధారణ ఆర్డునో బేస్డ్ కలర్ మిక్సింగ్ లాంప్ ఉంది, ఇది గదిలో కాంతిలో మార్పు వచ్చినప్పుడు రంగును మార్చగలదు. కాబట్టి ఈ దీపం గదిలోని కాంతి పరిస్థితులకు అనుగుణంగా స్వయంచాలకంగా దాని రంగును మారుస్తుంది.
ప్రతి రంగు ఎరుపు, ఆకుపచ్చ మరియు నీలం రంగు కలయిక. కాబట్టి మనం ఎరుపు, ఆకుపచ్చ మరియు నీలం రంగులను ఉపయోగించడం ద్వారా ఏదైనా రంగును ఉత్పత్తి చేయవచ్చు.కాబట్టి, ఇక్కడ మనం PWM ను మారుస్తాము, అంటే LDR లపై కాంతి తీవ్రత. ఇది RGB LED లో ఎరుపు, ఆకుపచ్చ మరియు నీలం రంగు యొక్క తీవ్రతను మరింత మారుస్తుంది మరియు విభిన్న రంగులు ఉత్పత్తి చేయబడతాయి.
దిగువ పట్టిక విధి చక్రాలలో సంబంధిత మార్పులతో రంగు కలయికలను చూపుతుంది.
అవసరమైన పదార్థాలు:
- 1 x ఆర్డునో UNO
- 1 x బ్రెడ్బోర్డ్
- 3 x 220-ఓం రెసిస్టర్లు
- 3 x 1-కిలోహోమ్ రెసిస్టర్లు
- జంపర్ వైర్లు
- 3 x ఎల్డిఆర్లు
- 3 x రంగు స్ట్రిప్స్ (ఎరుపు, ఆకుపచ్చ, నీలం)
- 1 x RGB LED
LDR:
ఈ సర్క్యూట్లో మేము ఫోటోరేసిస్టర్ (లేదా కాంతి-ఆధారిత నిరోధకం, LDR లేదా ఫోటో-కండక్టివ్ సెల్) ను ఉపయోగిస్తాము. LDR లు సెమీకండక్టర్ పదార్థాల నుండి తయారవుతాయి, అవి వాటి కాంతి-సున్నితమైన లక్షణాలను కలిగి ఉంటాయి. ఈ LDR లు లేదా ఫోటో రెసిస్టర్లు “ఫోటో కండక్టివిటీ” సూత్రంపై పనిచేస్తాయి. ఇప్పుడు ఈ సూత్రం ఏమిటంటే, LDR యొక్క ఉపరితలంపై కాంతి పడిపోయినప్పుడల్లా (ఈ సందర్భంలో) మూలకం యొక్క ప్రవర్తన పెరుగుతుంది లేదా మరో మాటలో చెప్పాలంటే, LDR యొక్క ఉపరితలంపై కాంతి పడిపోయినప్పుడు LDR యొక్క నిరోధకత పడిపోతుంది. LDR కు నిరోధకత తగ్గడం యొక్క ఈ ఆస్తి సాధించబడుతుంది ఎందుకంటే ఇది ఉపరితలంపై ఉపయోగించే సెమీకండక్టర్ పదార్థం యొక్క ఆస్తి.
RGB లెడ్ లోపల వ్యక్తిగత ఎరుపు, ఆకుపచ్చ మరియు నీలం LED యొక్క ప్రకాశాన్ని నియంత్రించడానికి ఇక్కడ మూడు LDR సెన్సార్లు ఉపయోగించబడతాయి. ఆర్డునోతో ఎల్డిఆర్ను నియంత్రించడం గురించి ఇక్కడ మరింత తెలుసుకోండి.
RGB LED:
ఉన్నాయి రెండు రకాల RGB LED లను, ఒకే ఉమ్మడి కాథోడ్ రకం (సాధారణ ప్రతికూల) మరియు ఇతర సాధారణ యానోడ్ రకం (సాధారణ సానుకూల) రకం. CC (కామన్ కాథోడ్ లేదా కామన్ నెగెటివ్) లో, ప్రతి టెర్మినల్ ఒక రంగును సూచించే మూడు పాజిటివ్ టెర్మినల్స్ మరియు మూడు రంగులను సూచించే ఒక నెగటివ్ టెర్మినల్ ఉంటుంది.
మా సర్క్యూట్లో మేము CA (కామన్ యానోడ్ లేదా కామన్ పాజిటివ్) రకాన్ని ఉపయోగించబోతున్నాము. కామన్ యానోడ్ రకంలో, మేము RED LED ఆన్ చేయాలనుకుంటే, మేము RED LED పిన్ను గ్రౌండ్ చేసి, కామన్ పాజిటివ్కు శక్తినివ్వాలి. అన్ని LED లకు కూడా అదే జరుగుతుంది. ఆర్డునోతో RGB LED ని ఇంటర్ఫేస్ చేయడానికి ఇక్కడ తెలుసుకోండి.
సర్క్యూట్ రేఖాచిత్రం:
ఈ ప్రాజెక్ట్ యొక్క పూర్తి సర్క్యూట్ రేఖాచిత్రం పైన ఇవ్వబడింది. సర్క్యూట్ రేఖాచిత్రంలో చూపిన + 5 వి మరియు గ్రౌండ్ కనెక్షన్ను ఆర్డునో యొక్క 5 వి మరియు గ్రౌండ్ పిన్ నుండి పొందవచ్చు. Arduino ను మీ ల్యాప్టాప్ నుండి లేదా DC జాక్ ద్వారా 12V అడాప్టర్ లేదా 9V బ్యాటరీని ఉపయోగించి శక్తినివ్వవచ్చు.
RGB నేతృత్వంలోని ప్రకాశాన్ని మార్చడానికి మేము PWM ని ఉపయోగిస్తాము. మీరు PWM గురించి ఇక్కడ మరింత తెలుసుకోవచ్చు. Arduino తో కొన్ని PWM ఉదాహరణలు ఇక్కడ ఉన్నాయి:
- Arduino Uno చే వేరియబుల్ విద్యుత్ సరఫరా
- Arduino ఉపయోగించి DC మోటార్ కంట్రోల్
- ఆర్డునో బేస్డ్ టోన్ జనరేటర్
ప్రోగ్రామింగ్ వివరణ:
మొదట, మేము క్రింద చూపిన విధంగా అన్ని ఇన్పుట్లను మరియు అవుట్పుట్ పిన్నులను ప్రకటిస్తాము.
const బైట్ red_sensor_pin = A0; const బైట్ green_sensor_pin = A1; const బైట్ blue_sensor_pin = A2; const బైట్ green_led_pin = 9; const బైట్ blue_led_pin = 10; const బైట్ red_led_pin = 11;
సెన్సార్లు మరియు లెడ్స్ యొక్క ప్రారంభ విలువలను 0 గా ప్రకటించండి.
సంతకం చేయని పూర్ణాంకం red_led_value = 0; సంతకం చేయని Int blue_led_value = 0; సంతకం చేయని పూర్ణాంకం green_led_value = 0; సంతకం చేయని పూర్ణాంకానికి red_sensor_value = 0; సంతకం చేయని Int blue_sensor_value = 0; సంతకం చేయని పూర్ణాంకం green_sensor_value = 0; శూన్య సెటప్ () { పిన్మోడ్ (రెడ్_లెడ్_పిన్, OUTPUT); పిన్మోడ్ (బ్లూ_లెడ్_పిన్, OUTPUT); పిన్మోడ్ (గ్రీన్_లెడ్_పిన్, OUTPUT); సీరియల్.బెగిన్ (9600); }
లూప్ విభాగంలో, మేము అనలాగ్ రీడ్ () తో మూడు సెన్సార్ల అవుట్పుట్ తీసుకుంటాము ; ఫంక్షన్ మరియు స్టోర్ మూడు వేర్వేరు వేరియబుల్స్లో.
void loop () { red_sensor_value = అనలాగ్ రీడ్ (red_sensor_pin); ఆలస్యం (50); blue_sensor_value = అనలాగ్ రీడ్ (బ్లూ_సెన్సర్_పిన్); ఆలస్యం (50); green_sensor_value = అనలాగ్ రీడ్ (గ్రీన్_సెన్సర్_పిన్);
డీబగ్గింగ్ ప్రయోజనం కోసం ఆ విలువలను సీరియల్ మానిటర్లో ముద్రించండి
సీరియల్.ప్రింట్ల్న్ ("రా సెన్సార్ విలువలు:"); సీరియల్.ప్రింట్ ("Red t ఎరుపు:"); సీరియల్.ప్రింట్ (రెడ్_సెన్సర్_వాల్యూ); సీరియల్.ప్రింట్ ("Blue t నీలం:"); సీరియల్.ప్రింట్ (బ్లూ_సెన్సర్_వాల్యూ); సీరియల్.ప్రింట్ ("Green t గ్రీన్:"); సీరియల్.ప్రింట్ల్న్ (గ్రీన్_సెన్సర్_వాల్యూ);
మేము సెన్సార్ల నుండి 0-1023 విలువలను పొందుతాము కాని మా ఆర్డునో పిడబ్ల్యుఎం పిన్స్ 0-255 విలువలను అవుట్పుట్గా కలిగి ఉంటాయి. కాబట్టి మన ముడి విలువలను 0-255 గా మార్చాలి. దాని కోసం మనం ముడి విలువలను 4 ద్వారా విభజించాలి లేదా ఈ విలువలను మార్చడానికి ఆర్డునో యొక్క మ్యాపింగ్ ఫంక్షన్ను ఉపయోగించవచ్చు.
red_led_value = red_sensor_value / 4; // ఎరుపు LED ని నిర్వచించండి blue_led_value = blue_sensor_value / 4; // నీలం LED ను నిర్వచించండి green_led_value = green_sensor_value / 4; // గ్రీన్ లెడ్ను నిర్వచించండి
మ్యాప్ చేసిన విలువలను సీరియల్ మానిటర్కు ప్రింట్ చేయండి
Serial.println ("మ్యాప్డ్ సెన్సార్ విలువలు:"); సీరియల్.ప్రింట్ ("Red t ఎరుపు:"); సీరియల్.ప్రింట్ (red_led_value); సీరియల్.ప్రింట్ ("Blue t నీలం:"); సీరియల్.ప్రింట్ (బ్లూ_లెడ్_వాల్యూ); సీరియల్.ప్రింట్ ("Green t గ్రీన్:"); సీరియల్.ప్రింట్ల్న్ (గ్రీన్_లెడ్_వాల్యూ);
RGB LED కోసం అవుట్పుట్ సెట్ చేయడానికి అనలాగ్ రైట్ () ని ఉపయోగించండి
అనలాగ్రైట్ (రెడ్_లెడ్_పిన్, రెడ్_లెడ్_వాల్యూ); // ఎరుపు LED అనలాగ్రైట్ను సూచిస్తుంది (బ్లూ_లెడ్_పిన్, బ్లూ_లెడ్_వాల్యూ); // నీలం LED అనలాగ్రైట్ను సూచిస్తుంది (గ్రీన్_లెడ్_పిన్, గ్రీన్_లెడ్_వాల్యూ); // ఆకుపచ్చను సూచిస్తుంది
ఆర్డునో కలర్ మిక్సింగ్ లాంప్ యొక్క పని:
మేము మూడు ఎల్డిఆర్లను ఉపయోగిస్తున్నందున, ఈ సెన్సార్లపై తేలికపాటి సంఘటన జరిగినప్పుడు, దాని నిరోధకత మారుతుంది, ఫలితంగా వోల్టేజీలు ఆర్డునో యొక్క అనలాగ్ పిన్ల వద్ద కూడా మారుతాయి, ఇది సెన్సార్ల కోసం ఇన్పుట్ పిన్లుగా పనిచేస్తుంది.
ఈ సెన్సార్లలో కాంతి యొక్క తీవ్రత మారినప్పుడు, ఇది RGB లో దారితీస్తుంది, ప్రతిఘటన మారుతున్న పరిమాణంతో మెరుస్తుంది మరియు PWM ని ఉపయోగించి RGB లో వేర్వేరు రంగు మిక్సింగ్ ఉంటుంది.