En aquest tutorial dissenyarem un sistema de mesura de pressió baromètrica amb BMP180 i ARDUINO. Primer de tot per connectar BMP180 a ARDUINO, hem de descarregar una biblioteca dissenyada específicament per a BMP180. Aquesta biblioteca està disponible a: https://github.com/adafruit/Adafruit-BMP085-Library Després d’adjuntar aquesta biblioteca, podem trucar a funcions especials que facilitaran el treball amb el sensor BMP180.
Components necessaris
Maquinari: placa Arduino uno, pins de connexió, resistència de 220Ω, sensor de pressió baromètrica BMP180, LCD de 16x2, placa de pa.
Programari: Arduino cada nit
Diagrama de circuits i explicació de treball
Després de demanar capçalera, no ens hem de preocupar per establir la comunicació entre Arduino Uno i el sensor BMP180. Simplement podem trucar a funcions especials que ens faran això. Només necessitem inicialitzar una pantalla LCD i mostrar-hi els valors anomenats de SENSOR.
A la pantalla LCD de 16x2 hi ha 16 pins si hi ha llum de fons, si no hi ha llum de fons hi haurà 14 pins. Es pot alimentar o deixar els passadors de llum de fons. Ara als 14 pins hi ha 8 pins de dades (7-14 o D0-D7), 2 pins de font d'alimentació (1 i 2 o VSS i VDD o GND i + 5v), 3r pin per controlar el contrast (VEE controla el gruix dels caràcters mostrats) i 3 pins de control (RS & RW & E).
Al circuit, podeu observar que només he agafat dos pins de control, el bit de contrast i READ / WRITE no s’utilitzen sovint, de manera que es poden fer curtcircuits a terra. D’aquesta manera, la pantalla LCD té un contrast i un mode de lectura més alts. Només hem de controlar els pins ENABLE i RS per enviar caràcters i dades en conseqüència.
Les connexions que es fan per a LCD es donen a continuació:
PIN1 o VSS a terra
PIN2 o VDD o VCC a una potència de + 5v
PIN3 o VEE a terra (proporciona el màxim contrast possible per a principiants)
PIN4 o RS (Selecció de registre) al PIN8 de ARDUINO UNO
PIN5 o RW (lectura / escriptura) a terra (posa la pantalla LCD en mode lectura facilita la comunicació per a l'usuari)
PIN6 o E (Activa) fins a PIN9 de ARDUINO UNO
PIN11 o D4 a PIN10 de ARDUINO UNO
PIN12 o D5 a PIN11 de ARDUINO UNO
PIN13 o D6 a PIN12 de ARDUINO UNO
PIN14 o D7 a PIN13 de ARDUINO UNO
L'IDE ARDUINO permet a l'usuari utilitzar LCD en mode de 4 bits. Aquest tipus de comunicació permet a l’usuari reduir l’ús de pins a ARDUINO, a diferència d’altres, ARDUINO no necessita ser programat per separat per utilitzar-lo en mode 4 it perquè, per defecte, ARDUINO està configurat per comunicar-se en mode de 4 bits. Al circuit es pot veure com hem utilitzat la comunicació de 4 bits (D4-D7).
Així doncs, a partir de la simple observació de la taula superior, connectem 6 pins de pantalla LCD al controlador en què 4 pins són pins de dades i 2 pins per al control.
Per connectar el BMP180 a Arduino Uno, hem de fer el següent:
|
Primer hem de trucar al fitxer de capçalera per habilitar funcions especials "#include".
Amb aquest fitxer de capçalera podem trucar a funcions que permeten llegir directament els valors del sensor sense cap problema.
Ara necessitem habilitar la comunicació C, això es fa trucant a "#include
Podem llegir la pressió trucant a "String PRESSUREVALUE = String (bmp.readPressure ());". Aquí el valor de pressió es llegirà des del sensor i s’emmagatzemarà a la cadena “PRESSUREVALUE”.
Podem llegir la temperatura trucant a "String TEMPARATUREVALUE = String (bmp.readTemperature ());". Aquí el valor de pressió es llegirà des del sensor i s’emmagatzemarà a la cadena “TEMPARATUREVALUE”.

Primer hem d’habilitar el fitxer de capçalera ('#include
En segon lloc, hem d’indicar a la placa quin tipus de pantalla LCD estem utilitzant aquí. Ja que tenim tants tipus diferents de LCD (com ara 20 * 4, 16 * 2, 16 * 1, etc.). Aquí farem una interfície de 16 * 2 LCD amb l'ONU, de manera que obtindrem 'lcd.begin (16,2);'. Per a 16 * 1 obtenim 'lcd.begin (16,1);'.
En aquesta instrucció li direm a la placa on hem connectat els pins. Els pins connectats s'han de representar en ordre com "RS, En, D4, D5, D6, D7". Aquests pins s'han de representar correctament. Com que hem connectat RS a PIN0 i així successivament, tal com es mostra al diagrama de circuits, representem el número de pin del tauler com a "LiquidCrystallcd (0,1,8,9,10,11);".
Després de tot allà, només queda enviar dades, les dades que s'han de mostrar en pantalla LCD s'han d'escriure com a "cd.print (" hola, món! ");". Amb aquesta ordre, la pantalla LCD mostra "hola, món!".
Com podeu veure, no ens hem de preocupar per res més, només hem d’inicialitzar i l’ONU estarà preparada per mostrar les dades. No hem d’escriure un bucle de programa per enviar les dades BYTE per BYTE aquí. Després de llegir el valor del sensor, els mostrarem a la pantalla LCD de 16x2.
