Mise à jour de la centrale Alpha 4

Je viens de mettre à jour la centrale Alpha 4. Elle est le 4ème prototype d’une centrale d’acquisition LIBRE à destination des enseignants de physique-chimie notamment. La centrale Alpha 4 a subi une cure d’amaigrissement par rapport à la version précédente (les capteurs internes ont été retirés) et le code informatique a été amélioré.

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 notamment grâce à un programme que j’ai écrit en Python. Celui-ci crée un fichier au format CSV, trace une courbe et permet de modéliser la fonction obtenue, tout cela automatiquement en appuyant sur un seul bouton de la centrale.

Charge d’un condensateur sous 5 volts avec une résistance de 1 MΩ et un condensateur de 100 µF :
b = -0,010 => τ = RC = 100 s

Oscillations :

Mettre à jour un programmateur USBasp avec un autre programmateur USBasp (sous Debian 10)

Lorsque je téléverse un programme dans ma carte Arduino Nano avec mon programmateur USBasp, j’obtiens le message suivant : avrdude: warning: cannot set sck period. please check for usbasp firmware update.

Si avrdude n’est pas installé dans Debian 10, le faire préalablement :

sudo apt-get install avrdude

Télécharger la dernière version du firmware (usbasp.2011-05-28.tar.gz ) sur le site officiel et décompresser l’archive :

cd Téléchargements
wget https://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
tar -zxvf usbasp.2011-05-28.tar.gz

La puce sur le programmateur à mettre à jour est un ATmega8L (à vérifier à la loupe). Dans l’archive décompressée ci-dessus, le fichier qui nous intéresse est donc : usbasp.atmega8.2011-05-28.hex

Sur le programmateur à mettre à jour, JP1 est à positionner sur 5V ; les 2 broches de JP2 sont à relier entre elles.
Connecter les 2 programmateurs.
Taper dans la console les 2 lignes suivantes :

cd Téléchargements/usbasp.2011-05-28/bin/firmware/
avrdude -p atmega8 -c usbasp -U flash:w:usbasp.atmega8.2011-05-28.hex:i -F -P usb

Copie écran de ce qu’on obtient :

Libérer les broches de JP2.

=> Lien

Installation de Fritzing 0.9.6 sous Debian 10

Fritzing 0.9.6 ne fonctionne pas sous Debian 10 :
Fritzing utilise les bibliothèques Qt5 suivantes : libqt5printsupport5 libqt5xml5 libqt5sql5 libqt5serialport5 libqt5sql5-sqlite. Debian 10 en propose la version 5.11 alors que c’est la version 5.12 qui est nécessaire.
Debian 11 qui devrait sortir prochainement proposera la version 5.15. Patience donc…

Dans la console :

Pour supprimer la version 0.9.3 éventuellement installée depuis les dépôts de Debian 10 :

sudo apt-get --purge remove fritzing
sudo apt-get autoremove

Si le répertoire fritzing n’existe pas déjà, je le crée :

sudo mkdir /usr/share/fritzing

Télécharger Fritzing depuis : https://fritzing.org/download/ (8 €)

Je décompresse l’archive téléchargée et l’installe à l’endroit voulu :

cd Téléchargements
tar jxvf fritzing-0.9.6.linux.AMD64.tar.bz2
sudo mv fritzing-0.9.6.linux.AMD64 /usr/share/fritzing/fritzing-0.9.6

Je télécharge l’icône fritzing et l’installe à l’endroit voulu :

wget http://entropie.org/3615/download/fritzing.png
sudo mv fritzing.png /usr/share/fritzing

Pour intégrer le programme au menu de Xfce, je crée un fichier fritzing-0.9.6.desktop dans le répertoire /usr/share/applications :

cd /usr/share/applications
sudo nano fritzing-0.9.6.desktop


[Desktop Entry]
Version=0.9.6
Name=Fritzing
GenericName=Fritzing
Comment=Electronic Design Automation software
Exec=/usr/share/fritzing/fritzing-0.9.6/Fritzing
Icon=/usr/share/fritzing/fritzing.png
Terminal=false
Type=Application
Categories=Development;IDE;Electronics;
X-SuSE-translate=false
StartupNotify=true
MimeType=application/x-fritzing-fz;application/x-fritzing-fzz;application/x-fritzing-fzp;application/x-fritzing-fzpz;application/x-fritzing-fzb;application/x-fritzing-fzbz;application/x-fritzing-fzm;

Enregistreur de données avec Arduino Nano : C02, Température, Humidité

J’ai mis le code source de mon capteur de CO2 (également enregistreur de données) sur GitHub. Un fichier que j’ai écrit en Python permet de récupérer les données et de tracer automatiquement la courbe du taux de CO2 en appuyant sur un seul bouton (sur GitHub également).

La température renvoyée par le capteur de CO2 SCD30 n’étant pas satisfaisante (trop élevée au bout d’un certain temps), j’ai décidé d’utiliser un banal capteur de température LM35CZ, fiable et très peu cher. Le convertisseur analogique / numérique 10 bits intégré à la carte Arduino numérise le signal analogique sur 1024 niveaux (de 0 à 1023), le 0 correspondant à 0 volt et le 1023 à 5 volts. Le pas entre deux niveaux successifs est donc de 5/1023 = 0,00489 V = 4,89 mV. Puisque le capteur LM35CZ fonctionne de manière linéaire (10 mV par °C), le pas entre deux niveaux successifs représente 4,89/10 = 0,489 °C. Nous pouvons gagner en résolution en amplifiant le signal d’origine de façon à utiliser toute la plage offerte par la carte Arduino (il faut faire attention à ne pas dépasser les 5 V). Le capteur LM35CZ est prévu pour fonctionner jusqu’à 110 °C. Tel que précédemment, nous atteignons une tension maximale de 110×10 = 1100 mV = 1,1 V. En amplifiant le signal d’origine 4,9 fois (voir schéma ci-dessous), nous améliorons la résolution à 0,489/4,9 = 0,10 °C entre deux niveaux successifs. La tension maximale à la sortie du capteur amplifié serait alors de 1,1×4,9 = 5,39 V, une tension supérieure aux 5 V à ne pas dépasser, mais comme il ne fera jamais plus de 102°, il n’y a pas de risques.

La carte SD est formatée en FAT 16 (voir cette page du site Arduino) :

Arduino : Téléverser un croquis avec le programmateur USBasp

Carte Arduino Uno sur une breadboard :
Source : https://www.arduino.cc/en/Main/Standalone
L’image d’origine a été corrigée (erreur sur le fil vert MOSI).
RESET vers broche 1 de l’ATmega328P
MOSI vers broche 17 de l’ATmega328P
MISO vers broche 18 de l’ATmega328P
SCK vers broche 19 de l’ATmega328P

USBasp : Thomas Fischl (Site officiel)

Remarque : Choisir un programmateur avec jumper qui permet de programmer sous 5V ou 3,3 V.

Installation de NordVPN sous Debian 10

Télécharger nordvpn-release_1.0.0_all.deb depuis cette adresse.

Dans la console :

cd Téléchargements
sudo apt-get install ./nordvpn-release_1.0.0_all.deb
sudo apt-get update
sudo apt-get install nordvpn

Pour fonctionner, NordVPN utilise les ports 443 (TCP) et 1194 (UDP). Paramétrer le firewall en conséquence.

Redémarrer.
Dans la console :
nordvpn connect

Pour activer CyberSec (Blocage des publicités et des sites malveillants) :
nordvpn set cybersec on

Pour activer Kill Switch (Surveillance de la connexion au serveur VPN) :
nordvpn set killswitch on

Pour passer le protocole de UDP à TCP :
nordvpn set protocol tcp

Pour activer l’auto-connexion au démarrage d’une session :
nordvpn set autoconnect on

Pour permettre à un autre utilisateur de bénéficier du VPN :
sudo usermod -aG nordvpn $USER ($USER à adapter)
Redémarrer.

Pour voir toutes les autres options possibles, taper simplement : nordvpn

Remarque : En cas de gros blocage de la connexion, se déconnecter du réseau, passer killswitch à off. Se reconnecter au VPN puis repasser killswitch à on.

Pour désinstaller NordVPN :

sudo apt-get --purge remove 'nordvpn*'

Autre possibilité (moins intéressante et moins souple) : Se connecter à NordVPN en utilisant Network Manager OpenVPN :

Dans la console :
sudo apt-get install network-manager-openvpn-gnome
sudo service network-manager restart

Se connecter à https://nordvpn.com/fr/servers/tools/
et télécharger les fichiers de configuration pour les protocoles OpenVPN TCP ou OpenVPN UDP.

Enfin, aller dans Paramètres > Configuration réseau avancée et importer une configuration VPN enregistrée (celle téléchargée précédemment).