बुधवार, 1 मार्च 2017

Arduino Digital button with Pulldown and Pullup resistors

(फोटो मोठा करून पाहण्यासाठी क्लिक करा)

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


Components

  • Arduino Uno's board with USB cable
  • one breadboard small
  • one Tact Switch
  • one LED
  • Resistors 220 Ohms, 10 K Ohms, one each.
  • Jumper wires (Male-Male)
या प्रयोगासाठी लागणाऱ्या साऱ्या गोष्टी तुम्हाला आर्डूइनो उनोच्या एखाद्या स्टार्टर किटमधे मिळतील. तुम्ही जर अजून एखादा किट घेतला नसेल तर या पानाच्या उजव्या बाजूला दिसत असलेल्या लिंक वरून तुम्ही एखादे किट खरेदी करू शकता.

Prerequisite

या प्रयोगासाठी आपल्याला आर्डूइनोच्या  प्रोग्रामिंग सॉफ्टवेअरची आवश्यकता आहे.  तुम्हाला ते कॉम्प्युटरवर इंस्टॉल करावे लागेल. जर तुम्ही अजून केले नसेल तर या लिंकवरून डाउनलोड करू शकता.


Circuit

या प्रयोगामध्ये आपण दोन सर्किट बनवू. पहिल्या सर्किटमधे एलइडी कायम बंद असेल आणि बटन दाबल्यावरच पेटेल. दुसऱ्या सर्किटमधे एलइडी कायम चालू असेल आणि बटन दाबल्यावरच बंद होईल. दोन्ही सर्किटसाठी एकच प्रोग्राम चालतो 

LED Normally Off

(फोटो मोठा करून पाहण्यासाठी क्लिक करा)

येथे आपण आर्डूइनो उनोचे दोन डिजिटल पोर्ट वापरू. पिन 13 आणि  2. तुम्ही यासाठी इतर कोणतेही पोर्ट (डिजिटल) वापरू शकता.

येथे आपण एक टॅक्ट स्वीच वापरलेला आहे. तुम्हाला या स्वीचच्या पिनांची माहिती नसेल तर या आर्टिकलमधे याची माहिती वाचू शकता.

टॅक्ट स्वीचबद्दल  सविस्तर माहिती मी एका व्हिडियोमध्ये दिली आहे. तुम्हाला हवे असल्यास तुम्ही हा व्हिडिओ या लिंकवर पाहू शकता.

टॅक्ट स्वीचला  ब्रेडबोर्डच्या मधोमध असलेल्या दरीच्या वर बसवून घ्या. आणि एलइडी पण एखाद्या ठिकाणी बसवा.  एलइडीची लांब पिन पॉजिटिव्ह आणि आखूड पिन निगेटिव्हची असते .

आपण 10 किलो ओहम्सचा रेजिस्टर पुश बटणाच्या कोणत्याही एका बाजूला जोडू शकतो. आणि रेजिस्टरचे दुसरे टोक आपण ब्रेडबोर्डवरील ग्राउंडच्या लेनशी जोडू. जर तुमच्या ब्रेडबोर्डवर लाल आणि निळ्या रेघा असतील तर निळ्या रंगाच्या रेषेजवळील पिनांना ग्राउंडशी कनेक्ट करण्यासाठी वापरता येते.

या सर्किटला आपण वेगवेगळ्या प्रकारे जोडू शकतो, पण समजण्यास अडचण होऊ नये म्हणून मी कमीत कमी वायारींचा वापर केलेला आहे.

आपण 220 ओहम्सच्या रेजिस्टरला एलईडीच्या आखूड पिनशी जोडू . एलईडीचे आखूड पिन निगेटिवचे असते याला  कॅथोड म्हणतात. रेजिस्टरचे दुसरे टोक आपण ब्रेडबोर्डच्या निळ्या लेनशी जोडू.

जर तुम्हाला ब्रेडबोर्डवर कनेक्शन कसे करतात हे माहीत नसेल तर ते तुम्ही या लेखामधे वाचू शकता.

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

आता आपण स्वीचच्या ग्राउंडशी जोडलेल्या बाजूला आर्डूइनोच्या डिजिटल पिन क्रमांक 2 शी जोडू.

आता आपण एलईडीच्या लांब पिनला आर्डूइनोच्या  डिजिटल पिन क्रमांक 13 शी जोडू.

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

File - Examples - Digital - Button

याला अपलोड करण्यासाठी अपलोडचे आईकॉन वापरा किंवा Skecth - Upload या मेनूचा वापर करा.
प्रोग्राम अपलोड झाल्यानंतर तुम्ही जर बटन दाबले तर एलइडी पेटताना दिसेल. आणि बोट सोडल्यावर ती परत विझेल.

याचे प्रोग्रामिंग समजावण्यासाठी मी याचे एक संक्षिप्त संस्करण बनवले आहे.

(फोटो मोठा करून पाहण्यासाठी क्लिक करा)

int x = 2;

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

setup() function

सेटअप फंक्शनमधे आपण पिन क्रमाक 2 ला इनपुट पोर्ट आणि पिन 13 ला आउटपुट पोर्ट म्हणून ठरवतो.

loop() function

लूप फंक्शनमधे आपण 2 क्रमांकाच्या पोर्टला मिळणाऱ्या व्हॅल्यूला x मध्ये साठवतो आणि 13 क्रमांकाच्या पोर्ट वरून एलइडीला सिग्नल पाठवतो. 

असा हा साधा प्रोग्राम आहे.


LED Normally On

(फोटो मोठा करून पाहण्यासाठी क्लिक करा)

या सर्किटमधे एलइडी कायम पेटत असेल. आणि बटन दाबल्यावर फक्त तो बंद होईल. यासाठी सर्किट मध्ये काही बदल करावे लागतील.

पहिल्या सर्किटशी तुलना करता या सर्किटमधे  10 किलो ओह्म्सच्या रेजिस्टरचे स्थान बदललेले आहे. आपण रेजिस्टरला ग्राउंड ऐवजी 5V च्या पिनशी जोडू . स्वीच आणि इनपुट पिनला जोडलेला रेजिस्टर जेव्हा ग्राउंडशी जोडला जातो त्या स्थितीत त्याला पुल डाउन रेजिस्टर म्हणतात. आणि हा जर रेजिस्टर आपण स्वीच आणि पॉजिटिव्ह सप्लायच्या मधे जोडतो आणि स्वीचच्या याच पिनला इनपुट पिनशी जोडतो तेव्हा त्याला पुल अप रेजिस्टर म्हणतात.

जर आपल्याला स्वीचपासून मिळणारा सिग्नल कायम LOW हवा असेल तर रेजिस्टरला  पुल डाउन रेजिस्टरच्या स्थितीमधे, आणि कायम  HIGH हवा असेल तर पुल अप रेजिस्टरच्या स्थितीत जोडला जातो. ही स्थिती इनपुट साठी जोडल्या गेलेल्या स्वीचला लागू होते.

आउटपुटशी जोडलेल्या एलइडीच्या कोणत्याही पिनला तुम्ही रेजिस्टर जोडला तरी चालतो.    

या सर्किटसाठी पण आपण वरील प्रोग्रामच वापरू.

यामध्ये जेव्हा आपण बटन दाबू तेव्हा एलइडीला बंद करू आणि इतर वेळी ती पेटत राहील.  

Summary

या आर्टिकलमधे आपण आर्डूइनो उनोच्या डिजिटल पिनामधून डिजिटल इनपुट आणि आउटपुट कसे होते ते पहिले आणि त्याचबरोबर रेजिस्टरच्या  पुल अप आणि पुल डाउन स्थिती बद्दल पण माहिती घेतली.