Arduino/C2/Pulse-Width-Modulation/Hindi

From Script | Spoken-Tutorial
Revision as of 15:30, 30 January 2020 by Sakinashaikh (Talk | contribs)

Jump to: navigation, search
Time Narration
00:01 Pulse Width Modulation के Spoken Tutorial में आपका स्वागत है।
00:06 इस ट्यूटोरियल में हम, PWM i.e Pulse Width modulation
00:13 PWM Duty Cycle
00:16 PWM Frequency

L293D Motor Driver IC के बारे में सीखेंगे।

00:24 इस ट्यूटोरियल का अनुसरण करने के लिए, आपके पास

Electronics और C or C++ प्रोग्रामिंग लैंग्वेज का मौलिक ज्ञान होना चाहिए।

00:35 इस ट्यूटोरियल को रिकॉर्ड करने के लिए, मैं

Arduino Uno board

00:40 Ubuntu Linux 16.04 OS

Arduino IDE का उपयोग कर रही हूं।

00:46 हमें

Breadboard

00:53 10K Ohm Potentiometer

LED

00:58 220 ohm Resistor
01:01 Jumper Wires

Push Button

01:05 DC Motor
01:08 और L293D Motor Driver IC जैसे बाह्य components की भी आवश्यकता होगी।
01:14 PWM signal वर्गाकार तरंग सिग्नल है जिसमें 1KHz जैसी उच्च आवृत्ति होती है।
01:22 PWM एक ऐसी तकनीक है जिसके द्वारा pulse का आयाम परिवर्तित होता है।
01:28 यह तरंग की आवृत्ति को स्थिर रखते हुए किया जाता है।
01:33 PWM signal में दो मुख्य गुण होते हैं जो इसके गतिविधि को परिभाषित करते हैं।
01:40 वे Duty Cycle और Frequency हैं।
01:44 यह समय का प्रतिशत है, digital signal पूरे समय अवधि में ऑन होता है।
01:50 Duty cycle 0% से 100% तक परिवर्तित हो सकता है।
01:55 duty cycle का प्रतिशत गणना करने वाला सूत्र यहाँ दिखाया गया है।
02:01 tON उस समय अवधि के बराबर होता है जब signal हाई होता है।
02:06 tOFF उस समय अवधि के बराबर होता है जब signal लो होता है।
02:11 Time Period, tON + tOFF है।

यानी यह PWM signal के on समय और off समय के योग के बराबर होता है।

02:24 आवृत्ति यह निर्धारित करती है कि PWM, cycle को कितना तेज पूरा करता है।
02:29 यानी यह कितनी तेजी से HIGH से LOW स्टेट में बदलता है।
02:34 हम duty cycle को परिवर्तित करके एक सरल प्रयोग करेंगे।
02:39 यह LED की चमक को कंट्रोल करेगा।
02:43 Arduino Uno में 6 PWM channels होते हैं।
02:48 Arduino Uno के 3, 5, 6, 9, 10, 11 पिन PWM channels हैं।
02:58 PWM channels, tilde चिह्न द्वारा निरूपित किए जाते हैं।
03:02 आइये सर्किट कनेक्शन देखते हैं।
03:05 220 ohm resistor' के माध्यम से LED के anode लेग को Arduino के पिन 9 से जोड़ें।
03:13 LED के cathode लेग को ground से जोड़ें।
03:17 यह कनेक्शन का live setup है।
03:20 चित्र में दिखाए गए अनुसार कनेक्शन करें।
03:23 Arduino IDE खोलें।

हम PWM पिन का उपयोग करके LED की चमक को बदलने के लिए एक program लिखेंगे।

03:32 दिखाए गए अनुसार कोड टाइप करें।
03:35 हमने PWM pin 9 को variable LED_Pin के लिए निर्दिष्ट किया है।
03:42 हमनें LED को टर्न ON करने के लिए duty_cycle value को 1 के रूप में इनिशलाइज्ड किया है।
03:51 void setup के अंदर, हम pinMode function लिखेंगे।
03:56 हमने Arduino के pin 9 को OUTPUT के रूप में स्पष्ट किया है।
04:01 void loop function के अंदर हम इस कोड को लिखेंगे।

कोड को स्पष्ट करें।

04:08 तब तक लूप कोड को निष्पादित करता है जब तक कि duty_cycle_value 255 से कम नहीं हो जाता है।
04:17 analogWrite() function का उपयोग PWM signal जेनरेट करने के लिए किया जाता है।
04:22 हम दो parameters पास कर रहे हैं। यानी PWM पिन नंबर और duty cycle वैल्यू।
04:30 duty cycle का मान 0 से 255 अर्थात 0 वोल्ट और 5 वोल्ट के बीच होना चाहिए।
04:40 हम 3000 मिलीसेकंड अर्थात 3 सेकंड का delay रखेंगे।
04:46 अपने program को वेरीफाई करने के लिए compile बटन पर क्लिक करें।
04:51 वर्तमान program को सेव करने के लिए एक पॉप अप विंडो दिखाई देगा।
04:55 program को LED_Brightness के रूप में सेव करें और Save बटन पर क्लिक करें।
05:03 अब Arduino बोर्ड में वर्तमान program को अपलोड करने के लिए upload बटन पर क्लिक करें।
05:09 हम LED' की चमक को क्रमशः बढ़ते हुए देख सकते हैं।
05:15 इसके बाद, हम DC motor की गति और दिशा को कंट्रोल करने के लिए एक प्रयोग करेंगे।
05:22 यह L293D motor driver IC का pinout डायग्राम है।
05:28 motor की गति IC के EN 1 और EN 2 द्वारा कंट्रोल होती है।
05:36 motor की दिशा IC के IN1, IN2, IN3, IN4 द्वारा कंट्रोल होती है।
05:45 हम इस IC का उपयोग करके एक समय में 2 motors को कंट्रोल कर सकते हैं।
05:50 अपने प्रयोग में, हम केवल एक DC motor को जोड़ेंगे।
05:55 अब हम सर्किट कनेक्शन देखते हैं।
05:58 driver IC के पिन 1, पिन 8 और पिन 16 5V से जुड़े हैं।
06:05 driver IC के पिन 4 और पिन 5 ground से जुड़े हैं।
06:11 driver IC के पिन 2 और पिन 7 Arduino के पिन 11 और पिन 10 से जुड़ें हैं।
06:20 2 push buttons, Arduino के पिन 12 और पिन 13 से जुड़े हुए हैं।
06:27 इन push buttons का उपयोग DC motor की दिशा को कंट्रोल करने के लिए किया जाता है।
06:33 10Kohm potentiometer, DC motor की गति को कंट्रोल करने के लिए जुड़ा हुआ है।
06:39 potentiometer का मध्य पिन analog पिन A0 से जुड़ा हुआ है।
06:45 driver IC के पिन 3 और पिन 6 DC motor से जुड़े हुए हैं।
06:51 चित्र में दिखाए गए अनुसार कनेक्शन करें।
06:55 यह कनेक्शन का live setup है, जैसा कि चित्र में दिखाया गया है।
07:00 मैंने motor के शाफ्ट पर व्हील फिक्स किया है।
07:04 यह motor के रोटेशन और गति परिवर्तन को स्पष्ट रूप से देखने में मदद करेगा।
07:10 अब हम इस सर्किट को चालू करने के लिए program लिखेंगे।
07:14 Arduino IDE पर जाएं।
07:18 यहां दिखाए गए अनुसार कोड टाइप करें।

हमने Arduino और driver IC के बीच कनेक्शन इनिशियलाइज़ किया है।

07:28 Potentiometer पिन analog से जुड़ा हुआ है।
07:33 fwdbuttonPin, Arduino के पिन 13 से जुड़े push button के लिए variable है।
07:40 bckbuttonPin , Arduino के पिन 12 से जुड़े push button के लिए variable है।
07:47 ICpin2 और ICpin7 , variables हैं जो IC के पिन 2 और पिन 7 को इंगित करते हैं।
07:57 वे क्रमशः Arduino के पिन 11 और पिन 10 से जुड़े हुए हैं।
08:04 पहले हम यह सुनिश्चित करते हैं कि potentiometer, motor और push buttons, LOW अवस्था में हैं।

इसके लिए हमने इसे 0 पर इनिशियलाइज़ किया है।

08:15 void setup function में, हम इस कोड को लिखेंगे।
08:20 pinMode function पिन्स को INPUT' या OUTPUT के रूप में निर्धारित करता है।
08:25 fwdbuttonPin और bckbuttonPin INPUT_PULLUP मोड पर सेट हैं।
08:32 इस मोड में हम Arduino के आंतरिक pull-up resistors का उपयोग कर रहे हैं।
08:38 INPUT_PULLUP मोड के बारे में जानने के लिए, मैनुअल को देखें।
08:44 Arduino IDE में Help menu पर क्लिक करें।

फिर Reference पर क्लिक करें।

08:50 यह आपके ब्राउज़र में एक ऑफ़लाइन पेज खोलता है।

नीचे स्क्रॉल करें।

08:55 INPUT_PULLUP पर क्लिक करें।
09:00 Arduino IDE पर वापस जाएं।
09:03 ICpin2 और ICpin7, motor को चलाने के लिए OUTPUT मोड पर सेट हैं।
09:10 इसके बाद हम कोड को void loop function में लिखेंगे।
09:14 analogRead command, potentiometer से analog मान को रीड करेगा।
09:20 यह मान analog पिन A0 को दिया जाएगा।
09:24 potentiometer मान के आधार पर motor की गति परिवर्तित होगी।
09:30 map command, analog मान को digital में परिवर्तित करेगा।
09:35 यदि push button दबा हुआ है, तो fwdbuttonState और bckbuttonState, signal को फेच करेंगे।
09:43 यदि push button, पिन 12 से जुड़ा है या पिन 13 दबा हुआ है, तो IF command चेक करता है।
09:50 यह motor को दक्षिणावर्त या वामावर्त दिशा में घूमने में सक्षम बनाता है।
09:56 मान लीजिए कि हम दो buttons में से किसी को नहीं दबाते हैं।
10:00 तो else command सुनिश्चित करता है कि motor, OFF स्थिति में है।
10:05 यह कोड इस ट्यूटोरियल के Code Files लिंक में उपलब्ध है। आप इसे डाउनलोड और उपयोग कर सकते हैं।
10:13 program को जांचने के लिए compile बटन पर क्लिक करें।
10:17 प्रोग्राम को PWM_Motor के रूप में सेव करें और Save बटन पर क्लिक करें।
10:25 अब Arduino में वर्तमान program को अपलोड करने के लिए upload बटन पर क्लिक करें।
10:31 अब हम उपरोक्त program के आउटपुट को देखेंगे।
10:35 मैं push button को दबाऊंगी जो pin 13 से जुड़ा है।
10:39 हम motor को दक्षिणावर्त दिशा में रोटेट करते हुए देख सकते हैं।
10:43 अब मैं push button को रिलीज़ करूँगी।
10:47 motor रोटेट करना बंद कर देगा और यह OFF अवस्था में होगा।
10:52 अब फिर से, मैं pin 12 से जुड़े push button को दबाऊंगी।
10:57 हम motor को वामावर्त दिशा में रोटेट करते हुए देख सकते हैं।
11:02 हम A0 से जुड़े potentiometer को समायोजित करके motor की गति को बदल सकते हैं।
11:14 यह हमें इस ट्यूटोरियल के अंत में लाता है। संक्षेप में वर्णन करें।
11:20 इस ट्यूटोरियल में, हमने

Pulse Width modulation

11:26 PWM Duty Cycle
11:29 PWM Frequency और DC motor की गति और दिशा को किस प्रकार करना है के बारे में सीखा।
11:38 assignment के रूप में-

उपरोक्त सर्किट कनेक्शन में LED के बजाय Buzzer को जोड़ें।

11:45 उसी program को अपलोड करें और आउटपुट चेक करें।
11:49 आपको विभिन्न आवृत्तियों के साथ ध्वनि सुनाई देगी।
11:53 यहाँ असाइनमेंट का आउटपुट है।
12:01 निम्नलिखित लिंक पर मौजूद वीडियो Spoken Tutorial प्रोजेक्ट का संक्षिप्त में वर्णन करता है।

कृपया इसे डाउनलोड करें और देखें।


12:09 Spoken Tutorial Project टीम वर्कशॉप आयोजित करती है और सर्टिफिकेट देती है।

अधिक जानकारी के लिए, कृपया हमें लिखें।

12:19 कृपया इस मंच पर अपने समयबद्ध प्रश्नों को पोस्ट करें।
12:23 Spoken Tutorial Project, NMEICT, MHRD, भारत सरकार द्वारा वित्त पोषित है।
12:29 यह स्क्रिप्ट विकास द्वारा अनुवादित है।

हमसे जुड़ने के लिए धन्यवाद।

Contributors and Content Editors

Sakinashaikh