Home / Tutoriels / Arduino / Comment utiliser le module MT8870 téléphone?

Comment utiliser le module MT8870 téléphone?

Vous venez d’acheter un module MT8870 chez YoupiLab. Merci pour votre fidélité.

Les points à développer :

  • Le module MT8870
  • Câblage avec Arduino
  • Le simple code pour tester

Le module MT8870

MT8870 DTMF – Décodeur multifréquence à deux tonalités

Nous allons utiliser un module MT8870 DTMF avec un Arduino UNO pour contrôler un petit servomoteur dans ce projet. Le module DTMF donne les super puissances Arduino et vous permet de contrôler le servomoteur de tant de façons. Par exemple, ce tutoriel va vous montrer comment contrôler le servomoteur en utilisant:

  • un enregistreur de voix
  • Une application de téléphone intelligent (Pad DTMF)
  • Un téléphone à clavier à appel téléphonique

Toutes ces méthodes de contrôle tireront parti du même code / croquis Arduino. Mais comment???
Le décodeur MT8870 DTMF est un petit module qui vous permet d’intégrer la technologie DTMF dans vos projets Arduino. DTMF est l’abréviation de Dulal- M ul- F . Les tonalités DTMF sont généralement associées aux téléphones à touches et à d’autres systèmes de télécommunication. Lorsque vous appuyez sur le chiffre « 1 » sur un téléphone à clavier, deux ondes sinusoïdales avec des fréquences: 697Hz et 1209Hz sont combinées pour produire un signal DTMF unique qui peut être transmis par la ligne téléphonique. Le module MT8870 DTMF peut prendre ce signal en entrée et le décoder pour produire une sortie binaire.

Le module DTMF ne se soucie pas de la façon dont vous produisez la tonalité DTMF. Cependant, s’il reçoit cette tonalité, il la décodera. Nous pouvons tirer parti de cette fonctionnalité pour fournir au module des tonalités provenant de différentes sources. Le module a un port de 3,5 mm pour l’entrée de ligne. À condition que vous puissiez connecter votre source DTMF à cette entrée de ligne d’une manière ou d’une autre, cela devrait fonctionner. Je dois vous avertir, cependant que c’est une entrée de ligne et pas une entrée de microphone. Si vous souhaitez utiliser un microphone, vous devrez amplifier le signal avant de l’envoyer au module DTMF.

Câblage avec Arduino

Vous aurez besoin des pièces suivantes pour ce projet

Pièces requises:

Le simple code pour tester

Téléversez l’esquisse suivante sur l’Arduino.

 

//This sketch uses the Servo library that comes with the Arduino IDE

#include <Servo.h>

//Global variables—————————————————————————————–

Servo SG5010;             // The SG5010 variable provides Servo functionality

int servoPosition = 0;    // The servoPosition variable will be used to set the position of the servo

byte DTMFread;            // The DTMFread variable will be used to interpret the output of the DTMF module.

const int STQ = 3;        // Attach DTMF Module STQ Pin to Arduino Digital Pin 3

const int Q4 = 4;        // Attach DTMF Module Q4  Pin to Arduino Digital Pin 4

const int Q3 = 5;        // Attach DTMF Module Q3  Pin to Arduino Digital Pin 5

const int Q2 = 6;        // Attach DTMF Module Q2  Pin to Arduino Digital Pin 6

const int Q1 = 7;        // Attach DTMF Module Q1  Pin to Arduino Digital Pin 7

/*=========================================================================================================

  setup() : will setup the Servo, and prepare the Arduino to receive the MT8700 DTMF module’s output.

  ========================================================================================================== */

void setup() {

  SG5010.attach(9);             // The Servo signal cable will be attached to Arduino Digital Pin 9

  SG5010.write(servoPosition);  // Set the servo position to zero.

  //Setup the INPUT pins on the Arduino

  pinMode(STQ, INPUT);

  pinMode(Q4, INPUT);

  pinMode(Q3, INPUT);

  pinMode(Q2, INPUT);

  pinMode(Q1, INPUT);

}

/*=========================================================================================================

  loop() : Arduino will interpret the DTMF module output and position the Servo accordingly

  ========================================================================================================== */

void loop() {

  if (digitalRead(STQ) == HIGH) {   //When a DTMF tone is detected, STQ will read HIGH for the duration of the tone.

    DTMFread = 0;

    if (digitalRead(Q1) == HIGH) {  //If Q1 reads HIGH, then add 1 to the DTMFread variable

      DTMFread = DTMFread + 1;

    }

    if (digitalRead(Q2) == HIGH) {  //If Q2 reads HIGH, then add 2 to the DTMFread variable

      DTMFread = DTMFread + 2;

    }

    if (digitalRead(Q3) == HIGH) {  //If Q3 reads HIGH, then add 4 to the DTMFread variable

      DTMFread = DTMFread + 4;

    }

    if (digitalRead(Q4) == HIGH) {  //If Q4 reads HIGH, then add 8 to the DTMFread variable

      DTMFread = DTMFread + 8;

    }

    servoPosition = DTMFread * 8.5;   //Set the servoPosition varaible to the combined total of all the Q1 to Q4 readings. Multiply by 8.5 to amplify the servo rotation.

  }

  SG5010.write(servoPosition);        //Set the servo’s position according to the « servoPosition » variable.

}

Vous devrez connecter un câble du port 3,5 mm du module DTMF à celui de votre téléphone intelligent, de votre ordinateur, de votre enregistreur vocal ou de toute autre source DTMF de votre choix.

Lorsque vous allumez votre Arduino, le servomoteur doit tourner complètement vers la gauche jusqu’à sa position zéro. Une fois que le module DTMF reçoit un signal DTMF, il identifie les fréquences appropriées comme décrit dans le tableau au début de ce tutoriel, et produit une sortie de type binaire. Vous remarquerez que les DEL embarquées du module DTMF s’allument lorsqu’une tonalité est détectée. La LED intégrée (D5) s’allume pendant la durée de la tonalité DTMF reçue et s’éteint lorsque la tonalité s’est arrêtée. D’un autre côté, les LED embarquées (D1 à D4) s’allument en fonction de la tonalité reçue et restent allumées jusqu’à ce que le module reçoive une autre tonalité. Les LED embarquées sont une représentation visuelle des tensions appliquées aux broches du module DTMF (Q1 à Q4 et STQ). Q1 correspond à D1, Q2 correspond à D2 etc. etc. et STQ correspond à D5.

Vous remarquerez qu’il y a deux broches STQ sur le module DTMF. La broche STQ qui est la plus proche de Q4 ne passera à l’état haut que lorsqu’une tonalité DTMF est détectée et restera élevée pendant toute la durée de la tonalité. L’autre broche STQ est exactement le contraire. Il bascule quand une tonalité est reçue et reste faible pendant la durée de la tonalité. Quand il n’y a pas de tonalité, cette broche STQ restera HIGH. Le tableau ci-dessous fournit un résumé des sorties du module DTMF, avec une boîte bleue représentant une tension appliquée à cette broche (HIGH), tandis qu’une boîte noire indique qu’aucune tension n’est appliquée (LOW).

Afin de suivre ce projet, vous avez besoin d’une source de tonalités DTMF. Vous pouvez produire des tonalités DTMF à l’aide d’un téléphone à clavier ou à l’aide d’une application DTMF Pad.

Merci pour votre attention !

About nonfonjuniorm_lf80ckk1

Check Also

Le régulateur LM317

Vous venez de prendre un régulateur LM317 chez YoupiLab. Merci pour votre fidélité. Voici le …

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *