Filtre passe-bas temps réel

Bonjour,
Je récupère des données d’un capteur à effet hall (A1301) pour un projet et j’ai besoin de réaliser un filtrage passe-bas en temps réel. Je m’explique, j’ai besoin de récupérer la fréquence du signal de mon capteur après filtrage (d’où la fonction fréquence). La variable “entree” sera l’AnalogRead. Pour cela j’ai réalisé un programme sur Python parce que je ne maîtrise pas très bien le langage Arduino et je cherche quelqu’un qui pourrait m’aider à réaliser le programme en langage Arduino et à l’améliorer.
La méthode utilisé est la méthode d’Euler trouvée dans le document ci-joint (page 46).
Je vous met aussi en fichier joint la capture d’écran du programme Python.

Filtre.png

FiltrageNumerique.pdf (651 KB)

Bonjour, Si tu es à l'aise avec Pithon et les filtres, tu peux débuter de la façon suivante : - entrée dans l'arduino par AnalogRead - sortie immédiate de l'arduino vers le PC par Serial.write(val) - réception des valeurs arrivant sur le port com du PC par Python - traitement par ton programme (et mise au point le cas échéant)

Il n'y a pas de langage arduino il n'y a que du C et du C++.

Ce qui existe ce sont [u]des fonctions[/u] écrites en C/C++ par arduino pour faciliter la gestion du micro-contrôleur. Les traitements que tu fais en Python doivent pouvoir être traduit en C/C++.

yoppyop:

Je récupère des données d’un capteur à effet hall (A1301) pour un projet et j’ai besoin de réaliser un filtrage passe-bas en temps réel. Je m’explique, j’ai besoin de récupérer la fréquence du signal de mon capteur…

Bonsoir
Filtre centré sur quelle F° ?
Taux de réjection demandé au filtre ?

trimarco232: Bonjour, Si tu es à l'aise avec Pithon et les filtres, tu peux débuter de la façon suivante : - entrée dans l'arduino par AnalogRead - sortie immédiate de l'arduino vers le PC par Serial.write(val) - réception des valeurs arrivant sur le port com du PC par Python - traitement par ton programme (et mise au point le cas échéant)

Bonsoir, Alors en fait oui je suis plus à l'aise sur Python c'est vrai, maintenant le but étant d'afficher un message sur le LCD de l'Arduino ça aurait été pas mal de le faire sur Arduino aussi. Maintenant je vais bien me renseigner sur cette alternative que je ne connaissais pas et qui peut-être super intéressante.

Artouste: Bonsoir Filtre centré sur quelle F° ? Taux de réjection demandé au filtre ?

Bonsoir, La fréquence de coupure du filtre passe bas est de 140Hz. Le taux de réjection, je ne sais pas trop à quoi cela correspond ...

Bonjour, Pour le serial.write(), comment ça marche, est-ce que j'ai besoin d'effacer les valeurs que j'écris sur l'arduino (qui n'a pas une mémoire illimité) ? Ou le serial.write efface automatiquement à chaque nouvelle valeur écrite ? Sinon pouvez vous me présenter un programme tout fait permettant d'écrire sur le serial ?

http://www.arduino.cc/en/Tutorial/HomePage

Oui justement j'ai lu dans le tuto sur les communications tout un tas de truc sur les serials mais je ne comprends pas car dans certains programme pour écrire sur le serial ils utilisent serial.print() et sur d'autres serial.write(), je ne saisis pas quand utiliser l'une ou l'autre ?

http://forum.arduino.cc/index.php?topic=265908.0

yoppyop: ... Le taux de réjection, je ne sais pas trop à quoi cela correspond ...

bonsoir La "raideur" du filtre :grin: selon si tu veux un filtre numérique qui te renvoie 0 ou 1 et pour un signal ana pour une F centrée sur 140 Hz à +/- 200 :sunglasses: ,50 20, 10, 5 1 .05 ...0.00x Hz la problematique n'est pas nécessairement la meme