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.

// Configurer les broches INPUT sur l’Arduino

pinMode (STQ, INPUT);

pinMode (Q4, INPUT);

pinMode (Q3, INPUT);

pinMode (Q2, INPUT);

pinMode (Q1, INPUT);

}

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

loop (): Arduino interprétera la sortie du module DTMF et positionnera le servo en conséquence

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

boucle void () {

if (digitalRead (STQ) == HIGH) {// Lorsqu’une tonalité DTMF est détectée, STQ lira HIGH pendant la durée de la tonalité.

DTMFread = 0;

if (digitalRead (Q1) == HIGH) {// Si Q1 lit HIGH, alors ajoutez 1 à la variable DTMFread

DTMFread = DTMFread + 1;

}

if (digitalRead (Q2) == HIGH) {// Si Q2 lit HIGH, alors ajoutez 2 à la variable DTMFread

DTMFread = DTMFread + 2;

}

if (digitalRead (Q3) == HIGH) {// Si Q3 lit HIGH, alors ajoutez 4 à la variable DTMFread

DTMFread = DTMFread + 4;

}

if (digitalRead (Q4) == HIGH) {// Si Q4 lit HIGH, alors ajoutez 8 à la variable DTMFread

DTMFread = DTMFread + 8;

}

servoPosition = DTMFread * 8,5; // Définit la variable servoPosition sur le total combiné de toutes les lectures Q1 à Q4. Multipliez par 8,5 pour amplifier la rotation du servo.

}

SG5010.write (servoPosition); // Définit la position du servo en fonction de la variable «servoPosition».

}

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. Elle 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 !

Les détails ne sont pas renseignés

0.00 average based on 0 ratings

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Course Features

  • Duration : 10 week
  • Max Students : 1000
  • Enrolled : 0
  • Re-take Course : 0
  • Assessments : Self
Price :
Gratuit

Rating

Average Rating: 0.00

Star
0%
Star
0%
Star
0%
Star
0%
Star
0%

Leave a Comment