Dans ce tutoriel, nous allons concevoir un système de mesure de pression barométrique utilisant BMP180 et ARDUINO. Tout d'abord pour interfacer BMP180 à ARDUINO, nous devons télécharger une bibliothèque spécialement conçue pour BMP180. Cette bibliothèque est disponible sur: https://github.com/adafruit/Adafruit-BMP085-Library Après avoir attaché cette bibliothèque, nous pouvons appeler des fonctions spéciales qui faciliteront le travail avec le capteur BMP180.
Composants requis
Matériel: carte Arduino uno, broches de connexion, résistance 220Ω, capteur de pression barométrique BMP180, écran LCD 16x2, carte à pain.
Logiciel: Arduino tous les soirs
Schéma de circuit et explication de fonctionnement
Après avoir demandé un en-tête, nous n'avons pas à nous soucier de l'établissement de la communication entre Arduino Uno et le capteur BMP180. Nous pouvons simplement faire appel à des fonctions spéciales qui le feront pour nous. Il suffit d'initialiser un écran LCD et d'afficher les valeurs appelées depuis SENSOR dessus.
Dans l'écran LCD 16x2, il y a 16 broches sur tout s'il y a un rétro-éclairage, s'il n'y a pas de rétro-éclairage, il y aura un total de 14 broches. On peut alimenter ou laisser les broches du rétroéclairage. Or, dans les 14 broches, il y a 8 broches de données (7-14 ou D0-D7), 2 broches d'alimentation en énergie (1 et 2 ou VSS et VDD ou GND et + 5v), 3 ème broches de la commande de contraste (VEE-contrôle l'épaisseur des caractères doivent être illustré) et 3 broches de commande (RS & RW & E).
Dans le circuit, vous pouvez observer que je n'ai pris que deux broches de contrôle, le bit de contraste et READ / WRITE ne sont pas souvent utilisés afin qu'ils puissent être court-circuités à la masse. Cela met l'écran LCD en mode de contraste et de lecture le plus élevé. Nous avons juste besoin de contrôler les broches ENABLE et RS pour envoyer des caractères et des données en conséquence.
Les connexions effectuées pour l'écran LCD sont indiquées ci-dessous:
PIN1 ou VSS à la terre
Alimentation PIN2 ou VDD ou VCC à + 5v
PIN3 ou VEE à la masse (donne le meilleur contraste pour un débutant)
PIN4 ou RS (sélection de registre) à PIN8 d'ARDUINO UNO
PIN5 ou RW (lecture / écriture) à la terre (met l'écran LCD en mode lecture facilite la communication pour l'utilisateur)
PIN6 ou E (Activer) à PIN9 d'ARDUINO UNO
PIN11 ou D4 à PIN10 d'ARDUINO UNO
PIN12 ou D5 à PIN11 d'ARDUINO UNO
PIN13 ou D6 à PIN12 d'ARDUINO UNO
PIN14 ou D7 à PIN13 d'ARDUINO UNO
L'IDE ARDUINO permet à l'utilisateur d'utiliser l'écran LCD en mode 4 bits. Ce type de communication permet à l'utilisateur de réduire l'utilisation des broches sur ARDUINO, contrairement aux autres, l'ARDUINO n'a pas besoin d'être programmé séparément pour l'utiliser en mode 4 it car par défaut l'ARDUINO est configuré pour communiquer en mode 4 bits. Dans le circuit, vous pouvez voir que nous avons utilisé une communication 4 bits (D4-D7).
Donc, à partir de la simple observation du tableau ci-dessus, nous connectons 6 broches de l'écran LCD au contrôleur dans lequel 4 broches sont des broches de données et 2 broches pour le contrôle.
Pour connecter le BMP180 à Arduino Uno, nous devons faire ce qui suit:
|
Nous devons d'abord appeler le fichier d'en-tête pour activer les fonctions spéciales «#include».
Avec ce fichier d'en-tête, nous pouvons appeler des fonctions qui peuvent lire les valeurs de Sensor directement sans aucune fuzz.
Maintenant, nous devons activer la communication C, cela se fait en appelant «#include
Nous pouvons lire la pression en appelant "String PRESSUREVALUE = String (bmp.readPressure ());". Ici, la valeur de la pression sera lue à partir du capteur et stockée dans la chaîne «PRESSUREVALUE».
Nous pouvons lire la température en appelant "String TEMPARATUREVALUE = String (bmp.readTemperature ());". Ici, la valeur de pression sera lue à partir du capteur et stockée dans la chaîne «TEMPARATUREVALUE».
Nous devons d'abord activer le fichier d'en-tête ('#include
Deuxièmement, nous devons indiquer à la carte le type d'écran LCD que nous utilisons ici. Depuis que nous avons tellement de types différents de LCD (comme 20 * 4, 16 * 2, 16 * 1 etc.). Ici, nous allons interfacer un écran LCD 16 * 2 avec l'UNO afin d'obtenir 'lcd.begin (16,2);'. Pour 16 * 1, nous obtenons 'lcd.begin (16,1);'.
Dans cette instruction, nous allons indiquer à la carte où nous avons connecté les broches. Les broches connectées doivent être représentées dans l'ordre «RS, En, D4, D5, D6, D7». Ces broches doivent être correctement représentées. Puisque nous avons connecté RS à PIN0 et ainsi de suite comme indiqué dans le schéma de circuit, nous représentons le numéro de broche à embarquer comme «LiquidCrystallcd (0,1,8,9,10,11);».
Après, il ne reste plus qu'à envoyer des données, les données qui doivent être affichées sur l'écran LCD doivent être écrites sous la forme «cd.print (" bonjour, le monde! ");». Avec cette commande, l'écran LCD affiche «bonjour, monde!».
Comme vous pouvez le voir, nous n'avons pas à nous soucier de tout cela, nous devons simplement initialiser et l'UNO sera prêt à afficher les données. Nous n'avons pas besoin d'écrire une boucle de programme pour envoyer ici les données BYTE par BYTE. Après avoir lu la valeur du capteur, nous allons les afficher sur un écran LCD 16x2.