Affichage des articles dont le libellé est Système Auxiliaire de Plante. Afficher tous les articles
Affichage des articles dont le libellé est Système Auxiliaire de Plante. Afficher tous les articles

vendredi 8 juin 2012

Test des SAP

Voici une vidéo du test des SAP. On y voit le test du capteur PT100, du capteur SHT71 ainsi que le résultat du calcul du nombre de centilitre demandé par la plante.

Alimentation mobile pour les SAP

Les Systèmes Auxiliaires de Plantes (SAP) seront composés des éléments suivants :
  • une carte Arduino,
  • un XBee shield,
  • un module XBee,
  • une sonde PT100,
  • une sonde SHT71.

Tous ces composants devront être placé sur les jardinières, chaque pot ayant son propre SAP. Étant donné que nous ne pouvons imposer au client de placer ces pots à coté d'une prise de courant, je devais trouver une alimentation mobile et assez banale pour que le client puisse à la fois :
  • déplacer ses jardinières comme bon lui semble,
  • remplacer son alimentation facilement sans avoir besoin d'un mode d'emploi,
  • trouver l'alimentation dans toutes grandes surfaces.

La carte Arduino Uno SMD doit être alimenté par du 5V au minimum pour fonctionner mais le voltage recommandé est compris entre 7V et 12V. Je me suis donc tout naturellement tournée vers les piles 9V.
Pile 9V Duracell

Il suffit de les brancher à l'aide d'un contact à pression pour pile 9V à l'Arduino sur les pins VIN et GND pour alimenter tout le Système Auxiliaire de Plante.
Contact à pression pour pile 9V

mardi 29 mai 2012

Simulation d'une sonde de température

Avant de faire le montage de la sonde de température, j'ai voulu tester mon programme de récupération de valeurs. J'ai donc simulé la sonde grâce à un potentiomètre.
Potentiomètre 4K7 (20%)
Il s'agit d'une résistance variable : la base tourne et créé plus ou moins de résistance. Lorsque le potentiomètre est en butée d'un coté, il laisse passer 0V, de l'autre coté il laisse passer 5V et entre les 2 c'est variable. Cela simule la sonde de température car cette dernière va laisser passer entre 0 et 5V selon la température qu'elle va analyser.

Voici le montage du potentiomètre sur la carte Arduino :
Montage du potentiomètre sur la carte Arduino

Le potentiomètre est branché sur les pins suivantes : 5V, GND et A0. Je récupère donc les valeurs du potentiomètre sur la pin A0 comme le montre mon programme ci-dessous :
Résultats du test avec le potentiomètre

L'important dans le code affiché est la fonction "analogRead(broche)" qui lit la valeur de la tension présente sur la broche spécifiée et transforme cette tension d'entrée entre 0 et 5V en une valeur numérique entière comprise entre 0 et 1023. On voit donc qu'au début le potentiomètre est en butée de manière à laisser passer 0V (valeur affichée : 0), puis en tournant le potentiomètre la valeur augmente jusqu'à 1023, valeur de la butée de l'autre côté.

lundi 14 mai 2012

Programmer sur l'Arduino

Pour développer sur la carte Arduino Uno SMD, il faut installer le logiciel Arduino. Il s'agit d'un espace de développement intégré (EDI) dédié au langage Arduino.

Le logiciel Arduino a pour fonctions principales :
  • de pouvoir écrire et compiler des programmes pour la carte Arduino,
  • de se connecter avec la carte Arduino pour y transférer les programmes,
  • de communiquer avec la carte Arduino.

Après installation, il faut configurer le logiciel Arduino en choisissant la carte sur laquelle on va développer puis le port utilisé :



Une fois la configuration correctement effectuée, nous pouvons commencer à coder.

Le langage Arduino est basé sur du C/C++. Nous retrouvons la plupart des types de variables (boolean, char, byte, int...) et de structures (if...else, for, switch case, while...). Il y a cependant quelques constantes et fonctions particulières :
  • HIGH | LOW
    • Lorsqu'on lit ou on écrit sur une broche numérique, seuls deux états distincts sont possible, la broche ne peut être qu'à deux valeurs : HIGH ou LOW.
  • INPUT | OUTPUT
    • Les broches d'une carte Arduino configurées en mode INPUT sont dites en état de "haute-impédance" (en état de "haute résistance" en quelque sorte). Une broche configurée en INPUT ne consomme qu'une toute petite intensité sur le circuit sur laquelle elle est connectée.
    • Les broches configurées en mode OUTPUT sont en état dit de "basse-impédance" (en état de "basse résistance"). Cela veut dire qu'elle peuvent fournir une quantité significative de courant aux autres circuits.
  • pinMode(broche, mode)
    • Configure la broche spécifiée pour qu'elle se comporte soit en entrée, soit en sortie.
  • digitalWrite(broche, valeur) 
    • Met un niveau logique HIGH ou LOW sur une broche numérique.
  • int digitalRead(broche)
    • Lit l'état (= le niveau logique) d'une broche précise en entrée numérique, et renvoie la valeur HIGH ou LOW.
  • int analogRead(broche)
    • Lit la valeur de la tension présente sur la broche spécifiée et transforme cette tension d'entrée entre 0 et 5V en une valeur numérique entière comprise entre 0 et 1023.
  • analogWrite(broche, valeur) - PWM (Pulse Width Modulation)
    • Génère une impulsion de largeur / période voulue sur une broche de la carte Arduino.


Voici un exemple de programme permettant de faire clignoter une LED :


mercredi 21 mars 2012

Matériel utilisé pour les SAP

Arduino
Tout d'abord nous avons un Arduino Uno SMD. Un Arduino est un circuit imprimé dont les plans sont publiés en licence open source sur lequel se trouve un micro-contrôleur qui peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la charge de batteries, la domotique, le pilotage d'un robot, etc.
Voici notre Arduino Uno SMD.
Le langage de programmation utilisé est le C++, compilé avec avr-g++, et lié à la bibliothèque de développement Arduino permettant l'utilisation de la carte et de ses entrées/sorties.

XBee shield
Cette petite plaque se pose sur l'Arduino Uno afin de faire le lien avec le module XBee (voir ci-dessous).



XBee S2 
Les modules XBee permettent de communiquer grâce au ZigBee (protocole de haut niveau permettant la communication de petites radios pour les réseaux à dimension personnelle). Nous avons 2 types de modules XBee : avec antenne planaire et avec antenne fouet. Nous pensons utiliser ceux avec l'antenne planaire pour les SAP et ceux avec l'antenne fouet pour les robots.
XBee S2 avec antenne planaire
XBee S2 avec antenne fouet
Ces modules se posent sur les XBee shield vu plus haut.

Montage
Voici donc à quoi ressemble le tout une fois monté :

A cela, il faudra ajouter les capteurs de températures terrestres et aériens.