Question

In: Electrical Engineering

DTMF Home Automation System This project is about controlling of home appliances using DTMF (Dual Tone...

DTMF Home Automation System

This project is about controlling of home appliances using DTMF (Dual Tone Multi Frequency) technology. These appliances includes lights, fans, central heating, etc. A control unit will be required to encode the 4bit binary code from the DTMF decoder to link with 16 appliances or operations. However anyone can control your appliances if they know the cell number of the phone connected to the module. Furthermore, the number of appliances is limited to 16, which is the number of DTMF tones. These problems can be solved by using a controller at both transmit and receive end, and introduce a digital code. Now it will be possible to use more than one tone per command. For example, using 2 tones will give 16x16 =256 commands. A duplex operation can now be possible.

I need help Designing the DTMF Home Automation System using an Arduino.

I need the source code and circuit

Solutions

Expert Solution

Platform assembly

Now you need to tight Arduino board, relay board, DTMF board to the appropriate place with the bolts.

Make connection as shown in the above figure.

The source code will be for the 4 home appliances.

Source code:

const int Q1 = 8;  // Defining Digital Input Pins from DTMF Module
const int Q2 = 9;
const int Q3 = 10;
const int Q4 = 11;
const int D1 = 4;  // Defining Digital output Pins for Relay Board
const int D2 = 5;
const int D3 = 6;
const int D4 = 7;

int SoQ1 = 0;     // Defining variable to store the status(HIGH/LOW) of above inputs.
int SoQ2 = 0;
int SoQ3 = 0;
int SoQ4 = 0;
int oldCon = 0;  //  Variable to know what was the last button pressed.  

void setup(){ 
   pinMode(Q1, INPUT);  // Defining pins as input.
   pinMode(Q2, INPUT);
   pinMode(Q3, INPUT);
   pinMode(Q4, INPUT);
   
   pinMode(D1, OUTPUT);  // Defining pins as output.
   pinMode(D2, OUTPUT);
   pinMode(D3, OUTPUT);
   pinMode(D4, OUTPUT);
 
}

void loop(){
  SoQ1 = digitalRead(Q1);  // Reading status of Input Pins. It can be LOW or HIGH
  SoQ2 = digitalRead(Q2);
  SoQ3 = digitalRead(Q3);
  SoQ4 = digitalRead(Q4);
  
   if(SoQ4==LOW && SoQ3==LOW && SoQ2==LOW && SoQ1==HIGH )  // Condition for Button 1. It is equal to Binary - 0001 
    {
      if (oldCon!=1){
         digitalWrite(D1, HIGH);
       }
      oldCon=1;  
    }
  
  else if(SoQ4==LOW && SoQ3==LOW && SoQ2==HIGH && SoQ1==LOW )  // Condition for Button 2. It is equal to Binary - 0010 
    {
      if (oldCon!=2){
        digitalWrite(D1, LOW);
       }
      oldCon=2;  
    }
  else if(SoQ4==LOW && SoQ3==LOW && SoQ2==HIGH && SoQ1==HIGH )  // Condition for Button 3. It is equal to Binary - 0011 
        {
      if (oldCon!=3){
         digitalWrite(D2, HIGH);
       }
      oldCon=3;  
    }
 
  else if(SoQ4==LOW && SoQ3==HIGH && SoQ2==LOW && SoQ1==LOW )   // Condition for Button 4. It is equal to Binary - 0100 
    {
      if (oldCon!=4){
        digitalWrite(D2, LOW); 
       }
      oldCon=4;  
    } 
  else if(SoQ4==LOW && SoQ3==HIGH && SoQ2==LOW && SoQ1==HIGH )   // Condition for Button 5. It is equal to Binary - 0101 
    {
      if (oldCon!=5){
         digitalWrite(D3, HIGH);  
       }
      oldCon=5;  
    }    

  else if(SoQ4==LOW && SoQ3==HIGH && SoQ2==HIGH && SoQ1==LOW )   // Condition for Button 6. It is equal to Binary - 0110 
    {
      if (oldCon!=6){
         digitalWrite(D3, LOW); 
       }
      oldCon=6;  
    }
    
  else if(SoQ4==LOW && SoQ3==HIGH && SoQ2==HIGH && SoQ1==HIGH )   // Condition for Button 7. It is equal to Binary - 0111 
    {
      if (oldCon!=7){
         digitalWrite(D4, HIGH);
       }
      oldCon=7;  
    } 

  else if(SoQ4==HIGH && SoQ3==LOW && SoQ2==LOW && SoQ1==LOW )   // Condition for Button 8. It is equal to Binary - 1000 
    {
      if (oldCon!=8){
        digitalWrite(D4, LOW);
       }
      oldCon=8;  
    } 
  else if(SoQ4==HIGH && SoQ3==LOW && SoQ2==LOW && SoQ1==HIGH )   // Condition for Button 9. It is equal to Binary - 1001 
    {
      if (oldCon!=9){
         digitalWrite(D1, LOW);
         digitalWrite(D2, LOW);
         digitalWrite(D3, LOW);
         digitalWrite(D4, LOW);  
       }
      oldCon=9;  
    }
    
delay(50);   // Debounce Delay.
  
}

Dial the phone number attached to the kit. Receive the call. Then the procedure will be as follows.

If you press 1: Device 1 will be on.

If you press 2: Device 1 will be off.

If you press 3: Device 2 will be on.

If you press 4: Device 2 will be off.

If you press 5: Device 3 will be on.

If you press 6: Device 3 will be off.

If you press 7: Device 4 will be on.

If you press 8: Device 4 will be off.

If you press 8: All devices will be off.


Related Solutions

DTMF Home Automation System This project is about controlling of home appliances using DTMF (Dual Tone...
DTMF Home Automation System This project is about controlling of home appliances using DTMF (Dual Tone Multi Frequency) technology. These appliances includes lights, fans, central heating, etc. A control unit will be required to encode the 4bit binary code from the DTMF decoder to link with 16 appliances or operations. However anyone can control your appliances if they know the cell number of the phone connected to the module. Furthermore, the number of appliances is limited to 16, which is...
I am currently working on an HOME AUTOMATION PROJECT(((that which controls home appliances via web/Google Assistant/application.....
I am currently working on an HOME AUTOMATION PROJECT(((that which controls home appliances via web/Google Assistant/application.. My question is HOW CAN SUCH PROJECT BE IMPROVED.. And also HOW CAN IT BE MADE DIFFERENT from series of such projects on the web.. I need 4-5 ideas on HOW TO DISTINGUISH MY OWN from others.. TECHNICALITY OF THE HIGHEST ORDER IS DEMANDED IN THE ANSWERS
DTMF home automation system using ATMEGA8 i need the circuit and the code for the microcontroller
DTMF home automation system using ATMEGA8 i need the circuit and the code for the microcontroller
I am working on an IOT BASED HOME AUTOMATION PROJECT...I want to make use of a...
I am working on an IOT BASED HOME AUTOMATION PROJECT...I want to make use of a camera in this system to be able to capture movements or happenings in the house... Can this be accomplished by using NODEMCU,ARDUINO,RASPBERRY PIE.. if yes...I need detailed ways on how to do it using each of them.
Material Energy balance course. a. By using several examples related to your home appliances or any...
Material Energy balance course. a. By using several examples related to your home appliances or any real-life application out there, and aligning it to mass conservation law, justify why do you need to learn material balance. Support your answer with minimum 5 solid points.
Please create a presentation slide about five (5) vibration control examples for home appliances. The presentation...
Please create a presentation slide about five (5) vibration control examples for home appliances. The presentation slides must be in Microsoft PowerPoint (*.pptx) format.
Project title: Automated attendance system using facial recognition system Describe in detail about this title of...
Project title: Automated attendance system using facial recognition system Describe in detail about this title of project Research Depth : - Depth of literature review - Feasibility of the proposed project - Implementation plan, methods and strategies - Incorporating previous comments
Answer the following questions about cache coherency protocols in a dual-processor system. a) If each processor...
Answer the following questions about cache coherency protocols in a dual-processor system. a) If each processor has a separate cache, what is the main advantage of the 4-state MESI snoopy cache coherency protocol compared to a snoopy cache coherency protocol that uses only 3 states M, S and I (modified, shared and invalid)? b) Suppose that processor P1 (in a dual-processor system) writes to a memory block. A copy of this same memory block is already in a modified line...
Activity Cost Pools, Activity Rates, and Product Costs using Activity-Based Costing Caldwell Home Appliances Inc. is...
Activity Cost Pools, Activity Rates, and Product Costs using Activity-Based Costing Caldwell Home Appliances Inc. is estimating the activity cost associated with producing ovens and refrigerators. The indirect labor can be traced into four separate activity pools, based on time records provided by the employees. The budgeted activity cost and activity-base information are provided as follows: Activity Activity Pool Cost Activity Base Procurement $12,600 Number of purchase orders Scheduling 90,000 Number of production orders Materials handling 11,000 Number of moves...
in 3/4 paragraph explain about firms using automation without regard to its impact on society?
in 3/4 paragraph explain about firms using automation without regard to its impact on society?
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT