Utilisation de tone() pour simulateur avec compteur de vitesse et compte tour
bonjour,
j'utilise un arduino uno avec x-sim pour récupérer les données des jeux, afin de piloter un vrai compteur de voiture.
le compte tour et l'indicateur de vitesse sont tout les 2 pilotés par des signaux de fréquence 0->230hz.
au départ j'ai donc naturellement utilisé la fonction tone() inclue dans les librairies standard. mais celle ci comporte 2 problèmes :
- 1 seul signal peut être généré à la fois alors qu'il m'en faut 2
- impossible de générer un signal < 30 hz, donc mon compte de vitesse ne démarrerai qu'à 30km/h, mais pas gênant pour le compte tour car c'est en dessous du régime moteur mini
en cherchant sur le forum j'ai trouvé l'ancienne librairie "tone.h" qui permet de produire plusieurs signaux, dont l'un avec une résolution de 16 bits, donc pouvant générer des signaux < 30hz.
j'ai donc utilisé cette librairie, le signal envoyé vers le compte tours codé utilisant le timer 8bits fonctionne parfaitement.
cependant, celui codé sur 16 bits pour le compteur de vitesse marche sur toute la fréquence, mais à tendance à décrocher aléatoirement pendant 1/2s.
quelqu'un à une idée?
j'utilise un arduino uno avec x-sim pour récupérer les données des jeux, afin de piloter un vrai compteur de voiture.
le compte tour et l'indicateur de vitesse sont tout les 2 pilotés par des signaux de fréquence 0->230hz.
au départ j'ai donc naturellement utilisé la fonction tone() inclue dans les librairies standard. mais celle ci comporte 2 problèmes :
- 1 seul signal peut être généré à la fois alors qu'il m'en faut 2
- impossible de générer un signal < 30 hz, donc mon compte de vitesse ne démarrerai qu'à 30km/h, mais pas gênant pour le compte tour car c'est en dessous du régime moteur mini
en cherchant sur le forum j'ai trouvé l'ancienne librairie "tone.h" qui permet de produire plusieurs signaux, dont l'un avec une résolution de 16 bits, donc pouvant générer des signaux < 30hz.
j'ai donc utilisé cette librairie, le signal envoyé vers le compte tours codé utilisant le timer 8bits fonctionne parfaitement.
cependant, celui codé sur 16 bits pour le compteur de vitesse marche sur toute la fréquence, mais à tendance à décrocher aléatoirement pendant 1/2s.
quelqu'un à une idée?
pourquoi ne pas simplement écrire une routine utilisant interruption temporelle et digitalwrite()
Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Utilisation de tone() pour simulateur avec compteur de vitesse et compte tour
arduino
Comments
Post a Comment