Sauvetage de la carte Velleman K8055

J'avais acheté cette carte,il y a bien longtemps pour initier mon aîné à la robotique. Elle traînait depuis plusieurs années dans un tiroir. carte-interface-usb-d-experimentation.jpg

Quand me vint le désire de monter une station météo, la girouette me nécessitait une entrée analogique. Comme la carte proposait 2 entrées de comptage et 2 entrées analogiques, elle s'avérait être la réponse idéale à mes besoins.
Elle pilote aussi 8 entrées/sorties binaires.
Quelques recherches sur Internet et je tombe dans Github sur un pilote K8055 pour Raspbian.
Que demander de mieux ??

connexion

On prend un câble USB. On connecte la carte ET C'EST TOUT ! L'alimentation du Raspi suffit (2A) à fournir l'énergie à la carte.

Installation du pilote à partir de github

Ça suppose que vous ayez déjà installé "git"

root@pi:/root$ apt_get install git

Passons au pilote maintenant :

root@pi:/root$ apt-get install git python-dev libusb-dev swig libwxgtk2.8-dev
root@pi:/root$ git clone https://github.com/rm-hull/k8055.git
root@pi:/root$ cd k8055
root@pi:/root$ make all
root@pi:/root$ sudo make install
root@pi:/root$ make pylib k8055gui
root@pi:/root$ sudo make pyinstall guiinstall

Utilisation

Utiliser cette carte devient très simple :

root@pi:/root$ k8055
16;1;99;110;29;0 # (timestamp);(digital);(analog 1);(analog 2);(counter 1);(counter 2)


Comme vous pouvez le constater il suffit de trier dans les données pour obtenir la valeur attendue.
Par exemple, le 110 est la valeur de luminosité récupérée sur un petit capteur photovoltaïque. Pour récupérer cette valeur dans un script, rien de plus simple :

root@pi:/root$$ luminosite=$(k8055 | cut -d";" -f4)

Pour remettre les compteurs à zéro :

root@pi:/root$$ K8055 -reset1 -reset2


On peut donc aussi piloter les sorties. Pour illustrer le propos, je vous soumets le code suivant, qui lit sur l'entrée analogique 1, le petit panneau photovoltaïque précédemment cité et va allumer les diodes de la cartes qui sont là pour représenter l'état des sorties.
Je veux donc utiliser ces diodes en barregraphe de 0 à 8 diodes allumées en fonction de la quantité de lumière captée, durant 1 minute et toutes les secondes :

#!/bin/bash
declare -i t
declare -i n
declare -i bar
for i in `seq 0 59`;
 do
  t=$(/usr/local/bin/k8055 -p:0 | cut -d ";" -f 4) # on récupère la valeur de $t entre 0 et 255 (0 à 5v)
#  calcul de la valeur binaire du bargraphe 2^n-1 (n=arrondi($t/32) (8 diodes))
  n=($t+16)/32
  bar=$(echo "(2^$n)-1" | bc -l )
# écriture sur le k8055
  /usr/local/bin/k8055 -p:0 -d:$bar 
  sleep 1
 done
 exit


Dernière précision, cette carte est adressable et l'on peut en connecter 4 sur le même Raspi. Le paramètre "-p:n" est là pour sélectionner la carte (-p:0 dans mon cas).



En conclusion une carte très intéressante pour des projets divers.
Je vais bientôt éditer des billets sur l'utilisation de cette carte pour la lecture des données de mon anémomètre, pluviomètre, girouette et capteur de lumière.
Où la trouver ? ici pour moins de 40€ (assez chère quand même !).

k8055_testsoft.jpg