Cell Phone Controlled Home Appliances

তাড়াহুড়ো করে স্কুলের ব্যাগ গোছাতে গোছাতে রুমের ফ্যান-লাইট অফ করতে ফরহাদের এখন প্রতিদিনই ভূল হয় । বাসায় ফিরে আম্মুর বকা হজম করতে হচ্ছে প্রতিদিনই । কি করা যায় ! এভাবে বসে থাকলে তো আর চলবে না ! কিছু তো একটা করতে হবে…………..

বরাবরই নতুন নতুন জিনিস তৈরী করে সব বন্ধুদের তাক লাগিয়ে দেওয়াটা ফরহাদের আজকাল নেশা হয়ে গেছে । প্রতিনিয়ত সে নতুনত্বে মগ্ন । কিন্তু এই ছোট্ট বৈজ্ঞানিক কে একটু সাহায্য করার মত কেউ নেই । তবুও ফরহাদ থেমে নেই । সে ঠিক করলো তার Smart Phone এ সে Internet চালু করবে । তারপর সে টিউটরিয়াল দেখে দেখে আরো নতুন সব জিনিস শিখে, সব্বাইকে অবাক করে দিবে ।

            কিন্তু ফরহাদ বুঝতে পারছে না যে, Internet এর কোন প্যাকেজটি তার জন্য সাশ্রয়ী হবে । তাই কে সাহায্যের জন্য 121 এ ফোন করলো । ওপাশ থেকে শোনা গেলো-

  • বাংলার জন্য ১ চাপুন
  • ইংরেজির জন্য ২ চাপুন

তারপর সে ১ চেপে দিলো । এরপর সে আবার শুনতে পেলো:

  • আপনার ব্যালান্স ও এ্যকাউনট জানতে ১ চাপুন
  • এফএনএফ ও প্যাকেজ জানতে ২ চাপুন
  • 5g ও ইন্টারনেট সেটিংস ও বান্ডেল অফার জানতে ৩ চাপুন
  • প্রমোসনাল ক্যাম্পেইন জানতে ৪ চাপুন
  • ভাষা পরিবর্তন করতে ৯ চাপুন

ফরহাদ এবার ৩ চেপে দিলো । তারপর সে Internet এর জন্য বিভিন্ন বান্ডেল অফার গুলো সম্পর্কে জানতে পারলো ।

ফরহাদের উদ্ধেশ্য সফল হলেও সে কিন্তু এখন আরো বেশি চিন্তিত হয়ে পড়লো । তার মাথায় এখন একটাই চিন্তা যে- সে তার ফোন থেকে কোন বাটন চাপলো, তা ওপাশ থেকে কম্পিউটার কিভাবে বুঝতে পারলো !

ফরহাদ তার ফোনে Internet কানেক্ট করার পর সর্বপ্রথম এই বিষয়টি নিয়ে google করা শুরু করে দিলো । অনেক ঘাটাঘাটি করার পর সে মজার মজার কিছু তথ্য জানতে পারলো ।

আমরা ফোনে কথা বলার সময় যদি কোন বাটন press করি, তাহলে যে tone তৈরী হয়, তা মূলত দুইটি ভিন্ন Frequency (একটি High-Frequency এবং অপরটি Low-Frequency) তে তৈরী হওয়া দুইটি ভিন্ন শব্দ । যেহেতু প্রতিটি বাটন প্রেসের জন্য এটি ভিন্ন Frequency এর দুইটি ভিন্ন শব্দ তৈরী করে- তাই একে DTMF বা Dual Tone Multi Frequency সিগনাল বলে । প্রতিটি বাটনের জন্যই এরকম ভিন্ন ভিন্ন DTMF সিগনাল থাকে । যে বাটনটি প্রেস করা হবে, শুধুমাত্র ঐ বাটনটির জন্য নির্দিষ্ট DTMF সিগনাল ই Send হবে ।

Digit

Low frequency (Hz) High frequency (Hz)

1

697

1209

2

697

1336

3

697

1477

4

770

1209

5

770

1336

6

770

1477

7

852

1209

8

852

1336

9

852

1477

0

10

941

1336

*

11

941

1209

# 12 941

1477

 

কিছু IC নির্মাতা প্রতিষ্ঠান আছে, যারা এই DTMF সিগনাল Generate এবং Receive করার জন্য নির্দিষ্ট কিছু IC তৈরী করেছেন । এসব IC এর ভিতর MT8870 IC টি খুবই পরিচিত ।

ক্ষুদে বিঞ্জানী ফরহাদ চিন্তা করলো, এখন পর্যন্ত যত প্রকার রিমোট কন্ট্রোল সিষ্টেম পাওয়া যায়, তার সবগুলো একটি নির্দিষ্ট Range এর ভিতরে কাজ করে । আর এই Range টি খুবই কম হয়ে থাকে । কিন্তু ফোন কল যেহেতু পৃথিবীর একপ্রান্ত থেকে অপরপ্রান্তে সম্ভব, তাই সে যদি এই Device ব্যবহার করে কিছু একটা তৈরী করতে পারে, তাহলে অবশ্যই সে তার স্কুলে বসে বসেই রুমের ফ্যান-লাইট সব ইলেকট্রনিক্স ডিভাইস সে নিয়ন্ত্রন করতে পারবে । একথা ভাবতেই তো ফরহাদ এখন খুশিতে আত্তহারা !!

অত:পর ফরহাদ ঠিক করলো তার প্রোজেক্টটি সে সবার সাথে শেয়ার করবে । যাতে করে অন্যরাও এই মজার প্রোজেক্টটি করতে পারে । ফরহাদ তার এই সৎ ইচ্ছা কে বাস্তবায়নের জন্য এই বিষয়টি নিয়ে ছোট্ট একটি প্রোজেক্ট লিখতে শুধু করলো । ফরহাদের এই ছোট প্রোজেক্টটি আমরা হুবহু তুলে ধরার চেষ্টা করলাম ।

 

 

Component List:

SR.No.

Product Name Quantity

Link

1

MT8870 DTMF Module 1 https://goo.gl/8GRKaY

2

Arduino Uno R3 1 https://goo.gl/fx0OWu

3

1 Channel 5V Relay Module 1 https://goo.gl/vRpznM

4

Male To Female Jumper Wire – Single 8 https://goo.gl/x4FKkr

5

Female To Female Jumper Wire – Single 2 https://goo.gl/rW75J8

6

12V 2A Power Adapter 1 https://goo.gl/gLpxlf

 

 

Connections Between “MT8870 DTMF Module” and “Arduino UNO”:

MT8870 DTMF Module

 

Arduino UNO

+5V

⇐⇒ +5V

GND

⇐⇒

GND

Q1

⇐⇒

A0

Q2

⇐⇒

A1

Q3

⇐⇒

A2

Q4

⇐⇒

A3

STD ⇐⇒

A4

 

Connections Between “MT8870 DTMF Module” and “1 Channel 5V Relay Module”:

MT8870 DTMF Module

 

1 Channel 5V Relay Module

+5V

⇐⇒

VCC

GND

⇐⇒

GND

 

 

Connections Between “1 Channel 5V Relay Module ” and “Arduino UNO”:

1 Channel 5V Relay Module   Arduino UNO
CH1 ⇐⇒ 8

 

 

Connections Between “MT8870 DTMF Module” and “Cell Phone”:

MT8870 DTMF Module

Audio Cable Cell Phone
SOUND IN (3.5mm Audio Socket) ⇐⇒

3.5mm Male-Male Stereo Audio Jack

 

MT8870 DTMF Module এবং Cell Phone এর সংযোগ স্থাপনের জন্য, বর্তমান সময়ে TechShop Bangladesh, প্রোডাক্টটির সাথে একটি “3.5mm Male-Male Stereo Audio Jack” সরবরাহ করছে ।

 

 

 

Connections Between “Arduino UNO” and “12V 2A Power Adapter”:

12V 2A Power Adapter   Arduino UNO
Power Jack ⇐⇒ DC Socket

 

Complete Connections:

 

 

Arduino Program:

/*
Product Name: MT8870 DTMF Module 
Product Link: https://www.techshopbd.com/product-categories/modules-98775/2018/mt8870-dtmf-module-techshop-bangladesh 

Developed by
FAHIM REAZA
Research Engineer
TechShop Bangladesh
*/

 #define Q1 A0   // Attach DTMF Module Q1  Pin to Arduino Pin A0
 #define Q2 A1   // Attach DTMF Module Q2  Pin to Arduino Pin A1
 #define Q3 A2   // Attach DTMF Module Q3  Pin to Arduino Pin A2
 #define Q4 A3   // Attach DTMF Module Q4  Pin to Arduino Pin A3
 #define STD A4  // Attach DTMF Module STD Pin to Arduino Pin A4

 #define Relay_1 8  // Attach Relay_1 Control Pin to Arduino Pin 8
 

 int DTMFdata; // The DTMFdata variable will be used to interpret the output of the DTMF module.


void setup() 
{
  Serial.begin(9600); 
  
  //Setup the INPUT pins on the Arduino for "MT8870 DTMF Module" 
  pinMode(Q1, INPUT);
  pinMode(Q2, INPUT);
  pinMode(Q3, INPUT);
  pinMode(Q4, INPUT);
  pinMode(STD, INPUT);

  //Setup the OUTPUT pins on the Arduino for Relay 
  pinMode(Relay_1, OUTPUT);
}


void loop() 
{
  if(digitalRead(STD)==HIGH) //STD pin goes to high, if a new data is available in "MT8870 DTMF Module".
  {
    DTMFdata=0;
    
    if(digitalRead(Q1)==HIGH)//If Q1 reads HIGH, then add 1 to the DTMFdata variable
    {      
      DTMFdata=DTMFdata+1;
    }
    
    if(digitalRead(Q2)==HIGH)//If Q2 reads HIGH, then add 2 to the DTMFdata variable
    {      
      DTMFdata=DTMFdata+2;
    }
    
    if(digitalRead(Q3)==HIGH) //If Q3 reads HIGH, then add 4 to the DTMFdata variable
    {     
      DTMFdata=DTMFdata+4;
    }
    
    if(digitalRead(Q4)==HIGH)//If Q4 reads HIGH, then add 8 to the DTMFdata variable 
    {      
      DTMFdata=DTMFdata+8;
    }

    Serial.println(DTMFdata); //Print the DTMF data in serial monitor.
    delay(500);

    if(DTMFdata == 11) {digitalWrite(Relay_1, HIGH); Serial.println("Light ON");} //Light ON 
    if(DTMFdata == 12) {digitalWrite(Relay_1, LOW); Serial.println("Light OFF");}//Light OFF 
  } 
}

 

উপরের প্রোগ্রামটি তোমার Arduino UNO তে আপলোড করো ।

 

এবার Relay এর সাথে 220V AC Light এর সংযোগের জন্য নিচের ছবিটি অনুসরণ করো ।

 

বন্ধরা “1 Channel 5V Relay Module” এখন যেহেতু 220V AC এর সাথে কানেক্টেট, সুতরাং আমাদের সতর্ক থাকতে হবে । কোনক্রমেই যেন “1 Channel 5V Relay Module” টিকে কোন বিদ্যুৎ পরিবাহী পদার্থের উপর না রাখা হয় এবং এটিতে কেউ স্পর্শ না করে । সম্ভব হলে, তোমরা শুধুমাত্র “1 Channel 5V Relay Module” টিকে আমার মত করে কোন প্লাষ্টিকের বক্সের ভিতর সেট করে ফেলতে পারো ।

এখন যে Cell phone টিকে তুমি “MT8870 DTMF Module” এর সাথে কানেক্ট করেছো, তার Call Setting অপশন থেকে Auto Receive কে Enable করে দাও । এবার অবশ্যই অবশ্যই Cell phone-এর caller volume কে Maximum করে দাও । এতে করে DTMF Signal-এর strength বাড়বে ।

তোমরা যদি Android Phone ব্যবহার করে থাকো, আর তোমার ফোনে যদি Auto Receive এর মত কোন অপশন না থাকে, তাহলে Play Store থেকে ” Auto Answer Incoming Call” এই apps টি ব্যবহার করতে পারো ।

ব্যাস আমাদের কাজ শেষ । এখন তুমি যেকোন মোবাইল থেকে ঐ নাম্বারে কল দাও । দেখবে automatic কল রিসিব হবে যাবে । কল রিসিব হওয়ার পর তুমি * এবং # বাটনটি ব্যবহার করে লাইটটি অন/অফ করতে পারবে ।

 

প্রোগ্রামটি edit করে এবং Relay এর সংখ্যা বাড়িয়ে- তুমি ইচ্ছা করলে, আরো অনেক গুলো লোড কে এভাবে নিয়ন্ত্রন করতে পারবে ।

 

Fahim Reaza

B.M. AL-FAHIM REAZA Research Engineer TechShop Bangladesh Email: [email protected]

This Post Has 2 Comments

  1. call korle taka katbe na?

  2. Already I made it. nice project.

Leave a Reply

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