Sensor de presión atmosférica BMP085

He tenido un fracaso inicial con los CPLD, no he podido programarlo desde Arduino con JTAGWhisperer como esperaba. Así que me voy a hacer un cable programador de Xilinx (ver sección Download cable schematic), pero mientras consigo los componentes para hacerlo, he mirado de hacer funcionar el sensor de presión BMP085 que me llegó ayer, y me ha funcionado.


La verdad es que ha sido de lo más fácil. Es el primer dispositivo i2c que pruebo, y lo único que sabía era que ese protocolo usa dos líneas de datos, una de reloj y una de datos en half duplex.


Tras comprobar en el pcb del sensor que estaban las señales SDA y SCL (y en el Atmega328 también), vi que había dos pines más en el sensor, marcados como XCLR y EOC. Probablemente EOC significa End Of Communication y es de salida, y XCLR debe ser un reset (de entrada). Así que ambos pines son opcionales, por lo que he decidido ignorarlos. Es lo que tiene comprar cosas en ebay, los “módulos para Arduino” te vienen con muy poca información. Afortunadamente todo lo que he comprado le he dado uso, incluyendo: módulos USB, módulos Bluetooth, módulo de tarjeta SD, Sensores de temperatura y humedad, y ahora éste de presión.


He conectado SDL y SDA, alimentación y masa, y he cargado en el Atmega328 un sketch de prueba que lee el sensor y muestra los valores por la consola a través del puerto serie. El resultado:

Temperature: 23.70deg C
Pressure: 101170 Pa
758.8 mm Hg
Standard Atmosphere: 0.9985
Altitude: 12.91 M



1 sensor presion


2 sensor presion


Cuidado, Murphy siempre está al acecho! Hasta la próxima!