Bonjour à tous,
voici de nouveau post pour vous présenter un capteur de pression numérique utilisable avec Arduino.
Vous pouvez lire la totalité de l'article sur le site diopter.fr à l'adresse suivante :
http://diopter.fr/index.php/technique/s ... et-arduino
Comme on peut le voir sur la photo ce module est de taille réduite, 16,5x16,5 mm.
Il intègre un capteur de pression Bosch BMP085.
Son alimentation est de 1,8 à 3,6 V.
C'est un bus I2C qui permet le dialogue avec Arduino.
sa capacité de mesure est de 300 à 1100 hPa avec une précision de 0,003 hPa.
Le module ici à l'essai a été acheté sur le site de Lextronic sour la réfénce SEN-11282.
http://www.lextronic.fr/P19202-platine- ... rique.html
L'une des particularité c'est que ce module qu'il est généralement utilisé pour le développement pour des stations météo.
De part sa popularité il est aussi monté et aussi distribué par d'autres sociétés et en particulier par la société Adafruit.
Adafruit à la particularité de produire et de vendre une carte équivalente mais aussi de fournir une librairie Arduino qui facilite son utilisation à l’extrême.
Toutes les infos et les fichiers de téléchargement à l'adresse ci-dessous :
https://github.com/adafruit/Adafruit-BMP085-Library
Une fois cette librairie télécharger (au format Zip) il suffit de décompresser ce même fichier dans le répertoire "librairies" ce trouvant dans le répertoire Arduino de votre ordinateur.
Pour le câblage sur la platine d'essais, il ne faut que 4 fils entre la carte Arduino (une nano V3 pour l'essai) et la module à tester.
En effet, le bus I2C ne demande que 2 fils de "commande" excepté l'alimentation et la masse.
- Le fil jaune relie la borne CL pour SCL, l'horloge du bus
- Le fil vert relie la borne DA pour SDA, la data du bus
- Le fil rouge pour le VCC, attention la carte est alimenté en 3,3V (celui fourni par la carte Arduino)
- La fil noir pour la masse.
et voilà c'est tout.
le montage en image :
Pour le programme, vous verrez qu'il est extrêmement court du fait de l'utilisation de la librairie fournie par Adafruit.
En début de programme on appel les différents librairies que l'on va utilisé
Dans la partie Setup on initialise les différentes variables on active le terminal série.
Dans le boucle principal ( void loop() ) 5 lignes seulement sont nécessaires.
- 2 pour affiché l'intitulé et le température
- 2 pour l'intitulé et la valeur correspondant à la pression
- 1 pour afficher un séparateur
- 1 pour faire un délai d'une seconde entre chaque analyse et affichage
Et voilà c'est tout, simple non.... a oui j'ai oublier de vous dire que pour le même prix, ce module fourni aussi la température. ça peut être une donnée intéressante à exploiter, donc pourquoi s'en priver.
Code : Tout sélectionner
/*
Mini-station météo - Breakout BMP085 Adafruit
Librairie BMP085 : https://github.com/adafruit/Adafruit-BMP085-Library/zipball/master
Arduino IDE 1.0.1
*/
// Pin "VCC" du breakout connectée à pin 3.3V de l'Arduino /! \ ne pas connecter directement au 5V /!\
// Pin "GND" du breakout connectée à pin GND de l'Arduino
// Pin "SCL" du breakout connectée à pin A5 de l'Arduino
// Pin "SDA" du breakout connectée à pin A4 de l'Arduino
// EOC et XCLR non utilisés pour ce sketch
#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
void setup()
{
Serial.begin(9600);
bmp.begin();
}
void loop()
{
Serial.print("Temperature = ");
Serial.println(bmp.readTemperature());
Serial.print("Pression = ");
Serial.println(bmp.readPressure());
Serial.println("------");
delay(1000);
}
le résultat sur le terminal série une fois le programme injecté dans la carte Arduino :
Voilà pour cette petite présentation sur ce capteur qui semble fort intéressant.
Maintenant il faut faire des essais plus poussés et en premier lieu faire une adaptation du module pour le connecter à une durit silicone.
Avec une colonne d'eau il sera alors possible de déterminer son seuil de saturation pour la profondeur maximale exploitable et aussi sa sensibilité pour peut-être l'utiliser pour une tenue d'immersion.
Laurent