Toll-Free Customer Support 24/7

DTMF Decoder shield

/*
 * Project name:
    DTMF Decoder shield 
 * Copyright
     (c) Researchdesignlab.com
 * Description:
    
 * Test configuration:
     MCU:             ATMEGA328
     Dev.Board:       Arduino uno
     Oscillator:      16 MHz
     Software:        Arduino

*/


const int analogInPin1 = A0; // Analog input pin that the potentiometer is attached to x axis Joystick
const int analogInPin2 = A1; // Analog input pin that the potentiometer is attached to y axis Joystick
const int buttonPin_A = 2; // the number of the D0 pin
const int buttonPin_B = 3; // the number of the D1 B pin
const int buttonPin_C = 4; // the number of the D2 C pin
const int buttonPin_D = 5; // the number of the D3 D pin
const int buttonPin_E = 6; // the number of the STD pin

 

int sensorValue = 0; // value read from the pot
int D0,D1,D2,D3,STD; // variable for reading the pushbutton status

void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
Serial.println("DTMF Decoder shield ");
Serial.println(" " );

// initialize the pushbutton pin as an input:
pinMode(buttonPin_A, INPUT);
pinMode(buttonPin_B, INPUT);
pinMode(buttonPin_C, INPUT);
pinMode(buttonPin_D, INPUT);
pinMode(buttonPin_E, INPUT);


}

void loop() {


// read the state of the pushbutton A,B,C,D,E value:
D0 = digitalRead(buttonPin_A);
D1 = digitalRead(buttonPin_B);
D2 = digitalRead(buttonPin_C);
D3 = digitalRead(buttonPin_D);
STD = digitalRead(buttonPin_E);

if (STD == HIGH) {
delay(400);
if((D0==1)&&(D1==0)&&(D2==0)&&(D3==0))
{

Serial.print('1');
}
if((D0==0)&&(D1==1)&&(D2==0)&&(D3==0))
{

Serial.print('2');
}
if((D0==1)&&(D1==1)&&(D2==0)&&(D3==0))
{

Serial.print('3');
}
if((D0==0)&&(D1==0)&&(D2==1)&&(D3==0))
{

Serial.print('4');
}
if((D0==1)&&(D1==0)&&(D2==1)&&(D3==0))
{

Serial.print('5');
}
if((D0==0)&&(D1==1)&&(D2==1)&&(D3==0))
{

Serial.print('6');
}
if((D0==1)&&(D1==1)&&(D2==1)&&(D3==0))
{

Serial.print('7');
}
if((D0==0)&&(D1==0)&&(D2==0)&&(D3==1))
{
Serial.print('8');
}
if((D0==1)&&(D1==0)&&(D2==0)&&(D3==1))
{

Serial.print('9');
}
if((D0==0)&&(D1==1)&&(D2==0)&&(D3==1))
{

Serial.print('0');
}
if((D0==1)&&(D1==1)&&(D2==0)&&(D3==1))
{

Serial.print('*');
}
if((D0==0)&&(D1==0)&&(D2==1)&&(D3==1))
{

Serial.print('#');
}
while(STD!=LOW)
{
STD = digitalRead(buttonPin_E);
}

}

}

Back to top