Un G.B.F. (Générateur de basses fréquences) permet de délivrer un signal avec la fréquence désirée sous forme de sinusoïdes, de créneaux (signal carré), ou de triangles.
Nous allons ainsi envoyer un signal à l’Arduino. Celui-ci pourra ensuite mesurer la fréquence du signal d’entrée.
Il est conseillé de directement relier votre GBF à un oscilloscope afin d’obtenir une image en direct du signal que vous générez.
Nous utiliserons plus tard une fonction qui permet de détecter le temps d’état haut et/ou le temps d’état bas d’un signal. Nous devons donc générer un signal carré.
Sur le GBF, il suffit de presser le bouton ci-dessous :
Les entrées analogiques de l’Arduino ne peuvent recevoir que des tensions comprises entre 0V et +5V. Envoyer une valeur plus grande risque de détruire l’interface, voir la carte.
Il faut donc bien veiller à créer un signal électrique avec une amplitude inférieur ou égale à 5V.
De base, le GBF va créer un signal oscillant entre -5V et +5V. Il faut donc déplacer ce signal afin d’obtenir un signal oscillant entre 0V et +5V.
Le bouton Offset permet d’ajouter une composante continue à notre signal. Nous pouvons donc faire monter notre signal dans l’intervalle qui nous intéresse.
Le réglage de l’offset et de l’amplitude s’effectue de cette façon :
(il faut tirer le bouton de l’offset afin de modifier la composante continue).
Attention ! Avant de brancher votre Arduino au GBF, vérifiez que le signal ressemble à celui-ci sur l’oscilloscope :
Câblage :
PusleIn :
La commande PulseIn permet de mesurer la durée d’une pulsation. Il est ainsi possible de déterminer le temps sur une période de notre signal à un niveau logique 1 ou 0.
PulseIn nous retourne ensuite la durée de l’impulsion en microsecondes.
La syntaxe est la suivante :
pulseIn(pin, value)
pulseIn(pin, value, timeout)
Le premier paramètre permet de définir l’interface où vous souhaitez lire la durée de l’impulsion
Le second paramètre permet de définir si l’on souhaite mesurer la durée d’un état haut (HIGH) ou un état bas (LOW)
Le troisième paramètre permet de déterminer un temps d’attente en microsecondes avant la mesure d’une impulsion.
Code :
est ce qu’on peut utiliser un arduino pou genere des frenquences ?
Générer une fréquence sur quel type signal ?
oui possibilité de fournir tout type de signaux
en carré la fréquence peut aller à 10 khz environ
dans les autres formes, cela dépend de votre « nombre de points par seconde », on considèrera 1 khz environ..
Bonjour, n’étant pas un grand spécialiste et avant de me lancer, je voudrais savoir s’il est possible de récupérer les numéros composés sur une ligne téléphonique (DTMF) chaque chiffre étant composé de deux fréquences consécutives.
C’est possible ? ou mon idée est débile !
Merci.
bonjour,
oui c’est possible à partir d’un décodeur dtmf(pas cher) qui fournira des 1 ou 0 sur ses différentes sorties en fonction des touches appuyées
voir le décodeur chez radiospares
Bonjour
quelle est la fréquence maximale que l’on peut mesurer avec un arduino? ou bien quelle est la fréquence de scrutation des entrées, est elle dépendante de la taille du programme?
merci
vitesse maximum de l’ordre de 10 khz (pour un programme « moyen »)
bonjour
Je travaille sur le traitement du signal, je veux applique FFT au le signal donne par le generateur de fréquence pouvez-vous m’aide ?
bonjour j’ai un projet portant sur des électrovannes je dois contrôler les électrovannes et un débitmètre à partir d’une carte arduino merci pour votre aide
Bonjour je suis intéressé par votre fréquencemètre arduino ,
pourrait-il mesurer des fréquences de plusieurs centaines
de mhz.
Merci de votre attention ,
Il me semble que c’est 16Mhz max !