Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
start:projet:arduino:modulation_arduino [2016/04/16 11:20] – qlenet | start:projet:arduino:modulation_arduino [2016/04/16 11:23] (Version actuelle) – qlenet | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Modulateur de fréquence Arduino====== | ||
+ | |||
+ | Bon, aujourd' | ||
+ | <note tip>Mais c'est quoi la modulation de fréquence ?</ | ||
+ | La modulation en fréquence, c'est transmettre une information en modifiant la fréquence d'un signal. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Nous, nous allons travailler avec des signaux rectangulaires. La raison est simple : l' | ||
+ | |||
+ | Vous avez certainement remarqué (en jouant par exemple avec votre casio 35+ :) ) que les opérations de bases bouclées un certain nombre de fois en informatique, | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Pour deux raisons : | ||
+ | * Parce qu'il existe une fonction delayMicroseconds plus intéressante pour faire de la modulation. | ||
+ | * Le but de cet article est premièrement de comprendre les soucis qu'on peut avoir en arduino pour faire de la modulation. | ||
+ | |||
+ | On écrit donc le programme suivant : | ||
+ | |||
+ | < | ||
+ | int a = 10; | ||
+ | int b = 10; | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(6, | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | digitalWrite(6, | ||
+ | while(i< | ||
+ | i=i+1; | ||
+ | } | ||
+ | i=0; | ||
+ | digitalWrite(6, | ||
+ | while(i< | ||
+ | i=i+1; | ||
+ | } | ||
+ | i=0; | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | On modifie a de zéro à 400 et on aboutit à la fréquence en fonction de a: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | On a une belle fonction affine avec des trucs étranges proche de zéro. L' | ||
+ | Pour le rapport cyclique, c'est à dire le rapport du temps où notre signal est haut et de la période, on a : | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Le rapport cyclique mesuré est très différent du rapport cyclique théorique ( a/a+b ) On ne peut donc pas faire une boucle pour moduler en fréquence. | ||
+ | D' | ||
+ | |||
+ | Si on veut faire de la modulation en fréquence avec une arduino il faut donc utiliser la fonction delay ou delayMicroseconds avec prudence : plus on se rapproche de fréquences proche de 75kHz, plus il y des risques d' | ||
+ | |||
+ | Vous l' | ||