Skip to content

Une collection de petits scripts Python et de codes Arduino pour collecter les données envoyées sur un port série par un Arduino et les tracer/enregistrer (comme avec un oscilloscope).

License

Notifications You must be signed in to change notification settings

aberut/arduino-oscillo

Repository files navigation

Utiliser un Arduino et Python pour faire un oscilloscope (basique) :

Vous trouverez ici des exemples de codes Python (sous forme de scripts et de notebooks Jupyter) et de sketch Arduino qui permettent d'utiliser un Arduino Uno comme un oscilloscope basique.

Pré-requis

Cette page n'est pas un tutoriel détaillé et fait l'hypothèse que vous connaissez au moins les rudiments du fonctionnement d'un Arduino (voir par exemple Aduino.cc) et que vous avez déjà installé un moyen de lire un code Python (utiliser par exemple Anaconda).

Les fonctions Python présentées requièrent toutes l'utilisation de la library pyserial qui s'installe facilement avec pip ou conda (si vous utilisez Anaconda, ouvrez l'Anaconda Prompt et tapez conda install pyserial dans l'invite de commande).

Présentation des fonctions :

Les exemples présentés ici reposent tous sur le même principe général de fonctionnement :

  • Un Arduino Uno est configuré pour envoyer des données sur un port série à une fréquence donnée

  • Un script Python se charge de récupérer ces données au fur et à mesure de leur arrivée pour pouvoir les exploiter

Il est ainsi possible de :

Visualiser en temps réel d'un signal :

Si l'on souhaite simplement visualiser un ou plusieurs signaux en temps réel (comme dans le mode "graph déroulant" d'un oscilloscope), se reporter à la page : Oscillo-Arduino

Une vidéo de démonstration est disponible ici.

Acquérir de données avec time-stamp :

Si l'on souhaite plutôt faire une acquisition de donnée, où chaque point de mesure est associé à un "time-stamp" qui indique à quel instant ce point a été mesuré, se reporter à la page : Mesure-Arduino

Note : Des détails techniques supplémentaires sont disponibles dans ce document.

Dépendances

  • numpy (testé avec la version 1.19.1)
  • matplotlib (testé avec la version 3.3.1)
  • pyserial (testé avec la version 3.5)

License

MIT

(Vous avez le droit illimité d'utiliser, copier, modifier, fusionner, publier, distribuer, vendre et « sous-licencier » l'intégralité de ces codes. Votre seule obligation est d'incorporer la notice de licence et de copyright dans toutes les copies.)

About

Une collection de petits scripts Python et de codes Arduino pour collecter les données envoyées sur un port série par un Arduino et les tracer/enregistrer (comme avec un oscilloscope).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published