Arduino MKR GSM 1400 and DTMF
This tutorial shows how to use the Arduino MKR GSM 1400's DTMF feature to have a direct interaction with your phone.
Components and Supplies
- Arduino MKR GSM 1400
- 3.7 V LiPo Battery
- Adafruit NeoPixel Ring: WS2812 5050 RGB LED
- Resistor 10k ohm
- ON Semiconductor 2N7000
- Breadboard (generic)
- Jumper wires (generic)
Apps and Online Services
About This Project
Introduction
Like every phone, the GSM module on your Arduino MKR GSM 1400 can recognize DTMF tones. These are the tones that you can hear whenever you press a key on your phone's keyboard during a call.
How It Works
The operating principle of this tutorial is very simple: every time a phone call is received, the board answers the call and waits for a DTMF tone. When the tone is pressed, the board parses it, prints it on the serial monitor, and changes the LEDs color according to the pressed button.
Hardware Connections
As you can see from the breadboard layout, a transistor is present between the Arduino board and the NeoPixel input. This is placed since the MKR GSM 1400 operates at 3.3V while the NeoPixel works at 5V. The transistor is used as a voltage translator. In the layout, there is also a single NeoPixel placed instead of the ring just for the sake of simplicity.
Setup
The setup to use this code is very simple. You just have to:
- Plug the antenna into the board
- Plug a micro SIM card into your board
- Connect the LEDs as shown in the scheme
- Plug the battery into the board
- Plug the micro USB cable and connect it to your PC
- Load the code on the board using the Arduino Java or Web IDE
- Open the serial monitor
- Call the board and enjoy pressing buttons on your keyboard!
Code
Schematics
See Also
This example is based on the Arduino MKR GSM library.
Suggest changes
The content on docs.arduino.cc is facilitated through a public GitHub repository. If you see anything wrong, you can edit this page here.
License
The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.