Arduino/C2/Pulse-Width-Modulation/Tamil

From Script | Spoken-Tutorial
Revision as of 12:16, 26 January 2022 by Jayashree (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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++ programming language languageன் அடிப்படை தெரிந்து இருக்கவேண்டும்.
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 Wireகள், Push Button
01:05 DC Motor
01:08 மற்றும் L293D Motor Driver IC
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 channelகளை கொண்டிருக்கிறது
02:48 Arduino Unoவில் உள்ள Pin கள் 3, 5, 6, 9, 10, 11 PWM channelகளாகும்
02:58 PWM channelகள் tilde அடையாளத்தால் குறிக்கப்படுகிறது.
03:02 இப்போது circuit இணைப்பைப் பார்ப்போம்.
03:05 220 ohm resistor. மூலம் Arduinoஇன் pin 9 உடன் LEDயின் anode காலை இணைக்கவும்.
03:13 LEDன் cathode காலை groundக்கு இணைக்கவும்
03:17 இது இணைப்பின் live setup ஆகும்
03:20 படத்தில் காட்டப்பட்டுள்ளபடி இணைப்பை செய்யவும்
03:23 Arduino IDEஐ திறப்போம். PWM pinஐ பயன்படுத்தி, LEDன் பிரகாசத்தை மாற்ற ஒரு programஐ எழுதுவோம்
03:32 காட்டப்பட்டுள்ளபடி codeஐ டைப் செய்யவும்
03:35 PWM pin 9variable LED_Pin.க்கு நாம் ஒதுக்கியுள்ளோம்
03:42 LEDON செய்வதற்கு, duty_cycle_valueஐ 1 ஆக நாம் initialize செய்துள்ளோம்
03:51 void setupன் உள் நாம் pinMode functionஐ எழுதுவோம்
03:56 Arduinoன் pin 9ஐ நாம் OUTPUTஆக அறிவித்துள்ளோம்
04:01 void loop function ன் உள் நாம் இந்த codeஐ எழுதுவோம். நான் codeஐ விளக்குகிறேன்
04:08 Duty_cycle_value 255க்குக் கீழே இருக்கும் வரை While' loop codeஐ இயக்குகிறது.
04:17 analogWrite() function, PWM signalஐ உருவாக்க பயன்படுகிறது
04:22 நாம் இரண்டு parameterகளை pass செய்கிறோம். அதாவது, PWM pin எண் மற்றும் duty cycle மதிப்பு
04:30 duty cycle மதிப்பு, 0 முதல் 255 வரை அதாவது 0 வோல்ட் மற்றும் 5 வோல்ட்களுக்கு இடையே இருக்க வேண்டும்
04:40 3000 மில்லி விநாடிகள் அதாவது 3 வினாடிகளின் delayஐ நாம் வைத்திருப்போம்.
04:46 உங்கள் programஐ சரி பார்க்க, compile பட்டனை க்ளிக் செய்யவும்
04:51 தற்போதைய programஐ சேமிக்க, ஒரு pop up window தோன்றும்
04:55 programLED_Brightness என சேமித்து, Save பட்டனை க்ளிக் செய்வோம்
05:03 இப்போது, தற்போதைய programArduino board ல் upload செய்ய 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 motorகளை நாம் கட்டுப்படுத்தலாம்.
05:50 நமது சோதனையில், ஒரே ஒரு DC motorஐ இணைப்போம்.
05:55 இப்போது circuit இணைப்பைப் பார்ப்போம்.
05:58 driver IC'யின் pin 1, pin 8 மற்றும் pin 16 ஆகியவை 5V உடன் இணைக்கப்பட்டுள்ளன.
06:05 driver ICயின் pin 4 மற்றும் pin 5 ஆகியவை ground உடன் இணைக்கப்பட்டுள்ளன.
06:11 driver ICயின் pin 2 மற்றும் pin 7 ஆகியவை Arduinoன் pin 11 மற்றும் pin 10 உடன் இணைக்கப்பட்டுள்ளன.
06:20 2 push buttonகள், Arduino இன் pin 12 மற்றும் pin 13 உடன் இணைக்கப்பட்டுள்ளன.
06:27 இந்த push buttonகள் DC motorன் திசையைக் கட்டுப்படுத்தப் பயன்படுகிறது.
06:33 10Kohm potentiometer, DC motorன் வேகத்தைக் கட்டுப்படுத்த இணைக்கப்பட்டுள்ளது.
06:39 potentiometerன் நடு பின், analog pin A0 உடன் இணைக்கப்பட்டுள்ளது.
06:45 driver ICன் pin 3 மற்றும் pin 6 ஆகியவை DC motorஉடன் இணைக்கப்பட்டுள்ளன.
06:51 படத்தில் காட்டப்பட்டுள்ளபடி இணைப்பைச் செய்யவும்.
06:55 படத்தில் காட்டப்பட்டுள்ளபடி இது இணைப்பின் live setup ஆகும்.
07:00 motorன் தண்டு மீது ஒரு சக்கரத்தை நான் பொருத்தியுள்ளேன்.
07:04 இது motorன் சுழற்சி மற்றும் மாறுபட்ட வேகத்தை தெளிவாகக் காண உதவும்.
07:10 இப்போது இந்த circuit வேலை செய்ய program ஒன்றை எழுதுவோம்.
07:14 Arduino IDE.க்கு மாறுவோம்
07:18 இங்கே காட்டப்பட்டுள்ளபடி codeஐ டைப் செய்யவும். Arduino மற்றும் driver ICக்கு இடையேயான இணைப்பை நாம் initialize செய்துள்ளோம்
07:28 Potentiometer pin, analog pin A0க்கு இணைக்கப்பட்டுள்ளது
07:33 fwdbuttonPin என்பது Arduinoன் pin 13 உடன் இணைக்கப்பட்ட push buttonக்கான variable ஆகும்.
07:40 bckbuttonPin என்பது Arduinoன் pin 12 உடன் இணைக்கப்பட்ட push buttonக்கான variable ஆகும்.
07:47 ICpin2 மற்றும்' ICpin7 என்பது ICன் pin 2 மற்றும் pin 7 ஆகியவற்றைக் குறிக்கும் variableகள் ஆகும்.
07:57 அவை முறையே Arduinoன் pin 11 மற்றும் pin 10 உடன் இணைக்கப்பட்டுள்ளன.
08:04 முதலில், potentiometer, motor மற்றும் push buttonகள், LOW நிலையில் இருப்பதை நாம் உறுதிசெய்ய வேண்டும். அதற்கு நாம் அதை 0 க்கு initialize செய்துள்ளோம்
08:15 void setup functionல் நாம் இந்த codeஐ எழுதுவோம்
08:20 pinMode function, pinகளை INPUT அல்லது OUTPUTஆக வரையறுக்கிறது
08:25 fwdbuttonPin மற்றும் bckbuttonPin, INPUT_PULLUP modeக்கு set செய்யப்படுகிறது
08:32 இந்த modeல் நாம் Arduino'ன் உட்புற pull-up resistorகளை பயன்படுத்துகிறோம்.
08:38 INPUT_PULLUP modeஐ பற்றி தெரிந்து கொள்ள, கையேட்டை பார்க்கவும்
08:44 Arduino IDE.ல் உள்ள Help menuவை க்ளிக் செய்யவும். பின் Reference.ஐ க்ளிக் செய்யவும்
08:50 இது உங்கள் browserல் ஒரு offline பக்கத்தை திறக்கிறது. கீழே scroll செய்யவும்
08:55 INPUT_PULLUP. ஐ க்ளிக் செய்யவும்
09:00 Arduino IDE.க்கு திரும்பவும்
09:03 ICpin2மற்றும் ICpin7 motorஐ இயக்க OUTPUT modeக்கு set செய்யப்படுகிறது
09:10 அடுத்து, void loop functionல் நாம் ஐ எழுதுவோம்
09:14 analogRead command, potentiometerல் இருந்து analog மதிப்பை read செய்யும்
09:20 இந்த மதிப்பு, analog pin A0க்கு வழங்கப்படும்
09:24 potentiometerன் மதிப்புக்கு ஏற்ப, motorன் வேகம் மாறுபடும்
09:30 map command, analog மதிப்பை digital ஆக மாற்றும்
09:35 if push buttonஅழுத்தப்படும் போது, fwdbuttonState மற்றும் bckbuttonState, signalஐ கொண்டு கொடுக்கும்
09:43 pin 12 அல்லது pin 13 உடன் இணைக்கப்பட்டுள்ள push button அழுத்தப்பட்டிருக்கிறதா என்பதை IF command சரிபார்க்கிறது.
09:50 இது motorஐ கடிகார திசையில் அல்லது எதிர் கடிகார திசையில் சுழல உதவுகிறது.
09:56 இரண்டு buttonகளில் எதையும் நாம் அழுத்தவில்லை என்றால்,
10:00 பின்னர் else command, motor OFF நிலையில் இருப்பதை உறுதி செய்கிறது.
10:05 இந்த code, இந்த டுடோரியலின் Code file இணைப்பில் உள்ளது. நீங்கள் அதை தரவிறக்கி பயன்படுத்திக் கொள்ளலாம்
10:13 programஐ சரிபார்க்க, compile பட்டனை க்ளிக் செய்யவும்
10:17 Programஐ PWM_Motor என சேமித்து, பின் Save பட்டனை க்ளிக் செய்வோம்
10:25 இப்போது, தற்போதைய programArduinoவில் upload செய்ய, upload பட்டனை க்ளிக் செய்வோம்
10:31 இப்போது, மேலுள்ள programன் outputஐ காண்போம்
10:35 pin 13 உடன் இணைக்கப்பட்டுள்ள push buttonஐ நான் அழுத்துகிறேன்.
10:39 motor கடிகார திசையில் சுழல்வதை நாம் காணலாம்.
10:43 இப்போது நான் push buttonஐ release செய்கிறேன்
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ஆக: மேலே உள்ள circuit இணைப்பில் LEDக்கு பதிலாக Buzzerஐ இணைக்கவும்.
11:45 அதே programஐ upload செய்து, outputஐ சரிபார்க்கவும்.
11:49 வெவ்வேறு அதிர்வெண்களைக் கொண்ட சத்தத்தை நீங்கள் கேட்கலாம்.
11:53 பயிற்சியின் output இதோ
12:01 பின்வரும் இணைப்பில் உள்ள வீடியோ, Spoken Tutorial திட்டத்தை சுருங்கச் சொல்கிறது. அதை தரவிறக்கி காணவும்
12:09 Spoken Tutorial Project குழு: செய்முறை வகுப்புகள் நடத்தி, சான்றிதழ்கள் தருகிறது. மேலும் விவரங்களுக்கு எங்களுக்கு எழுதவும்.
12:19 உங்கள் நேரமிடப்பட்ட கேள்விகளை இந்த மன்றத்தில் முன்வைக்கவும்
12:23 ஸ்போகன் டுடோரியல் திட்டத்திற்கு பண ஆதரவு, இந்திய அரசாங்கத்தின், NMEICT, MHRD, மூலம் கிடைக்கிறது. மேலும் விவரங்களுக்கு இந்த தளத்தை பார்க்கவும்
12:29 இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ, குரல் கொடுத்தது பிரியதர்ஷினி. கலந்துகொண்டமைக்கு நன்றி.

Contributors and Content Editors

Arthi, Jayashree