Arduino Ecosystem

Arduino प्लेटफॉर्म की शुरुआत 2005 में हुई थी, और यह आज इलेक्ट्रॉनिक्स और एम्बेडेड डिज़ाइन के क्षेत्र में सबसे योग्य और प्रमुख ब्रांडों में से एक बन गया है। Arduino के मूल स्तंभों में हार्डवेयर, सॉफ्टवेयर और प्रोग्रामिंग शामिल हैं। Arduino बोर्ड एक माइक्रोकंट्रोलर आधारित हार्डवेयर प्लेटफॉर्म है, जो विभिन्न सेंसर, मोटर्स, एलईडी और अन्य इलेक्ट्रॉनिक उपकरणों को नियंत्रित करने के लिए उपयोग किया जाता है। इस पर कोड लिखने के लिए Arduino प्रोग्रामिंग भाषा (जो Wiring पर आधारित है) और Arduino IDE (Integrated Development Environment) का उपयोग किया जाता है, जो Mac, Windows और Linux पर चलता है। कोड (स्केच) लिखने के बाद इसे USB के माध्यम से बोर्ड पर अपलोड किया जाता है। अपना खुद का प्रोजेक्ट बनाने के लिए Arduino बोर्ड (Uno, Mega, Nano, आदि), Arduino IDE सॉफ़्टवेयर, सेंसर और मॉड्यूल (जैसे Ultrasonic Sensor, IR Sensor, आदि), मोटर, एलईडी, जम्पर वायर, ब्रेडबोर्ड और पावर सप्लाई (बैटरी या USB केबल) की आवश्यकता होती है। इन सभी components के माध्यम से, Arduino का उपयोग रोबोटिक्स, IoT, होम ऑटोमेशन और कई अन्य इलेक्ट्रॉनिक्स प्रोजेक्ट्स में किया जाता है।

Arduino Board को समझते है :

Arduino Uno बोर्ड के विभिन्न महत्वपूर्ण घटकों और पिनों को दिखाया गया है। आइए एक एक कर विस्तार में जानते हैं :-

  1. Reset Button (रिसेट बटन) :
    यह बटन Arduino बोर्ड को रीसेट करने के लिए उपयोग किया जाता है, जिससे कोड का निष्पादन (Execution) फिर से शुरू हो जाता है।
  2. USB B Type (यूएसबी बी टाइप) :
    यह USB पोर्ट Arduino को कंप्यूटर से कनेक्ट करने के लिए उपयोग किया जाता है, जिससे प्रोग्रामिंग और पावर सप्लाई संभव होती है।
  3. Poly Fuse (पॉली फ्यूज़) :
    यह बोर्ड को अधिक करंट से बचाने के लिए एक सुरक्षा फ्यूज़ के रूप में कार्य करता है।
  4. AT-Mega 16U2 (एटी-मेगा 16U2) :
    यह माइक्रोकंट्रोलर USB और सीरियल कम्युनिकेशन को नियंत्रित करता है, जिससे कंप्यूटर और Arduino बोर्ड के बीच डेटा ट्रांसफर किया जाता है।
  5. Crystal Oscillator (क्रिस्टल ऑस्सीलेटर) :
    यह Arduino के माइक्रोकंट्रोलर को स्थिर घड़ी संकेत (Clock Signal) प्रदान करता है, जिससे यह सही समय पर कार्य कर सके।
  6. Voltage Regulator (वोल्टेज रेगुलेटर) :
    यह Arduino को स्थिर वोल्टेज प्रदान करता है और अधिक वोल्टेज से बचाव करता है।
  7. Comparator (कम्पेरेटर) :
    यह एक इलेक्ट्रॉनिक घटक है जो वोल्टेज की तुलना करता है और आउटपुट देता है।
  8. DC Jack (डीसी जैक) :
    यह पोर्ट Arduino को 9V या 12V की बैटरी या एडॉप्टर से पावर देने के लिए उपयोग किया जाता है।
  9. Capacitor (कैपेसिटर) :
    यह सर्किट में वोल्टेज स्टेबलाइज़ेशन और शॉर्ट सर्किट से सुरक्षा प्रदान करता है।
  10. Protection Diode (प्रोटेक्शन डायोड) :
    यह Arduino को गलत ध्रुवीयता (Reverse Polarity) से बचाने के लिए लगाया जाता है।
  11. Power Supply Section (पावर सप्लाई सेक्शन) :
    यह सेक्शन Arduino को आवश्यक पावर (5V या 3.3V) प्रदान करता है।
  12. ICMP (USB) :
    यह इन-सर्किट सीरियल प्रोग्रामर (ICSP) है, जिसका उपयोग माइक्रोकंट्रोलर को सीधा प्रोग्राम करने के लिए किया जाता है।
  13. Digital Input/Output Pins (डिजिटल इनपुट/आउटपुट पिन्स) :
    ये पिन्स डिजिटल सिग्नल को इनपुट और आउटपुट के रूप में कार्य करने के लिए उपयोग किए जाते हैं।

Arduino Uno में कुल 14 डिजिटल पिन (D0-D13) होते हैं।

  1. In Circuit Serial Programmer (SPI) (इन-सर्किट सीरियल प्रोग्रामर) :
    इसका उपयोग Arduino के माइक्रोकंट्रोलर को SPI प्रोटोकॉल के माध्यम से प्रोग्राम करने के लिए किया जाता है।
  2. AT-Mega328 Microcontroller (एटी-मेगा328 माइक्रोकंट्रोलर) :
    यह Arduino Uno का मुख्य माइक्रोकंट्रोलर है, जो सभी निर्देशों (Instructions) को प्रोसेस करता है और Arduino के सभी कार्यों को नियंत्रित करता है।
  3. Analog Input Pins (एनालॉग इनपुट पिन्स) :
    ये पिन्स एनालॉग सिग्नल को प्रोसेस करने के लिए उपयोग किए जाते हैं।

Arduino Uno में कुल 6 एनालॉग पिन (A0-A5) होते हैं।

इस तरह, Arduino के ये सभी पिन और घटक मिलकर इसे एक शक्तिशाली माइक्रोकंट्रोलर प्लेटफॉर्म बनाते हैं, जो विभिन्न प्रकार के इलेक्ट्रॉनिक्स और प्रोग्रामिंग प्रोजेक्ट्स में उपयोग किया जाता है |

Basic Operation

अधिकांश Arduino बोर्ड इस तरह डिज़ाइन किए गए हैं कि उन पर माइक्रोकंट्रोलर में एक समय में केवल एक प्रोग्राम चलाया जा सकता है। यह प्रोग्राम किसी एक विशिष्ट कार्य को करने के लिए डिज़ाइन किया जा सकता है, जैसे कि एक LED को ब्लिंक कराना। इसके अलावा, यह कई कार्यों को एक चक्र (Cycle) में लगातार निष्पादित करने के लिए भी प्रोग्राम किया जा सकता है।

जो भी प्रोग्राम माइक्रोकंट्रोलर में लोड किया जाता है, वह जैसे ही बोर्ड को पावर मिलती है, निष्पादन (Execution) शुरू कर देता है। हर प्रोग्राम में एक फ़ंक्शन होता है जिसे “loop” कहा जाता है। इस loop फ़ंक्शन के अंदर आप निम्नलिखित कार्य कर सकते हैं:

  • किसी सेंसर का डेटा पढ़ना
  • लाइट चालू करना
  • यह जांचना कि कोई विशेष स्थिति (Condition) पूरी हो रही है या नहीं
  • उपरोक्त सभी कार्य एक साथ करना।

Arduino पर प्रोग्राम की गति अत्यधिक तेज़ होती है, जब तक कि हम इसे धीमा करने के लिए कोई निर्देश न दें। प्रोग्राम की गति इस पर निर्भर करती है कि कोड कितना बड़ा है और माइक्रोकंट्रोलर को इसे Execution करने में कितना समय लगता है, लेकिन आमतौर पर यह माइक्रोसेकंड (एक सेकंड का दस लाखवां भाग) में होता है।

The basic operation of an Arduino

Circuit Basics


सर्किट में कम से कम एक सक्रिय इलेक्ट्रॉनिक घटक (Active Electronic Component) और एक प्रवाहकीय सामग्री (Conductive Material) जैसे तार (Wires)जुड़े होते हैं, जिससे विद्युत धारा (Current) प्रवाहित हो सके । जब आप Arduino के साथ काम करते हैं, तो अधिकांश मामलों में आपको अपने प्रोजेक्ट के लिए एक सर्किट बनाना होता है |

सर्किट का एक सरल उदाहरण LED सर्किट है। इसमें एक तार Arduino के एक पिन से LED तक जुड़ा होता है, और बीच में एक रेज़िस्टर (Resistor) होता है, जो LED को अत्यधिक विद्युत प्रवाह (High Current) से बचाने के लिए लगाया जाता है। इसके बाद यह तार ग्राउंड पिन (GND) से जुड़ता है। जब Arduino का पिन HIGH (उच्च) स्थिति में सेट किया जाता है, तो माइक्रोकंट्रोलर (Microcontroller) सर्किट में विद्युत धारा प्रवाहित करने की अनुमति देता है, जिससे LED जल उठती है। जब पिन को LOW (निम्न) स्थिति में सेट किया जाता है, तो विद्युत प्रवाह बंद हो जाता है और LED बुझ जाती है।