jeudi 15 juin 2017

Station météo avec un Arduino

Le projet est orienté vers une plateforme de développement et de prototypage Open Source nommée Arduino. Grossièrement, l’Arduino peut être comparé à un ordinateur très limité en termes de performances : processeur 16 Mhz, 32Ko de mémoire flash pour les programmes (dont 0,5Ko réservé pour le système d’exploitation), 1Ko de RAM, 1Ko d’ « espace disque » (EEPROM), pas de sortie écran. Par contre son énorme avantage est qu’il possède 14 broches numériques pouvant recevoir ou emmètre un signal (0 ou 1), plus 6 broches analogiques. Ces 6 broches analogiques permettent d’envoyer ou de mesurer un courant de 0 à 5 volts (le mappage s’effectuant de 0 à 1023 – 0 = 0 volt, 1023 = 5 volts). Au niveau logiciel, l’Arduino se programme via un langage dédié très proche du C. Pour ce faire il suffit de télécharger l’IDE dédié (disponible sur tous les systèmes d’exploitation), d’écrire le programme et de le téléviser sur l’Arduino (qui dispose d’un port USB dédié à cet usage).
C’est donc un Arduino qui se charge de collecter la température intérieure et de l’afficher. Pour la température extérieure, j’ai utilisé un microcontrôleur ATTINY85 – car l’Arduino est capable de programmer ce type de composant ! En effet, il est possible de brancher l’Attiny sur l’Arduino et de dire à l’Arduino « envoie le programme sur le microcontrôleur ». Le langage étant le même que pour l’Arduino.
En extérieur, sous abris, l’Attiny va interroger la sonde température/humidité toutes les trente secondes. Les informations températures et humidités sont encapsulées dans une trame et envoyé à l’émetteur 433Mhz. La led est activée le temps d’un clignotement. En intérieur, le récepteur reçoit les informations via le récepteur 433Mhz il les affiche sur l’écran LCD. La led est activée le temps d’un clignotement. Toutes les trente secondes l’Arduino interroge également sa propre sonde de température et affiche l’information. Le programme prévoit deux tableaux (un pour la température extérieur et un autre pour la température intérieur) permettant de stocker 96 valeurs de températures. Tous les 15 minutes l’Arduino supprime la valeur la plus ancienne (celle avec l’indice zéro) et ajoute la nouvelle valeur connue. A partir de ces deux tableaux, le programme recherche les valeurs maximales et minimales. Ces valeurs sont affichées. L’affichage nous renseigne donc des températures intérieure/extérieur et du taux d’humidité extérieur en temps réel. Ainsi que les températures minimale/maximale intérieure/extérieur sur vingt-quatre heures glissantes.
Les sources sont disponibles ici :
Source de la sonde extérieure
Source de la station

mercredi 18 juin 2014

Arrosage automatique et écolo

L'année dernière nous avons acheté une serre en plastique d'environ 25m².
Et quelle déception à notre retour de vacances de constater que les pieds de tomates étaient malades !!

J'ai commencé à réfléchir à un système qui aurait pu faire un arrosage type goutte à goutte. 
Ayant déjà réalisé un projet de four solaire à base d'arduino, je me suis naturellement tourné vers cette technologie.

Après quelques heures de recherche sur le net, j'ai trouvé n'ai personne ayant déjà effectué un tel projet. J'ai trouvé ca étrange car il existe des centaines et des centaines de réalisations qui ne servent à rien... (à par le plaisir de les réaliser).

Je me suis lancé dans l'aventure: construire un système d'arrosage :
- Autonome
- Écologique utilisant l'énergie solaire et les eaux de pluies
- Intelligent 

Assez de bla-bla. Place à la technique.
Principe: Un panneau solaire relié à une batterie (avec entre les deux un régulateur solaire) alimente un arduino et ses capteurs. Lorsque les capteurs indiquent à l'arduino que tous les conditions sont OK, celui-ci déclenche un relais.
A l'autre bout du relais une pompe type bassin + une électrovanne.
La pompe achemine l'eau d'une cuve de récupération d'eau pluviale dans la serre. L'eau est distribuée grâce à un tuyau percé.

C'est simple et efficace.
Vue d'ensemble - l'arduino est dans une boite VHS
L'électronique autour de l'arduino


La pompe + l’électrovanne

Des plantes heureuses !


Le panneau solaire



Très concrètement une photorésistance enregistre toutes les 10 minutes de 00h00 à 20h30 une valeur. Cette valeur (un scoring) va déterminer le temps d'arrosage (au plus la journée a été ensoleillée au plus on arrose). S'il y a encore de l'eau dans la cuve et au moins 12,2 volts dans la batterie, l'arrosage se déclenche à 20h30.

Le matériel :
- Un panneau solaire 55w (le bon coin) : 100€
- Une batterie Gel-plomb 32Ah  (le bon coin) : 25€
- Un régulateur solaire (Conrad) : 15 €
Rétrospectivement j'aurai acheté les 3 éléments ci dessus dans un kit (vous imaginez pas les kilomètres parcourus + le temps à chercher) vendu chez Ohm-easy (180€) le lien ICI

- Un Arduino : 20 € (SnootLab)
- Une pompe : 40€ (Ohm-easy
- Une électrovanne 12v : 10€ (Mc Hobby)
- Un tuyau arrosage 13mm (Leroy Merlin)
- Un tuyau percé 13mm (Leroy Merlin)
- Des raccords bi-matières clipsables (Leroy Merlin)
- Une cuve 1000 litres (le bon coin) 

Côté électronique:
- Un régulateur de tension positif permet d'abaisser la tension de la batterie à 9 volts (pour alimenter l'Arduino). Le schéma est ICI
- Un régulateur de tension négatif permet de soustraire 9 volts à la tension de la batterie. Permettant ainsi de fournir une tension mesurable par le Arduino (entre 0 et 5 volts). Le schéma est ICI.
- Une photorésistance branchée sur une pin analogique du Arduino. Le schéma est ICI 
- 2 fils + une petite résistance vous dirons s'il y a de l'eau. Le schéma est ICI
- Un afficheur LCD 2x16 caractères pour l'affichage. Le schéma est ICI

-> Le système tourne maintenant depuis 1 mois et demi, nous mangeons les premières récoltes.
-> Le fait d'avoir implémenté la détection d'eau présente 2 avantages : 
        La pompe ne fonctionne jamais à vide 
        Comme les fils de détection sont plus hauts dans la cuve que le tuyau, le système dit "il n'y           a plus d'eau" alors qu'il en reste un peu. Le système ne se désamorce donc jamais.
-> Le fait d'avoir implémenté la détection de la tension aux bornes de la batterie assure la survie du système (si tension < 12,2 volts je garde l’énergie pour le cerveau - l'Arduino)
-> Je pense avoir surdimensionné l’alimentation. Un panneau solaire type 20w pourrait peut-être suffire
-> Je pense que je pourrais arroser 50 m² avec ce système (en ajoutant une cuve)
-> Pour l'électronique, je vous conseille l’excellent www.e44.com
-> Il convient de brancher l'électrovanne en aval de la pompe
-> A 300€ environ cela peut paraître cher. Faut savoir se donner les moyens... personnellement ma passion c'est de concevoir des trucs utiles et écologiques...
-> Avec le surplus d'énergie, je pense brancher un convertisseur 12v continu ver 220v alternatif pour pouvoir recharger les téléphones, batterie de perceuses, poste radio...

Le code source est disponible ICI