Bonjour tout le monde je suis un élève de terminal S science de l’ingénieur et je doit réaliser un projet:
Mon projet et un accordeur automatique de guitare.
Mon montage et composée de :
-Un micro avec un filtre
-Un système de détection de passage a zéro (optocoupleur si je dit pas de bêtise)
-Un moteur et les pièce nécessaire a son adaptation a la guitare
-Une carte Arduino
Je sollicite votre aide car je doit faire un programme qui fasse tourné le moteur en fonction de la fréquence obtenue en entré par l'optocoupleur
Je suis débutant en arduino mais possède déjà un petit pac avec quelque élément et une carte arduino
Je veut apprendre à calculer la fréquence avec Arduino et avoir vos proposition de programme qui permettrai le bon fonctionnement de mon projet
Mon prof ma conseillé de d'apprendre a gérer une interruption externe et faire une mesure de temps (soustraction de deux registres liés aux timer).
Je vous remercie immensément pour votre réponse d'une grande pertinence qui m'aide énormément; grâce à vous un lycéen en détresse a pu être sauvé vous êtes un véritable héros anonyme de la société.
Néanmoins, si d'autre personne on envie d'aider elle serait également les bienvenues...
aides toi (en postant ton message au bon endroit et en prenant connaisssance des consignes) et le forum t'aidera !!
La réponse de jambe est on ne peut plus pertinente et a le mérite de conditionner l'aide
premier pas : faire déplacer (lien report to moderator) par un modérateur ton message dans le forum principal .
Içi ne viennent que les forumeurs désireux de prendre connaisance des réalisations complètes comme la superbe gestion d'aquarium proposée ce jour. Comprends leur déception quand il trouvent une esquisse de début de projet !!
Merci pour votre aide.
Je comprend votre déception en voyant mon début de projet.
J'ai demandé a ce que mon message soit déplacer au bon endroit.
Quant on m'explique correctement je comprend et j’espère que ce post sera rapidement déplacé...
Dsl pour le dérangement
J’espère qu'a l'avenir quelqu’un m'aidera a faire mon projet ...
Comme ta prof te l'a suggéré il faut utiliser les interruptions, mais tu n'as pas besoin d'utiliser les registres timer (sauf pour la beauté de l'art ) , il suffit de faire la différence des temps lus avec micros()
Il s'agit d'un projet d'accordeur de guitare donc les fréquences en jeu et la résolution de la mesure de fréquence me paraissent incompatibles avec l'utilisation classique de millis()
Le recours au Timer soit "à a la main" soit via une librairie existante" parait nécessaire.
Tests à faire pour voir comment elle se comporte avec des signaux issus d'une guitare (harmoniques et forte variation d'amplitude à partir de l'attaque.
Voila mon programme actuel je sais qu’il est loin d’être fini mai je ne comprend pas ou placer le timer ou la fonction micro ni comment les intégrés au programme :
int frequence = 82; //la frequence de la corde de mi (accordé) est de 82hz
void setup() {
pinMode(4,OUTPUT); //je declare que j’ai un moteur sur la pin 4
pinMode(2, INPUT); //je declare que j’ai un micro sur la pin 2 en entrée
}
void loop() {
int corde = digitalRead(pushButton); // je ne sais pas comment gerer mon signal je le stocke dans la variable corde
//ici je ne sais pas quoi mettre
if (corde<82):
while (corde<82):
digitalWrite(pinMoteur,HIGH); //le moteur se lance