Difference between revisions of "Arduino/C2/Pulse-Width-Modulation/Tamil"
From Script | Spoken-Tutorial
Line 390: | Line 390: | ||
|- | |- | ||
|09:35 | |09:35 | ||
− | | | + | | push button'''அழுத்தப்படும் போது, '''fwdbuttonState''' மற்றும் '''bckbuttonState''', '''signal'''ஐ கொண்டு கொடுக்கும் |
|- | |- |
Latest revision as of 15:23, 9 March 2022
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 அல்லது 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 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 ன் உள் நாம் இந்த 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 | programஐ LED_Brightness என சேமித்து, Save பட்டனை க்ளிக் செய்வோம் |
05:03 | இப்போது, தற்போதைய programஐ Arduino 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க்கு இடையேயான இணைப்பை நாம் துவக்கியுள்ளோம் |
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 க்கு துவக்கியுள்ளோம் |
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ல் நாம் codeஐ எழுதுவோம் |
09:14 | analogRead command, potentiometerல் இருந்து analog மதிப்பை படிக்கும் |
09:20 | இந்த மதிப்பு, analog pin A0க்கு வழங்கப்படும் |
09:24 | potentiometerன் மதிப்புக்கு ஏற்ப, motorன் வேகம் மாறுபடும் |
09:30 | map command, analog மதிப்பை digital ஆக மாற்றும் |
09:35 | 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 | இப்போது, தற்போதைய programஐ Arduinoவில் 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 | இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ, குரல் கொடுத்தது பிரியதர்ஷினி. கலந்துகொண்டமைக்கு நன்றி. |