Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| start:projet:arduino:modulation_arduino [2016/04/07 19:24] – créée pferney | 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' | ||