লাইট ফ্যান ডিমার

Arduino নিয়ে কাজ করার অভিজ্ঞতা থাকলে খুব সহজেই আপনার বাসাটি চলে আসবে হাতের মুঠোয়। অবাক হচ্ছেন হয়তো, কিন্তু এই ধরণের একটি টিউটোরিয়াল থাকছে আজ। আমরা দেখবো কিভাবে ঘরের ১টি লাইট এবং ১টি ফ্যানকে হাতের মোবাইল দিয়ে খুব সহজেই নিয়ন্ত্রণ করা যায়। এই ক্ষেত্রে আমরা একটি অ্যাপ ও কিছু সার্কিট বোর্ডের সাহায্য নিবো। এই সম্পূর্ণ কাজটি করতে দরকার হবে Arduino Uno, Bluetooth HC-05 এবং 1 Channel Light Fan Dimmer Module. Bluetooth Module টি সার্কিট এবং এপের সাথে সংযোগ হবে। 1 Channel Light Fan Dimmer Module দিয়ে ফ্যান অন-অফ এর পাশাপাশি স্পীড নিয়ন্ত্রণ করবে। স্পীড নিয়ন্ত্রণ করার জন্য সার্কিটে রয়েছে একটি ট্রায়াক এবং লাইট অন অফ করার জন্য রয়েছে রিলে। RLY, DIM, Z-C, GND & 5V এই সকল পিনগুলো Arduino Uno এর সাথে কানেক্ট করে নিতে হবে সার্কিট অনুসরণ করে।  মনে রাখতে হবে, এই ফ্যান এবং লাইট দুটি ডিভাইস এসি ২২০ ভোল্টের। সুতরাং ডিসি লাইট ফ্যান সংযোগ দিয়ে চেষ্টা করা যাবে না।

Bluetooth Module Breakout (HC-05) নিয়ে কিছু তথ্য জেনে নেওয়া জরুরী। অনেক সময় সার্কিট সঠিক সংযোগ দেওয়ার পরও এপের সাথে ইন্টারফেস হচ্ছেনা। এর কারণ হতে পারে, Bluetooth Rx-Tx এর তার দুটিতে সমস্যা অথবা Bluetooth এর সমস্যা। মার্কেটগুলোতে এখন HC-05 এর ৩টি ভার্শন রয়েছে VERSION:2.0 VERSION:3.0 VERSION:4.0।  এই VERSION:4.0 আবার দুইটি তারিখে মার্কেটে বের হয়েছে যার একটির ফার্মওয়্যার সমস্যা রয়েছে। যদি সমস্যা জনিত Bluetooth Module Breakout (HC-05) দিয়ে সংযোগ দেওয়া হয়, তাহলে কাজ করবে না। আরেকটি বিষয় লক্ষণীয় Bluetooth Baud Rate 9600 সেট করে নিতে হবে। অনেক সময় Bluetooth এর এই Baud Rate 115200 দেওয়া থাকে। মনে রাখতে হবে কোড এবং হার্ডওয়ার Baud Rate একই হতে হবে অন্যথা কাজ করবেনা।

প্রয়োজনীয় কম্পোনেন্টঃ

কম্পোনেন্টের তালিকা নিচে প্রদান করা হলো।

ক্রমিক নং  কম্পোনেন্টের নাম মডেল পরিমাণ লিংক
1 Channel Light Fan Dimmer Module MOD-00204 ১টি কম্পোনেন্ট লিংক
Arduino Uno R3 (China) ARD-00028 ১টি কম্পোনেন্ট লিংক
Bluetooth Module Breakout (HC-05) WIR-00013 ১টি কম্পোনেন্ট লিংক
Power Cable 2 pin C&C-00006 ১টি কম্পোনেন্ট লিংক
Male To Female Jumper Wire – Single C&C-00071 ১০টি কম্পোনেন্ট লিংক
Adapter 12V MIS-00131 ১টি কম্পোনেন্ট লিংক
AC Light (Bulb, Tube, Fluorescent etc) ১টি
Fan (AC 220V) ১টি

কম্পোনেন্টের লিংকগুলো সমস্যা হলে চিন্তিত না হয়ে, মডেল নাম্বার দিয়ে ওয়েবসাইটে সার্চ করলেও পাওয়া যাবে। ওয়েবসাইট লিংক www.techshopbd.com

 

সার্কিট কানেকশনঃ

সার্কিট ডায়াগ্রাম দেখে কানেকশন করতে হবে। প্রোগ্রাম আপলোড দেওয়ার পূর্বে HC-05 এর TX-RX কানেকশন বিচ্ছিন্ন করে নিতে হবে। আপলোড হলে পুনরায় Rx-Tx কানেকশন দিতে হবে।

 

ডেমো কোডঃ

#include <TimerOne.h>  // Avaiable from http://www.arduino.cc/playground/Code/Timer1
volatile int i=0;               // Variable to use as a counter
volatile boolean zero_cross=0;  // Boolean to store a "switch" to tell us if we have crossed zero
int FAN = 3;   // Output to Opto Triac
int LIGHT = 7; // Relay-1
int dim = 128;  // Dimming level (0-128)  0 = on, 128 = 0ff
int pas = 14;   // step for count;
int freqStep = 75;   // This is the delay-per-brightness step in microseconds.
char BTData; // incoming data from serial Bluetooth)
void setup() {  // Begin setup
  Serial.begin(9600); // initialization
  pinMode(FAN, OUTPUT);  // Set the Triac pin as output
  pinMode(LIGHT, OUTPUT); // Set the Relay pin as output
                     
  attachInterrupt(0, zero_cross_detect, RISING);    // Attach an Interupt to Pin 2 (interupt 0) for Zero Cross Detection
  Timer1.initialize(freqStep);                      // Initialize TimerOne library for the freq we need
  Timer1.attachInterrupt(dim_check, freqStep);      
  // Use the TimerOne Library to attach an interrupt
}
void zero_cross_detect() {    
  zero_cross = true;     // set the boolean to true to tell our dimming function that a zero cross has occured
  i=0;
  digitalWrite(FAN, LOW);
}                                 
// Turn on the TRIAC at the appropriate time
void dim_check() {                   
  if(zero_cross == true) {              
    if(i>=dim) {                     
      digitalWrite(FAN, HIGH);  // turn on light       
      i=0;  // reset time step counter                         
      zero_cross=false;    // reset zero cross detection
    } 
    else {
      i++;  // increment time step counter                     
    }                                
  }    
}                                      
void Wireless()
{
    BTData = Serial.read(); // read byte
    if(BTData == 'a') {if(dim<127){dim = dim + pas; if(dim>127) {dim=128;}}} // Step DOWN
    if(BTData == 'A') {if(dim>5){dim = dim - pas;   if(dim<0)   {dim=0;}}}   // Step UP
    if(BTData == 'B') {dim=0;}   // power is 100% (on)
    if(BTData == 'b') {dim=128;} // power is 0% (off)
    if(BTData == 'C') {digitalWrite(LIGHT, HIGH); } // LIGHT ON
    if(BTData == 'c') {digitalWrite(LIGHT, LOW); }  // LIGHT OFF
}
void loop() {  
                                     
delay (100);
 Wireless();
}

এপের ব্যবহারঃ

সার্কিট কানেকশন সম্পূর্ণ করে কোড আপলোড দিতে হবে। অতপর WirelessSmartSwitchV.1.1 এই এপটি ডাউনলোড করে ইন্সটল করে নিতে হবে।

এপটি চালু করে উপরের ডানপাশে ৩টি ডট দেখতে পাবো সেখানে ক্লিক করতে হবে। অতপর Connect ক্লিক করতে হবে। এবার Allow দিলে Bluetooth On হবে। যদি পূর্বে থেকে HC-05 Pair করা না থেকে থাকে, তাহলে bluetooth Pair অপশন থেকে করে নিতে হবে। Pair Password 1234.  পুনরায় এপটি চালু করলে HC-05 লিস্টে দেখতে পাবো এবং তাতে ক্লিক করলেই কানেকশন হয়ে যাবে।

এবার Speed + – প্রেস করলে ফ্যানের স্পিড বৃদ্ধি এবং হ্রাস পাবে। Fan ও Light-1 এদের পাশের ON-OFF বাটন প্রেস করলে কাঙ্ক্ষিত ডিভাইসটি নিয়ন্ত্রণ হবে। এপটি মূলত ২টি লাইট ও একটি ফ্যানের জন্য। এই টিউটোরিয়ালে যেহেতু ১টি লাইট ব্যবহার করা হয়েছে, সেই জন্য Light-2 কার্যকর থাকবে না।

আউটপুটঃ 

সতর্কতাঃ

১। হাই ভোল্টেজ (২২০ ভোল্ট) নিয়ে কাজ করার পূর্ব অভিজ্ঞতা জরুরী।

২। সার্কিট কানেকশন সম্পূর্ণ নিশ্চিত না হয়ে, হাই ভোল্টেজ (২২০ ভোল্ট) সাপ্লাই দেওয়া থেকে বিরত থাকি।

৩। Bluetooth HC-05 এর Baud Rate (9600) আছে এটা নিশ্চিত হয়ে নিতে হবে।

৪। প্রতিটি জাম্পার ওয়্যার মিটার দ্বারা কন্টিনিউটি পরীক্ষা করেই কানেকশন সম্পন্ন করতে হবে।

Share with your friends
Default image
Nur Mohammad
Engineer Techshop Bangladesh E-mail: [email protected]
Articles: 17

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

৩০ সেকেন্ড সময় হবে কি?

মাত্র ৫টি ক্লিক করে, TSBlog - কে সবার জন্য আরও উপকারি করতে সহায়তা করি !