Module LPS22HB click
Dont 0,01 € d'eco-participation déjà incluse dans le prix
Ce module Click Board est un capteur barométrique faible consommation qui permettra à votre microcontrôleur de mesurer des pressions atmosphériques comprises entre 260 et 1260 hPa ainsi que des températures, par le biais d'un circuit LPS22HB.
Ce module Click Board est un capteur barométrique faible consommation qui permettra à votre microcontrôleur de mesurer des pressions atmosphériques comprises entre 260 et 1260 hPa ainsi que des températures, par le biais d'un circuit LPS22HB.
- Sortie avec résolution 24 bits pour les données de pressions
- Sortie avec résolution 16 bits pour les données de température
- Consommation inférieure à 3 µA
Des exemples de programmes dédiés aux FT90x, ARM, AVR, dsPIC30/33 & PIC24, PIC et PIC32 avec les compilateurs "C" (mikroC) sont disponibles afin de vous permettre une prise en main rapide et intuitive du module.
Bénéficiant d'une résolution de mesure sur 24 bits, le module s'interface avec un bus I2C™ ou SPI (sélectionnable).
Le module est destiné à être alimenté sous une tension de 3,3V.
Pouvant être utilisé et piloté par la plupart des microcontrôleurs, sa conception vous permettra de pouvoir l'insérer sur des plaques de développement sans soudure (type BreadBoard). Consultez ce lien pour une présentation générales des modules Click Board
Il est également directement compatibles avec les platines de développement mikroElektronika (telles que l'EasyPIC7, l'EasyPIC Fusion, l'EasyAVR7 ou encore la platine Flip & Click - voir en bas de page).
A l'aide de platines d'adaptations additionnelles, il vous sera également possible de les enficher sur des plateformes arduino™ (UNO ou Mega2560) ou Rasberry Pi ou BeagleBone Black.
Du code source pour vos modules Click™ Board !
Disposer d'une solution matérielle pour développer c'est bien... mais disposer du code source associé pour faciliter une intégration au sein de son application... c'est mieux ! C'est ce que vous propose mikroelektronika (le fabricant des modules Click Board) par l'intermédiaire d'un site Internet dédié à cet usage. Des exemples de programmes dédiés (suivant les modules Click Board) aux PIC, dsPIC, PIC24, PIC32, ARM™, FT90x, AVR, 8051 avec les compilateurs "C" (mikroC) sont disponibles afin de vous permettre une prise en main rapide et intuitive du module.
Connectez vous sur le www.libstock.com pour accélérer la mise en oeuvre des modules "Click Board".
Nous proposons également ci-dessous une application avec un arduino™
Enfichez le module MIKROE-2665 sur la platine MIKROE-1581... Puis enfichez le tout sur la platine arduino™ (A000066) ou réalisez les connexions ci-dessous entre la platine Arduino™ (A000066) et le module MIKROE-2665 (si vous ne disposez pas de la platine d'interface MIKROE-1581).
Programme Arduino
/************************************************************************
*
* Test du module "LPS22HB click"
*
*************************************************************************
* La température et la pression atmosphérique sont affichées
* dans le moniteur série
*
* Matériel
* 1 Arduino Uno (A000066)
* 1 Shield "Click" pour arduino UNO (Réf. : MIKROE-1581)
* 1 Module "LPS22HB click" (Réf.: MIKROE-2665) inséré sur le support N°1 du shield
* ou divers straps mâles/femelles (réf.: PRT-12794) si vous ne disposez pas de
* de la platine shield MIKROE-1581)
* 1 Shifter Level TXB0108
* Schéma publié sous licence CC Attribution-ShareALike (Arduino et ses connexions réalisés avec Fritzing)
*
************************************************************************/
Shifter Level TXB0108#include <Wire.h> // appel de la bibliothèque
#define LPS22HB 0x5C // adresse I2C du LPS22HB
// Adresse des registres
#define PRESS_OUT_XL 0x28
#define PRESS_OUT_L 0x29
#define PRESS_OUT_H 0x2A
#define TEMP_OUT_L 0x2B
#define TEMP_OUT_H 0x2C
#define CTRL_REG2 0x11
long pres[2];
byte temp[1];
float temperature;
double pression;
void setup(void)
{
Serial.begin(9600); // initialisation de la liaison série
Wire.begin(); // initialisation du bus I2C
}
void loop()
{
// Acquisition de la valeur de la température
Wire.beginTransmission(LPS22HB); // acquisition d'une mesure
Wire.write(CTRL_REG2);
Wire.write(0x01);
Wire.endTransmission();
Wire.beginTransmission(LPS22HB); // acquisition de l'octet de poids faible de la température
Wire.write(TEMP_OUT_L);
Wire.endTransmission();
Wire.requestFrom(LPS22HB,1);
temp[0]=Wire.read();
Wire.beginTransmission(LPS22HB); // acquisition de l'octet de poids fort de la température
Wire.write(TEMP_OUT_H);
Wire.endTransmission();
Wire.requestFrom(LPS22HB,1);
temp[1]=Wire.read();
// Acquisition de la valeur de la pression
Wire.beginTransmission(LPS22HB); // acquisition d'une mesure
Wire.write(CTRL_REG2);
Wire.write(0x21);
Wire.endTransmission();
Wire.beginTransmission(LPS22HB); // acquisition de l'octet de poids faible de la pression
Wire.write(PRESS_OUT_XL);
Wire.endTransmission();
Wire.requestFrom(LPS22HB,1);
pres[0]=Wire.read();
Wire.beginTransmission(LPS22HB); // acquisition de l'octet central de la pression
Wire.write(PRESS_OUT_L);
Wire.endTransmission();
Wire.requestFrom(LPS22HB,1);
pres[1]=Wire.read();
Wire.beginTransmission(LPS22HB); // acquisition de l'octet de poids fort de la pression
Wire.write(PRESS_OUT_H);
Wire.endTransmission();
Wire.requestFrom(LPS22HB,1);
pres[2]=Wire.read();
// Calcul de la température
temperature=(temp[1]<<8) | (temp[0]&0xff);
temperature=temperature/100.0;
// Calcul de la pression
pression=((pres[2]<<24) | (pres[1]<<16) | (pres[0]<<8))>>8;
pression=pression/4096;
// Affichage
for (int i=0;i<2;i++) // affichage des octets de la température
{
Serial.print("temp[");
Serial.print(i);
Serial.print("]=");
Serial.print(temp[i]);
Serial.print('t');
}
Serial.print('t');
Serial.print('t');
Serial.print("Temperature="); // affichage de la température
Serial.print(temperature);
Serial.println(" degre Celcius");
for (int i=0;i<3;i++) // affichage des octets de la pression
{
Serial.print("pres[");
Serial.print(i);
Serial.print("]=");
Serial.print(pres[i]);
Serial.print('t');
}
Serial.print("Pression="); // affichage de la pression
Serial.print(pression);
Serial.println(" mbar");
Serial.println("");
delay(1000);
}
Cette note d'application a retenu votre attention ? Consultez toutes nos autres notes d'applications concernant les modules Click Board et les Arduino™
Note d'application Click Board™ et Arduino™ (TOME 1)
Note d'application Click Board™ et Arduino™ (TOME 2)
Note d'application Click Board™ et Arduino™ (TOME 3)
Note d'application Click Board™ et Arduino™ (TOME 4)
Note d'application Click Board™ et Arduino™ (TOME 5)
Note d'application Click Board™ et Arduino™ (TOME 6)
Note d'application Click Board™ et Arduino™ (TOME 7)
Note d'application Click Board™ et Arduino™ (TOME 8)
Note d'application Click Board™ et Arduino™ (TOME 9)
Note d'application Click Board™ et Arduino™ (TOME 10)
Téléchargez également les fichiers sources de ces notes d'applications
Les modules Click™ Board sont utilisés dans les établissements scolaires !
Lextronic propose également désormais aux professeurs de recevoir (par email) et sur simple demande différents TP leur permettant de mettre en oeuvre divers modules Click Board avec une platine arduino UNO.
En tant que professeur, il vous suffit de nous adresser votre demande via notre adresse email lextronic@lextronic.fr (en précisant le nom et l'adresse de votre établissement) - Seules les demandes en provenance d'une adresse email académique seront traitées (les demandes via des comptes free, gmail, hotmail, etc... ne pourront pas être traitées - Merci de votre compréhension).
Ces différents TP sont composés:
- d'une documentation technique
- des programmes Arduino™
- des schémas (sous Proteus)
- des corrigés
Produits associés