Friday, April 24, 2020

নিউটনের গতির সুত্রঃ

           প্রথম সুত্রঃ "বল প্রয়োগ না করলে স্থির বস্থু স্থির থাকবে এবং সমবেগে চলতে থাকা বস্তু সমবেগে চলতে থাকবে"
           দ্বিতীয় সুত্রঃ "বস্তুর ভরবেগের পরিবর্তনের হার তার উপর প্রযুক্ত বলের সমানুপাতিক এবং বল যে দিকে প্রয়োগ করা হয় বস্তুর ভরবেগের পরিবর্তন সে দিকেই ঘটে"
           তৃতীয় সুত্রঃ "প্রত্যেক ক্রিয়ার সমান ও বিপরীত প্রতিক্রিয়া আছেঅর্থাত যখন একটি বস্তু অন্য একটি বস্তুর উপর বল প্রয়োগ করে তখন সেই বস্তুটিও প্রথম বস্তুটির উপর বিপরীত দিকে সমান বল প্রয়োগ করে। 

Thursday, April 23, 2020

What is Static Frequency Converter?

Static Frequency Converter (SFC) কী? সহজ বাংলা ব্লগ

Static Frequency Converter (SFC) কী? সহজ বাংলায় জানুন

আমাদের চারপাশে অনেক ইলেকট্রিক যন্ত্র রয়েছে যেগুলো নির্দিষ্ট একটি ফ্রিকোয়েন্সিতে (frequency) কাজ করে। কিন্তু সবসময় বিদ্যুৎ সাপ্লাই সেই ফ্রিকোয়েন্সিতে হয় না। তখন প্রয়োজন হয় এমন একটি ডিভাইস, যা বিদ্যুৎ সাপ্লাইয়ের ফ্রিকোয়েন্সি পরিবর্তন করতে পারে। একে বলা হয় Static Frequency Converter (SFC)

Frequency বলতে কী বোঝায়?

বিদ্যুৎ প্রবাহের একটি গতি বা ছন্দ (rhythm) থাকে — প্রতি সেকেন্ডে কয়বার তা দিক পরিবর্তন করে, সেটাই ফ্রিকোয়েন্সি। একে বলা হয় Hertz (Hz)। উদাহরণস্বরূপ, বাংলাদেশে বিদ্যুৎ সরবরাহের ফ্রিকোয়েন্সি সাধারণত ৫০ হের্জ।

Static Frequency Converter (SFC) কী?

SFC হলো এমন একটি ইলেকট্রনিক ডিভাইস যা বিদ্যুৎ প্রবাহের ফ্রিকোয়েন্সি পরিবর্তন করে। সহজভাবে বললে, এটি এক ধরনের রূপান্তরকারী (converter) যা এক রকম ফ্রিকোয়েন্সিকে অন্য রকম ফ্রিকোয়েন্সিতে রূপান্তর করে দেয়।

"Static" শব্দের মানে কী?

"Static" মানে হলো — এতে কোনো ঘূর্ণমান বা চলমান যন্ত্রাংশ (moving parts) নেই। এটি পুরোপুরি ইলেকট্রনিক সার্কিট দিয়ে তৈরি, ফলে এর রক্ষণাবেক্ষণও সহজ।

SFC কিভাবে কাজ করে? (সহজ ভাষায়)

  1. প্রথমে AC বিদ্যুৎকে DC তে রূপান্তর করা হয়।
  2. তারপর সেই DC বিদ্যুৎকে আবার প্রয়োজনীয় ফ্রিকোয়েন্সির AC তে রূপান্তর করা হয়।
  3. এইভাবে আমরা যন্ত্রে পছন্দমতো ফ্রিকোয়েন্সি দিতে পারি।

সহজ উদাহরণ:

ধরুন আপনি বিদেশ থেকে এমন একটি ফ্যান কিনেছেন যা চলে ৬০ হের্জ ফ্রিকোয়েন্সিতে। কিন্তু আপনার বাসায় ৫০ হের্জের বিদ্যুৎ থাকে। ফ্যানটি ঠিকভাবে চলবে না। এই সমস্যার সমাধান হলো একটি Static Frequency Converter ব্যবহার করা, যা ৫০ হের্জকে ৬০ হের্জে রূপান্তর করবে।

SFC কোথায় ব্যবহৃত হয়?

  • ✈️ এয়ারপোর্টে — বিমান চলাচলের সময় নির্দিষ্ট ফ্রিকোয়েন্সি প্রয়োজন হয়।
  • 🚆 রেলওয়েতে — ইলেকট্রিক ট্রেন চালাতে নির্দিষ্ট ফ্রিকোয়েন্সি দরকার।
  • 🏭 শিল্প কারখানায় — স্পেশাল মেশিন পরিচালনার জন্য।
  • 🔋 Renewable energy systems — যেমন উইন্ড টারবাইন, সোলার ইনভার্টার।

SFC এর সুবিধা কী?

  • ✅ কোন ঘূর্ণন অংশ নেই — তাই কম মেরামত লাগে
  • ✅ নির্ভরযোগ্য ও টেকসই
  • ✅ নির্ভুল ফ্রিকোয়েন্সি নিয়ন্ত্রণ
  • ✅ একাধিক ফ্রিকোয়েন্সিতে কাজ করতে পারে

SFC এর সীমাবদ্ধতা

  • ⚠️ দাম তুলনামূলকভাবে বেশি
  • ⚠️ অতিরিক্ত তাপ উৎপন্ন হতে পারে
  • ⚠️ ইনস্টল করার জন্য দক্ষ টেকনিশিয়ান দরকার

উপসংহার

Static Frequency Converter (SFC) একটি আধুনিক প্রযুক্তি যা নির্দিষ্ট ফ্রিকোয়েন্সির বিদ্যুৎ সরবরাহ নিশ্চিত করে। এটি বিশেষ যন্ত্রপাতি ও শিল্প ব্যবস্থার জন্য অত্যন্ত গুরুত্বপূর্ণ একটি ডিভাইস। এর সাহায্যে যেসব যন্ত্র নির্দিষ্ট ফ্রিকোয়েন্সি চায়, সেগুলো সহজেই চালানো সম্ভব হয়।

আরও জানতে চান?

আপনি যদি এমন আরও সহজ প্রযুক্তিগত বিষয় জানতে চান — যেমন Inverter কীভাবে কাজ করে, Voltage ও Frequency এর পার্থক্য, তাহলে আমাদের ফলো করুন এবং কমেন্ট করুন! আমরা বাংলায় প্রযুক্তিকে সহজভাবে তুলে ধরছি প্রতিদিন 

Friday, April 10, 2020

4x4 keypad interfacing with ArduinoUNO

4x4 কিপ্যাড এবং Arduino UNO প্রজেক্ট

৪x৪ কিপ্যাড ও LCD ডিসপ্লে সহ Arduino UNO প্রজেক্ট

বর্তমান যুগে ইলেকট্রনিক্স ও মাইক্রোকন্ট্রোলার ভিত্তিক প্রকল্পগুলোর জনপ্রিয়তা অনেক বেড়ে গেছে। বিশেষ করে যারা শিখতে চান কিভাবে বিভিন্ন ইনপুট ও আউটপুট ডিভাইস Arduino এর মাধ্যমে নিয়ন্ত্রণ করা যায়, তাদের জন্য ৪x৪ কিপ্যাড এবং ১৬x২ এলসিডি ডিসপ্লে একটি চমৎকার প্রজেক্ট।

এই ব্লগে আমরা দেখব কীভাবে একটি ৪x৪ কিপ্যাডকে Arduino UNO-র সাথে সংযুক্ত করে, LCD ডিসপ্লেতে প্রেসকৃত বাটনের মান দেখানো যায়।


প্রয়োজনীয় উপকরণ

  • Arduino UNO
  • ৪x৪ কিপ্যাড
  • ১৬x২ LCD ডিসপ্লে
  • ১০ কিলোওহম পোটেনশিওমিটার (বা ১ কিলোওহম যেমন চিত্রে)
  • জাম্পার তার
  • ব্রেডবোর্ড (ঐচ্ছিক)


সংযোগ পদ্ধতি

LCD ডিসপ্লে সংযোগ (১৬x২):

LCD-এর পিন ও Arduino-এর সংযোগ:

  • RS → পিন 6
  • EN → পিন 7
  • D4 → পিন 8
  • D5 → পিন 9
  • D6 → পিন 10
  • D7 → পিন 11
  • RW → গ্রাউন্ডে
  • VSS → গ্রাউন্ডে
  • VDD (VCC) → 5V
  • VEE → পোটেনশিওমিটার দিয়ে গ্রাউন্ডে (LCD কনট্রাস্ট নিয়ন্ত্রণে)

কিপ্যাড সংযোগ (৪x৪):

কিপ্যাডের মোট ৮টি পিন (৪টি রো ও ৪টি কলাম), সংযুক্ত হবে Arduino-এর ডিজিটাল পিন 0-7 তে।

সংযোগ:

  • Row A-D (উপর থেকে নিচে) → Arduino পিন 0-3
  • Column 1-4 (বাম থেকে ডানে) → Arduino পিন 4-7


প্রজেক্টের কাজের ধারণা

এই প্রজেক্টে যখন কিপ্যাডের একটি বাটন প্রেস করা হয়, তখন Arduino সেই কী চিহ্নিত করে এবং সেটিকে LCD ডিসপ্লেতে প্রদর্শন করে। যেমনঃ যদি “5” চাপা হয়, LCD-তে দেখা যাবে:

Button: 5

Simulation screenshot:
 
4x4 Keypad Interfacing with Arduino
Fig: Button pressed 5


4x4 Keypad Interfacing with Arduino
Fig: Button pressed 6
Code:
#include <Key.h>
#include <Keypad.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13 );
const byte ROWS = 4;
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
  {'7', '8', '9', '/'},
  {'4', '5', '6', 'X'},
  {'1', '2', '3', '-'},
  {'C', '0', '=', '+'}
};
byte rowPins[ROWS] = {7, 6, 5, 4};
byte colPins[COLS] = {3, 2, 1, 0};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Button:");
  }
void loop(){
  char customKey = customKeypad.getKey();
  if (customKey){
  lcd.setCursor(10,0);
  lcd.print(customKey);
     }
}

উপসংহার 

 এই প্রজেক্টের মাধ্যমে Arduino ব্যবহার করে কীভাবে ইউজার ইনপুট নেওয়া যায় ও সেটি ডিসপ্লেতে দেখানো যায় তা শিখতে পারবেন। এটি একটি দুর্দান্ত প্রাথমিক প্রজেক্ট যা ভবিষ্যতের বড় বড় সিস্টেম যেমন ক্যালকুলেটর, পাসওয়ার্ড লক ইত্যাদির ভিত্তি তৈরি করে।

Arduino and LM35 interfacing.

LM35 সেন্সর এবং Arduino UNO প্রজেক্ট

কিভাবে একটি তাপমাত্রা সেন্সরকে(LM35) আরডুইনোর সঙ্গে সংযুক্ত করা যায়

এই ওয়ার্কশপে আমরা দেখব কীভাবে একটি তাপমাত্রা সেন্সরকে আরডুইনোর সঙ্গে সংযুক্ত করা যায়। এখানে আমরা LM35 সেন্সর ব্যবহার করছি, যা ব্যবহার করা খুব সহজ এবং এর আউটপুটও সহজে রিড করা যায়। সেন্সরের আউটপুট আরডুইনোর এনালগ পিন A1-এ সংযুক্ত করা হয়েছে। আমরা একটি LCD ব্যবহার করছি পরিবেশের প্রকৃত তাপমাত্রা প্রদর্শনের জন্য। পূর্ববর্তী ওয়ার্কশপে আমরা ইতিমধ্যে LCD ইন্টারফেসিং নিয়ে আলোচনা করেছি, তাই এই অংশটি আজ আমরা এড়িয়ে যাচ্ছি। 

যন্ত্রাংশের নাম পরিমাণ
Arduino Uno 1টি
LM35 তাপমাত্রা সেন্সর 1টি
16x2 LCD (I2C বা সাধারণ) 1টি
ব্রেডবোর্ড 1টি
জাম্পার তার কিছু
USB কেবল (Arduino এর জন্য) 1টি



প্রোটিয়াস সিমুলেশন স্ক্রিনশট:
প্রোটিয়াস সফটওয়্যারে তৈরি সার্কিটের স্ক্রিনশট।




ব্রেডবোর্ড চিত্র: বাস্তব ব্রেডবোর্ডে সংযুক্ত যন্ত্রাংশের ছবি। 
 

................................................................................................................................................।
Code:
#include <LiquidCrystal.h>               // include the library code:                                        
LiquidCrystal lcd(2, 3, 4,5 , 6, 7);     // initialize the LCD with the numbers of the interface pins
float temp = 0;
int temp1=0;
void setup() {
               lcd.begin(16, 2);                          // set up the LCD's number of columns and rows:
               lcd.print("mahabub's note");       // Print a message to the LCD.
                     }
void loop()
         {
         lcd.setCursor(6, 1);            // set the cursor to column 6, line 1
         temp= analogRead(1);  //returns: 0-1023
         temp1= (temp*500)/1023;
         lcd.print(temp1);
         lcd.setCursor(9, 1);
         lcd.print("C");
         delay(100);

         }
.........................................................................................................................................................

এই প্রজেক্টটি নতুনদের জন্য খুব উপযোগী, কারণ এটি সহজে Arduino, সেন্সর ও LCD ডিসপ্লের কাজ শেখায়। আপনি চাইলে এই প্রজেক্টকে আরও উন্নত করে WiFi দিয়ে তাপমাত্রা অনলাইনে পাঠাতে পারেন বা তাপমাত্রা নির্দিষ্ট মান অতিক্রম করলে অ্যালার্ম দিতে পারেন।

Gas leakage detector by ArduinoUNO

Arduino UNO ও MQ-2 গ্যাস সেন্সর দিয়ে গ্যাস ডিটেকশন সিস্টেম তৈরি করুন


প্রজেক্টের সংক্ষিপ্ত বিবরণ:

এই প্রজেক্টে আমরা Arduino UNO মাইক্রোকন্ট্রোলার ব্যবহার করে একটি গ্যাস ডিটেকশন সিস্টেম তৈরি করব, যেখানে MQ-2 গ্যাস সেন্সর ব্যবহার করা হয়েছে গ্যাস সনাক্ত করতে এবং LCD ডিসপ্লে, LED ও Buzzer ব্যবহার করা হয়েছে সতর্কবার্তা প্রদানের জন্য।

🧰 প্রয়োজনীয় উপকরণ:

  1. Arduino UNO
  2. MQ-2 গ্যাস সেন্সর
  3. 16x2 LCD ডিসপ্লে
  4. 1টি পোটেনশিওমিটার (RV1 - 10kΩ বা 1kΩ)
  5. ১টি NPN ট্রানজিস্টর (BD135)
  6. রেড LED
  7. Buzzer
  8. কিছু সংযোগ তার এবং ব্রেডবোর্ড

🛠️ সার্কিটের বিবরণ:

MQ-2 গ্যাস সেন্সর:

  • Vcc → 5V
  • GND → GND
  • OUT → Arduino-এর A0 পিন
LCD ডিসপ্লে (16x2):
  • সাধারণভাবেই সংযুক্ত করা হয়েছে (RS → D12, EN → D11, D4-D7 → D10-D7)
  • পোটেনশিওমিটার দিয়ে কনট্রাস্ট কন্ট্রোল করা হয়েছে
আউটপুট ডিভাইস:
  • যখন গ্যাস নির্ধারিত সীমার চেয়ে বেশি হয়, তখন Arduino একটি HIGH সিগনাল দেয়।
  • এই সিগনাল দিয়ে BD135 ট্রানজিস্টর অন হয়।
  • ফলে LED জ্বলে ওঠে এবং Buzzer বেজে ওঠে সতর্কবার্তা হিসাবে।
Simulation Screenshots:
Fig: Gas detection negative

Fig: Gas detection positive

🧠 প্রোগ্রামের কাজের ধারা:

  • প্রোগ্রামে A0 পিন থেকে সেন্সরের রিডিং নেওয়া হয়।
  • নির্দিষ্ট থ্রেশহোল্ড (যেমন: 400 বা 500) অতিক্রম করলে:

    LCD তে "Gas Detect: Yes" লেখা দেখায়।
  • LED অন হয় এবং Buzzer বেজে ওঠে।
  • গ্যাস না থাকলে "Gas Detect: No" লেখা দেখা যায় ডিসপ্লেতে।
Code: 

#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2,3,4,5, 6, 7);
int Gas = 0;
int Buzzer = 1;
void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Gas Detect:");
  lcd.setCursor(1,2);
  lcd.print("Projects Club");
  pinMode(Gas , INPUT);
  pinMode (Buzzer,OUTPUT);
}
void loop() {
  if(digitalRead(Gas) == HIGH)
          {lcd.setCursor(12,0);
          lcd.print(" Yes");
           digitalWrite(Buzzer,HIGH);}
  if(digitalRead(Gas) == LOW)
         {lcd.setCursor(12,0);
         lcd.print(" No ");
        digitalWrite(Buzzer,LOW);}

 }

ব্যবহারিক প্রয়োগ:

  • রান্নাঘরে গ্যাস লিক শনাক্তকরণ
  • ল্যাবরেটরিতে নিরাপত্তা নিশ্চিতকরণ
  • ছোট শিল্প প্রতিষ্ঠানে গ্যাস নির্গমন পর্যবেক্ষণ

উপসংহার:

এই প্রজেক্টটি নতুনদের জন্য দুর্দান্ত একটি প্রকল্প, যেটি বাস্তব জীবনের নিরাপত্তামূলক একটি গুরুত্বপূর্ণ প্রযুক্তি শেখার সুযোগ করে দেয়। অল্প কিছু কম্পোনেন্ট দিয়ে কীভাবে একটি কার্যকরী গ্যাস সতর্কতা সিস্টেম তৈরি করা যায়, তার একটি বাস্তব উদাহরণ এটি।

Tuesday, April 7, 2020

ArduinoUNO external analog reference পিনের ব্যাবহার


AREF পিনে যে ভোল্টেজ দেওয়া হবে সেটা analogRead() ফাংশনের সরবচ্চ ভোল্টেজ হিসেবে কাজ করবে। যেমনঃ
AREF পিনে ২.৫ ভোল্টেজ দেয়া হলে
(0 – 2.5V ) ভোল্টেজ রেঞ্জের জন্য ডিজিটাল রিড করবে ~ (0 – 1023)
analogRead() ফাংশন কল করার analogReference() External সেট করতে হবে।

analogReference(EXTERNAL);

SensorValue= analogRead(0);


Friday, April 3, 2020

Function sq() and sqrt() :


sq()

কোন সংখ্যার বর্গ নির্ণয় করার জন্য এই ফাংশনটি ব্যাবহার হয়ে থাকে।
Y=sq(x)
X:সংখ্যাটি যে কোন ডাটা টাইপ হতে পারে।
Y:সংখ্যাটির ডাটা টাইপ হবে double, অন্য ডাটা টাইপ ডিক্লেয়ার করলে রেজাল্ট ঠিক আসবে না।
X= ৫ হলে, Y=sq(5), Y= ২৫ হবে
Source

sqrt()

কোন সংখ্যার বর্গমূল নির্ণয় করার জন্য এই ফাংশনটি ব্যাবহার হয়ে থাকে।
Y=sqrt(x)
X:সংখ্যাটি যে কোন ডাটা টাইপ হতে পারে।
Y:সংখ্যাটির ডাটা টাইপ হবে double, অন্য ডাটা টাইপ ডিক্লেয়ার করলে রেজাল্ট ঠিক আসবে না।
X= ২৫ হলে, Y=sq(25), Y= ৫ হবে
Source

Function pow():


pow()


  • pow(base, exponent)

           base: Allowed data types: float.
                        
exponent: Allowed data types: float.
                         The result of the exponentiation. Data type: double.

  • z = pow(x, y);

x=10.00 এবং y = 2.00 হলে  z = 100.00 হবে।

Thursday, April 2, 2020

char টাইপ ভেরিয়েবলঃ



ASCII character রাখার জন্য এই ভেরিয়েবলটি ব্যবহার হয়ে থাকে।
প্রোগ্রামে যদি লেখা হয়,
char delta;
তাহলে কম্পাইলার প্রোগ্রাম চলা কালীন সময় মেমোরিতে delta নামে ১ বাইট বা ৮ বিট জায়গা বরাদ্ধ রাখবে।
char টাইপ ভেরিয়েবলের মান হিসেবে -128  থেকে +127 এর মধ্যবর্তী যে কোন ASCII মানের  অক্ষর নিয়ে কাজ করা যাবে।
char delta = 65; এখানে delta ভেরিয়েবল এর জন্য A অক্ষরটি ধরা হয়েছে কারণ A এর ASCII মান ৬৫।
কোন char ভেরিয়েবলে একটি character রাখতে পারব, একাধিক character রাখার দরকার হলে C- তে string ভেরিয়েবল ডিক্লেয়ার করতে হবে।