- Components necessaris
- Mòdul del sensor de pressió BMP280:
- Diagrama de circuits per a la interfície BMP280 amb Arduino:
- Programa Arduino per a la interfície BMP280 amb Arduino:
- Funcionament del projecte d’interfície del sensor de pressió Arduino BMP280
Si voleu construir el vostre propi sistema de control de temperatura o mesurar l’altitud del dron o simplement voleu mesurar la pressió atmosfèrica a la vostra zona, un dels millors mòduls que podeu utilitzar al vostre projecte és el mòdul del sensor de pressió BMP280. BMP280 és un sensor absolut de control de pressió i temperatura, que és la versió actualitzada dels sensors BMP085, BMP180 i BMP183. Per què s’anomena una versió actualitzada? Es tractarà a les seccions següents. Ja hem utilitzat la versió anterior BMP180 amb Arduino en un dels nostres tutorials anteriors.
El mòdul de sensor BMP280 es pot utilitzar juntament amb microcontroladors com Arduino, PIC, AVR, etc. Per a aquest projecte utilitzarem Arduino Uno amb BMP280 juntament amb un mòdul de pantalla LCD 16x2, per mostrar valors de temperatura i pressió. Abans d’interconectar el BMP280 amb Arduino, hem de descarregar la biblioteca Arduino BMP280, desenvolupada per Adafruit. Feu clic en aquest enllaç de la biblioteca Adafruit BMP280 per obrir la pàgina Github corresponent i afegir el fitxer de capçalera al vostre IDE Arduino.
Components necessaris
- Arduino
- BMP280
- Connexió de cables
- Taula de pa
- LCD- 16x2

Mòdul del sensor de pressió BMP280:

El mòdul de sensor BMP280 funciona amb la tensió mínima (VDD) d’1,71 V, mentre que els mòduls de sensor de la versió anterior funcionen a 1,8 V (VDD). Pel que fa al consum actual, BMP280 consumeix 2,7 uA, mentre que el BMP180 consumeix 12 uA i BMP183 i BMP085 consumeixen 5 uA cadascun. El BMP280 també admet nous modes de filtre. El mòdul de sensor BMP280 admet protocols I2c i SPI, mentre que el sensor restant admet I2c o SPI. El mòdul de sensor BMP280 té una precisió de ± 0,12 hPa, que equival a ± 1 m de desnivell. A causa d’aquestes característiques clau, s’utilitza principalment en diverses aplicacions. El sensor BMP consisteix en un element de detecció de pressió, un element de detecció d’humitat i un element de detecció de temperatura que es connecten a la part frontal de la pressió, a la part frontal de la humitat i a la part frontal de la temperatura. Aquests IC front-end són amplificadors analògics de sensibilitat que s’utilitzen en l’amplificació de senyals petits. La sortida d’aquest CI frontal analògic s’alimenta a ADC com a senyal d’entrada. En això, els valors analògics es converteixen en tensió digital i aquest voltatge s’alimenta als circuits lògics per a una interfície posterior amb el món exterior.
El mòdul del sensor BMP280 consta de tres modes d’alimentació en mode de suspens, en mode forçat i en mode normal. En mode de repòs, no es realitzen mesures i el consum d'energia és mínim. En mode forçat, es realitza una sola mesura d'acord amb les opcions de mesurament i filtre seleccionades. El mode normal fa un cicle continu entre la mesura i el període d'espera, i el període de temps dels cicles el definirà Tstandby. El corrent en mode d'espera és lleugerament superior al mode de repòs.
Diagrama de circuits per a la interfície BMP280 amb Arduino:
A continuació es mostra el diagrama de circuits per connectar l’ Arduino amb el sensor BMP280 i la pantalla LCD. Si sou completament nou a Arduino i LCD, podeu consultar aquest tutorial Arduino LCD per entendre com utilitzar Arduino amb pantalles LCD.

Els pins VCC i GND del sensor estan connectats als pins 3v3 i GND de l’Arduino. Els pins SCL i SDA del sensor estan connectats a l'A5 i A4 de la placa Arduino. Les connexions LCD són les següents
|
Nom del pin LCD |
Pin Arduino |
|
VSS i RW |
GND |
|
RS |
D9 |
|
E |
D8 |
|
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Programa Arduino per a la interfície BMP280 amb Arduino:
El codi BMP280 Arduino complet es pot trobar a la part inferior d’aquesta pàgina que es pot penjar directament a la vostra placa Arduino. L'explicació del mateix es dóna a continuació
Aquestes biblioteques s’inclouen per habilitar les funcions especials. Els fitxers de capçalera #include podem llegir directament els valors que provenen del sensor. El #include
#incloure
S'està creant a l'objecte BMP per a Adafruit_BMP280. Es crea un fitxer objecte per accedir a funcions especials.
Adafruit_BMP280 bmp; // I2C
Configuració dels pins de l'Arduino per comunicar-se amb la pantalla LCD. Mitjançant aquests pins es transferiran les dades.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Inicialització de la comunicació LCD i sèrie.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("prova BMP280")); lcd.print ("Benvingut a"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); retard (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("No s'ha pogut trobar un sensor BMP280 vàlid, comproveu el cablejat!")); mentre que (1); }
Aquesta funció funciona quan falla la inicialització de l'objecte bmp.
/ * Configuració predeterminada del full de dades. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Mode de funcionament. * / Adafruit_BMP280:: SAMPLING_X2, / * Sobremostreig temporal * / Adafruit_BMP280:: SAMPLING_X16, / * Exemple de pressió * / Adafruit_BMP280:: FILTER_X16, * / Adafruit_BMP280:: STANDBY_MS_500); / * Temps d'espera. * /}
Aquesta part del codi imprimeix la temperatura al monitor sèrie i és per depurar.
bucle buit () {Serial.print (F ("Temperatura =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
La funció bmp.readPressure i bmp.readTemprature s’utilitzen per invocar funcions especials i retornar els valors de temperatura i pressió.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Funcionament del projecte d’interfície del sensor de pressió Arduino BMP280
Les funcions bmp.readTemprature () i bmp.readPressure () s’utilitzen per retornar els valors de temperatura i pressió. Aquestes funcions són un grup d’afirmacions que realitzen una tasca especial, en el nostre cas per retornar fitxers de temperatura i pressió. Aquestes funcions s’invoquen mitjançant les funcions bmp.readTemprature () i bmp.readPressure () . El lcd.setCursor estableix el cursor de la pantalla LCD a la posició desitjada a la pantalla. La impressió lcd L'ordre imprimeix les dades des de la posició establerta pel programador. Si per defecte no hi ha cap posició definida per a la pantalla LCD, es pren (0,0) com a posició inicial i la impressió contínua de les dades. Les dades següents prenen la posició de la següent columna i el procediment continua fins que arriba al final de la fila i passa a la fila següent.

El BMP280 es pot utilitzar en joguines voladores, telèfons mòbils, tauletes, ordinadors, dispositius GPS, dispositius portàtils d’atenció mèdica, estacions meteorològiques domèstiques, etc. Seguint aquest procediment i utilitzant fitxers de capçalera i algunes funcions especials, podem connectar fàcilment BMP280 amb l'Arduino. El funcionament complet també es pot trobar al vídeo que es mostra a continuació, espero que us hagi agradat aquest tutorial BMP280 Arduino i hàgiu après alguna cosa útil. Si teniu alguna pregunta, deixeu-los a la secció de comentaris de sota o utilitzeu els fòrums per a altres qüestions tècniques.
