Etape 3: Comment le Code fonctionne
Dans mon code que j’ai mon module supérieur, représenté dans l’image par le carré en pointillés, qui entrées interrupteurs et un bouton pour effacer l’horloge système.
Dans le plus grand module supérieur, j’ai un compteur, le comparateur, le commutateur décodeur d’angle, d’angle au décodeur de valeur constante.
Le compteur prend l’horloge système et désactivez. Chaque cycle d’horloge, il incrémente une valeur count jusqu'à ce qu’il frappe une certaine valeur constante. Cette valeur est ce qui est nécessaire pour obtenir la fréquence appropriée. Vous pouvez trouver l’équation pour ce commentaire dans le code. Une fois qu’il atteint cette valeur, elle réinitialise. Ainsi, il compte sur la constante et puis revient à zéro. Cela détermine la fréquence.
Le commutateur au décodeur angle prend une valeur de commutateur et mappe à une valeur d’angle.
Le décodeur angle prend une valeur d’angle et mappe à une valeur constante qui obtiendra le cycle approprié. Qu’équation est également commenté dans le code.
Le comparateur prend alors dans la valeur de count et la valeur constante depuis le décodeur d’angle. Si la valeur de count est qu'inférieur à la constante que la sortie est 1, sinon le résultat est zéro. Cela crée le signal PWM.
Vous pouvez voir qui a illustré dans la deuxième image.
Si vous souhaitez utiliser l’angle comme une entrée plutôt que les commutateurs, vous pouvez supprimer le commutateur pour décodeur d’angle. Si vous souhaitez utiliser plus d’un servo, vous pouvez instancier plusieurs modules de contrôleur de servo dans un module supérieur supérieur.