Domotic and stupid geek stuff

Capteur humidité du Sol pour moins de 5€

Dans ma lancé, après le capteur de niveau d’eau dans ma cuve de récupération je vais vous présenter un nouveau capteur très simple à réaliser pour mesurer l’humidité de votre sol et l’envoyer à domoticz.

Matériel :

(le matériel est quasiment identique à celui utilisé pour le capteur de niveau d’eau).

Schémas des connexions :

 

Connexion Arduino / attiny85 pour capteur humidité pour domoticz

Code  :

Le code est disponible ici :  soil_moisture_sensors.ino

Dans Domoticz :

Si tout fonctionne correctement vous devriez vous apparaître dans domoticz un nouveau dispositif :

Ajoutez ce dispositif et déclarez le en compteur avec une unité « / 1024 » (car les données envoyées sont codé de 0 a 1024).

Cela va apparaître ensuite dans domoticz comme cela :

Pour ma part j’ai créé ensuite un capteur virtuel de type « Humidité de surface » :

Capteur de type humidité dans domoticz

 

et j’ai créer un petit script /home/pi/domoticz/scripts/lua/script_device_hum_sol.lua pour l’alimenter et ajuster le résultat pour qu’il soit entre 0 et 100% :

commandArray = {}
--Cette fonction calcule la difference de temps (en secondes) entre maintenant
--et la date passee en parametre.
function timedifference (s)
  year = string.sub(s, 1, 4)
  month = string.sub(s, 6, 7)
  day = string.sub(s, 9, 10)
  hour = string.sub(s, 12, 13)
  minutes = string.sub(s, 15, 16)
  seconds = string.sub(s, 18, 19)
  t1 = os.time()
  t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
  difference = os.difftime (t1, t2)
  return difference
end


if (timedifference(otherdevices_lastupdate['Capt_Hum_Sol_1']) < 30 and timedifference(otherdevices_lastupdate['Capt. Hum 1']) > 50)
then

   val = tonumber(otherdevices_svalues['Capt_Hum_Sol_1']);
   val1 = math.floor(100*(val/1024));
   --commandArray['UpdateDevice']='idx|nValue|sValue  nvalue=HUM&svalue=HUM_STAT
   commandArray['UpdateDevice']='354|'..val1..'|0';

   print('Capt. Hum 1 - '..val1..' %'.."  "..val)
end
return commandArray

Ici 354 correspond au numéro de capteur virtuel crée.

Et voila ce que ça donne dans domoticz :

A droite le capteur virtuel a gauche le capteur qui reçoit les données de la sonde.

Par la suite vous pouvez cachez la capteur « Capt_Hum_Sol_1 » en utilisant les $Hidden Devices.

Et dans le monde réel voici mon capteur : Les sondes sont faites avec du câble coaxial dont l’âme est partiellement dénudée, à priori ça fonctionne plutôt bien…

Comme le cuivre a tendance à s’oxyder rapidement j’ai étamer avec de l’étain les deux sondes.

Capteur humidité du sol Aduino / Attiny85

Après quelques jours de mesure

Les références qui m’ont aidé sur internet :

 

Cet article vous a plus, vous avez des commentaire / amélioration à apporter ? laissez un commentaire 🙂

 

 

 

Quitter la version mobile