Étape 4: programmation
Vous pouvez télécharger le « croquis » pour le programme ci-dessous.
La fonction rpm_fun est la fonction d’interruption qui sera appelée chaque fois que les données sur la broche 2 changent d’élevé à faible (une impulsion de chute). Il met à jour le rpmcount mondial, puis active/désactive la LED d’État.
Le programme d’installation initialise les variables, configure les paramètres de la série, définit les modes de broche et met en place la fonction d’interruption.
La fonction de boucle, comme son nom l’indique, est la boucle de traitement principale qui « fonctionne pour toujours » tandis que le Conseil d’administration est mis sous tension. Les délais d’instruction premières pendant une seconde (1000 millisecondes), mais notez que la fonction d’interruption se brisera dans chaque fois que la valeur de pin 2 change et exécutez la fonction rpm_fun. Après la seconde 1 retarder, l’interruption est temporairement désactivé (cela n’est peut-être pas nécessaire, mais il semble plus sûr) puis la vitesse de rotation est calculé en fonction du nombre d’interruptions et le temps écoulé entre maintenant et la dernière fois que le calcul s’est produite. Le résultat est renvoyé à l’ordinateur par le port série, puis l’interruption est restaurée.
Notez que la façon dont le moteur et le détecteur IR est configuré, chaque tour de la bobine se traduira par deux transitions, donc le calcul qui prend en effet. La même chose se produirait pour une hélice ou un ventilateur à pales deux. Si seulement une légère pause par révolution s’est produite, par exemple un bras oscillant, le calcul serait :
Pour un ventilateur de trois pales, le calcul serait :