Difference between revisions of "Arduino/C2/Pulse-Width-Modulation/Hindi"
From Script | Spoken-Tutorial
Sakinashaikh (Talk | contribs) |
Sakinashaikh (Talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 68: | Line 68: | ||
|01:08 | |01:08 | ||
| और '''L293D Motor Driver IC''' जैसे बाह्य '''components''' की भी आवश्यकता होगी। | | और '''L293D Motor Driver IC''' जैसे बाह्य '''components''' की भी आवश्यकता होगी। | ||
− | |||
|- | |- | ||
Line 150: | Line 149: | ||
| '''LED''' के '''cathode''' लेग को '''ground''' से जोड़ें। | | '''LED''' के '''cathode''' लेग को '''ground''' से जोड़ें। | ||
− | |||
|- | |- | ||
|03:17 | |03:17 | ||
Line 394: | Line 392: | ||
|09:24 | |09:24 | ||
| '''potentiometer''' मान के आधार पर '''motor''' की गति परिवर्तित होगी। | | '''potentiometer''' मान के आधार पर '''motor''' की गति परिवर्तित होगी। | ||
− | |||
|- | |- | ||
Line 493: | Line 490: | ||
| 11:53 | | 11:53 | ||
| यहाँ असाइनमेंट का आउटपुट है। | | यहाँ असाइनमेंट का आउटपुट है। | ||
− | |||
|- | |- | ||
|12:01 | |12:01 | ||
Line 499: | Line 495: | ||
कृपया इसे डाउनलोड करें और देखें। | कृपया इसे डाउनलोड करें और देखें। | ||
− | |||
|- | |- |
Latest revision as of 15:30, 30 January 2020
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 | यह स्क्रिप्ट विकास द्वारा अनुवादित है।
हमसे जुड़ने के लिए धन्यवाद। |