Mise à jour de la centrale Alpha 3

Je viens de mettre à jour la centrale Alpha 3. Elle est le 3ème prototype d’une centrale d’acquisition LIBRE à destination des enseignants de physique-chimie. Elle est actuellement conçue autour d’une carte Arduino Mega 2560 (par conséquent, entièrement reprogrammable par le port USB). Les périodes d’échantillonnages sont adaptées à des phénomèmes relativement lents : elles varient du dixième de seconde à l’heure. Un mode manuel (acquisition pas à pas) est également disponible. Les données (horodatées) sont enregistrées au format texte sur une carte SD. Elles se récupèrent par l’intermédiaire d’un câble USB connecté à un ordinateur sous Linux, Windows ou Mac OS X. Les données brutes sont ensuite facilement exploitables dans un tableur ou avec Python (format CSV). La centrale fonctionne sur batterie ou sur secteur. Elle peut être également alimentée par le port USB. Elle intègre un certain nombre de capteurs dont une boussole qui mesure l’azimut, le roulis et le tangage ; un baro-altimètre qui mesure la pression absolue, la pression relative et l’altitude ; enfin un accéléromètre qui mesure les accélérations suivant 2 axes actuellement. Les mesures renvoyées par la boussole font l’objet d’un traitement informatique en temps réel afin de compenser certaines erreurs de mesures liées à des perturbations électromagnétiques à l’intérieur du boîtier.

Code source sur GitHub

Le logiciel de récupération et traitement des données est désormais développé en Python. Il permet d’effectuer plusieurs types de régression (linéaire, quadratique, cubique, quartique, exponentielle, logarithmique, puissance, trigonométrique) :

Ressources liées à Python

Python


Spyder : Environnement de développement.
NumPy : Pour manipuler des matrices ou des tableaux à N dimensions.
SciPy : Pour du calcul scientifique. Complète NumPy.
Matplotlib : Pour tracer des courbes, des graphiques.
Pandas : Pour la manipulation et l’analyse des données.
Scikit-image : Traitement d’images.
Scikit-learn : Machine Learning.
Sous Debian 9, installer les paquets spyder3, python3-numpy, python3-scipy, python3-matplotlib, python3-pandas, python3-skimage, python3-sklearn.


Pygame : Pour le développement de jeux vidéo temps réel

Puissance 4 en Python

J’ai écrit trois programmes :
– Un humain joue contre un humain
– Un humain joue contre l’ordinateur (sans IA)
– L’ordinateur joue contre lui même (sans IA)
Les sources des programmes sont sur Github.

La prochaine étape va être de mettre en oeuvre une intelligence artificielle, en commençant par l’algorithme minimax puis l’algorithme alpha-bêta. Mon objectif est à terme de réussir à mettre en oeuvre une IA qui repose sur de l’apprentissage.

Python 3 sous Debian 9

Site officiel : Python => Documentation


Un fichier Python commence par :
# -*- coding: utf-8 -*-
#!/usr/bin/env python

Conventions de syntaxe en Python

Par défaut, la bibliothèque graphique Tkinter pour Python 3 n’est pas installée sous Debian 9. Pour l’installer, taper dans la console :
sudo apt-get install python3-tk

Pour exécuter un fichier Python depuis la console :
python3 nom_fichier.py


Quelques autres éléments parfois utiles par la suite :

Pour connaître les droits d’un fichier :
ls -l

Pour rendre exécutable un fichier :
chmod +x nom_fichier.py

Pour exécuter un fichier exécutable :
./nom_fichier.py
Si on veut pouvoir appeler un programme sans se soucier du répertoire de commande, le placer dans /usr/local/bin (on peut enlever l’extension .py).

Python 3 et Geany sous Debian 9

Geany est un environnement de développement léger et rapide. Pour l’installer sous Debian 9, taper dans la console :
sudo apt-get install geany

Puis dans Geany :

Dans les champs « Commande » de « Compile » et d' »Execute », remplacer python par python3 :

Pour le réglage de l’indentation, aller dans :
Editer > Préférences > Editeur > Indentation.
Sélectionner Espaces à la place de Tabulations.
Vérifier que le mode d’intentation automatique par la touche Tab soit coché et que la largeur d’indentation soit de 4.