शनिवार, 4 फ़रवरी 2017

Arduino Uno - Fade in Marathi



आज आपण आर्डूइनोच्या सॉफ्टवेअर मधील एक उदाहरण पाहू.  फेड हा प्रोग्राम तुम्हाला File - Examples - Basics - Fade या ठिकाणी आढळून येईल.

या प्रयोगासाठी लागणारे सारे साहित्य तुम्हाला आर्डूइनो उनोच्या कुठल्याही स्टार्टर किट मध्ये आढळून येईल. तुम्ही जर आर्डूइनोचा किट अजून घेतला नसेल तर अमॅझॉनच्या या लिंकवर तुम्हाला कोणतेही किट घेता येईल.


या प्रयोगासाठी आपल्याला आर्डूइनो उनोचा बोर्ड, एक ब्रेडबोर्ड, एक एलइडी, 220 ओहमचा एक रेजिस्टर, आणि दो वायरी पाहिजेत. या प्रयोगासाठी मी पिवळ्या रंगाची एक आणि काळ्या रंगाची एक वायर वापरली आहे.


click to enlarge

एलइडीला ब्रेडबोर्ड वर बसवा. या प्रयोगामध्ये त्याच्या कोणत्याही बाजूला  रेजिस्टर जोडला तरी चालतो. मी या ठिकाणी एलइडीच्या निगेटिव्ह, कॅथोड म्हणजे त्याच्या आखूड पिनला रेजिस्टर जोडला आहे. आणि रेजिस्टरच्या दुसऱ्या बाजूला काळी वायर जोडली आहे. काळ्या वायरीचे दुसरे टोक आर्डूइनोच्या Gnd या पिनला जोडले आहे.

एलइडीच्या पॉजिटिव्ह, अॅनोड म्हणजे त्याच्या लांब पिनला मी पिवळी वायर जोडली आहे. पिवळ्या वायरीचे दुसरे टोक मी आर्डूइनोच्या 9 क्रमांकाच्या पिनला जोडले आहे.

यानंतर आर्डूइनोचा बोर्ड  कॉम्प्युटरच्या यूएसबी पोर्टला जोडून घ्या. आणि आर्डूइनोचा IDE उघडा. त्यामध्ये

click to enlarge
Fade हा प्रोग्राम उघडा. त्यानंतर वरील बाजूला असलेल्या अपलोडच्या आईकॉन वर क्लिक करा म्हणजे हा प्रोग्राम  आर्डूइनोच्या बोर्ड वर अपलोड होईल.

अपलोड पूर्ण होताक्षणी तुम्हाला एलइडी हळू हळू प्रखर होताना आणि नंतर हळूहळू मंद होताना दिसेल. हे fade या प्रोग्राम मुळे घडते.

या प्रोग्राम चे संक्षिप्त व्हर्जन मी येथे खाली देत आहे. हा प्रोग्राम देखील आर्डूइनो वर टेस्ट केलेला आहे.


click to enlarge

प्रोग्राम च्या सुरवातीला आपण x आणि a हे दोन (इंटिजर व्हेरिअेबल्स) चल पूर्णांक बनवले आहेत. व्हेरिअेबल्स म्हणजे चल अक्षर किंवा शब्दांचा वापर आपण प्रोग्राममध्ये अशासाठी करतो, जिथे अनेक ठिकाणी या संख्या वापराव्या लागतात. यांच्या वापरामुळे  प्रोग्राम मध्ये चल शब्दांच्या मूल्यामध्ये एकदाच बदल केल्यास संपूर्ण प्रोग्राम मध्ये सर्व ठिकाणी ते शब्द जेथे जेथे वापरले गेले आहेत तेथे हा बदल लागू होतो.

आर्डूइनोच्या IDE मधील fade या मूळ प्रोग्राम मध्ये तुम्हाला असे बरेच चल शब्द (variables) वापरलेले दिसतील.

आर्डूइनोच्या प्रोग्राम मध्ये दोन मुख्य फंक्शन असतात. setup() आणि loop()

त्यापैकी setup() हा फंक्शन आर्डूइनोच्या बोर्डवर अपलोड केल्यानंतर जेव्हा त्याला विद्युत प्रवाह जोडला जातो त्यावेळी फक्त एकदा, म्हणजे पहिल्यांदा बजावला (execute) जातो. त्यानंतर loop() हे फंक्शन विजेचा प्रवाह असेपर्यंत सतत बजावला जातो.

setup() मध्ये आपल्याला फक्त एक फंक्शन दिसते.
pinMode(9, OUTPUT)

याठिकाणी pinMode() हे आर्डूइनो मधील अंगभूत (in-built) फंक्शन आहे. या फंक्शन मध्ये फक्त दोन घटक (parameters) आहेत. पहिला घटक आर्डूइनोचा पिन क्रमांक दर्शवतो, तर दुसरा घटक हा या पिन वर तुम्हाला आवक (input) करायची आहे किंवा जावक (output) करायची आहे हे ठरवण्यासाठी असतो.

त्यानंतर loop() फंक्शन मध्ये analogWrite(9, x) हा फंक्शन वापरला आहे. हा देखील आर्डूइनो मधील अंगभूत फंक्शन आहे. या ठिकाणी पहिला घटक हा आर्डूइनो चा पिन क्रमांक आहे, तर दुसरा घटक हा PWM ( pulse width modulation) पल्स विड्थ मॉड्युलेशनच्या ड्यूटी सायकल चे मूल्य दर्शवतो.

( पल्स विड्थ मॉड्युलेशन म्हणजे विद्युत लहरींची रुंदी नियंत्रित करणे )

आर्डूइनोच्या  बोर्ड वर ही रुंदी त्याच्ता ड्यूटी सायकल च्या संख्येत 0 ते 255 या पल्यात करता येते. loop() हे फंक्शन एकदा बजावल्यानंतर x चे मूल्य आपण 5 ने वाढवतो. आणि त्या प्रमाणात  विद्युत लहरींची रुंदी वाढते आणि एलइडीचा प्रकाश तितक्या प्रमाणात प्रखर होतो. ही संख्या 255 पर्यंत पोचल्यावर एलइडीचा प्रकाश सर्वाधिक प्रखर दिसतो. त्यानंतर आपण ही संख्या प्रत्येक चक्रामध्ये (cycle) 5 ने कमी करतो. x ही संख्या 0 पेक्षा खाली गेल्यास परत आपण याला प्रत्येक चक्रात 5 अंकाने वाढवतो. त्यामुळे आपल्याला एलइडी हळू हळू प्रखर होत असलेली आणि परत हळू हळू मंद होत असलेली दिसते.

या ठिकाणी delay() हा फंक्शन loop() च्या प्रत्येक चक्रामध्ये तितका वेळ थबकण्यासाठी वापरला जातो. येथे 30 हा अंक दिसतो. हे 30 मिली सेकंद आहेत.

तुम्हाला हवे असल्यास a या चलाची (variable) संख्या कमी किंवा जास्त करून पहा. a ची संख्या कमी केल्यास एलइडीच्या पेटण्या विझण्याची गती मंदावते आणि a ची संख्या वाढवल्यास ही गती वाढते.

त्याच प्रमाणे delay() ची संख्या कमी केल्यास एलइडीच्या पेटण्या विझण्याची गती वाढते आणि ही संख्या वाढवल्यास गती कमी होते.