Arduino/C2/Pulse-Width-Modulation/Bengali
From Script | Spoken-Tutorial
Revision as of 16:49, 14 July 2020 by Kaushik Datta (Talk | contribs)
Time | Narration |
00:01 | Pulse Width Modulation এর স্পোকেন টিউটোরিয়ালে আপনাদর স্বাগত। |
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 | 1KHz একটি কৌশল যা দিয়ে 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 | এটি সংযোগের লাইভ সেটআপ। |
03:20 | ছবিতে দেখানো অনুযায়ী সংযোগ করুন। |
03:23 | Arduino IDE খুলি।
আমরা PWM পিন ব্যবহার করে LED এর উজ্জ্বলতা বদলাতে একটি প্রোগ্রাম লিখব। |
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 | এটি সংযোগের লাইভ সেটআপ, যেমনকি চিত্রে দেখানো হয়েছে। |
07:00 | আমি motor এর শাফটে একটি চাকা স্থির করেছি। |
07:04 | এটি motor এর ঘূর্ণন এবং গতির পরিবর্তন স্পষ্টভাবে দেখতে সহায়তা করবে। |
07:10 | এখন আমরা এই সার্কিটটি চালু করতে একটি প্রোগ্রাম লিখব। |
07:14 | Arduino IDE তে যান। |
07:18 | এখানে দেখানো অনুযায়ী কোড লিখুন।
আমরা Arduino এবং driver IC এর মাঝে সংযোগ শুরু করেছি। |
07:28 | Potentiometer পিনটি analog পিন A0 এর সাথে যুক্ত। |
07:33 | fwdbuttonPin, Arduino এর পিন 13 এর সাথে যুক্ত push button এর জন্য ভ্যারিয়েবল। |
07:40 | bckbuttonPin, Arduino এর পিন 12 এর সাথে যুক্ত push button এর জন্য ভ্যারিয়েবল। |
07:47 | ICpin2 এবং ICpin7 হল ভ্যারিয়েবল যা 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 | ধরুন আমরা দুটি বোতামের কোনোটি টিপছি না। |
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 টিপব যা পিন 13 এর সাথে যুক্ত। |
10:39 | আমরা motor ঘড়ির কাঁটার দিকে ঘুরতে দেখি। |
10:43 | এখন আমি push button ছেড়ে দেবো। |
10:47 | motor ঘোরা বন্ধ করবে এবং এটি OFF অবস্থায় থাকবে। |
10:52 | এখন আবার, আমি পিন 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 | অনুশীলনী হিসাবে:
উপরোক্ত সার্কিট সংযোগে LED এর বদলে Buzzer যুক্ত করুন। |
11:45 | একই প্রোগ্রাম আপলোড করুন এবং আউটপুট যাচাই করুন। |
11:49 | আপনি বিভিন্ন ফ্রিকোয়েন্সি সহ একটি শব্দ শুনতে পাবেন। |
11:53 | এখানে অনুশীলনীর ফলাফল রয়েছে। |
12:01 | নিম্ন লিঙ্কে ভিডিওটি স্পোকেন টিউটোরিয়াল প্রকল্পকে সারাংশিত করে। এটি ডাউনলোড করুন এবং দেখুন। |
12:09 | স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে এবং প্রশংসাপত্র দেয়। আরও তথ্যের জন্য, আমাদের লিখুন। |
12:19 | এই ফোরামে আপনার সময়সীমার প্রশ্নগুলি পোস্ট করুন। |
12:23 | Spoken Tutorial প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। |
12:29 | এই টিউটোরিয়ালটিতে আই আই টী বোম্বে এর Spoken Tutorial এবং FOSSEE এর অবদান রয়েছে।
আমি কৌশিক দত্ত বিদায় নিচ্ছি। অংশগ্রহনের জন্য ধন্যবাদ। |