Tabla de contenido:

Altímetro Arduino usando BMP y SPI o I2C OLED: 5 pasos
Altímetro Arduino usando BMP y SPI o I2C OLED: 5 pasos

Video: Altímetro Arduino usando BMP y SPI o I2C OLED: 5 pasos

Video: Altímetro Arduino usando BMP y SPI o I2C OLED: 5 pasos
Video: Arduino desde cero en Español - Capítulo 36 - BMP280 Presión atmosférica, 🌡️Temperatura, Altitud 2024, Mes de julio
Anonim
Altímetro Arduino usando BMP y SPI o I2C OLED
Altímetro Arduino usando BMP y SPI o I2C OLED

Durante mucho tiempo he estado buscando altímetro y temperatura usando un solo sensor y mostrándolo en OLED basado en SPI. Como no pude encontrar nada preciso, pensé en construir el mío propio usando la biblioteca U8glib. Hay un tutorial en youtube, pero realmente odio los videos tutoriales, prefiero los textos con instrucciones sencillas y sin enlaces comerciales.

Paso 1: Primero lo primero

Antes de realizar este proyecto, te recomiendo encarecidamente que completes el tutorial SSD1306 / OLED para I2C o SPI (el que quieras usar). Esto asegurará que sepa cómo conectar / cablear su pantalla, así como que su pantalla esté funcionando. Realice el tutorial de adafruit y / o el tutorial de ejemplos de u8glib. Usaremos u8glib aquí, por lo que se recomienda para usuarios avanzados.

Paso 2: Hardware necesario

Hardware necesario
Hardware necesario

1. Arduino UNO o Nano o similar.

2. Sensor de presión barométrica BMP085 o BMP180.

3. SSD1306 I2C o bus SPI (configurable en el esquema).

4. Puentes de cables y tablero o tablero vero para las conexiones.

Paso 3: Bibliotecas IDE de Arduino para compilar

1. Wire.h

2. Adafruit_BMP085.h (también funcionará para BMP180)

3. U8glib.h

Paso 4: Conexiones

Las conexiones son todas iguales para la pantalla OLED I2C y SPI. Solo la conexión a la pantalla será diferente.

1. BMP a Arduino:

VCC> 3,3 V

GND> Tierra

SCL> A5 / SCL

SDA> A4 / SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

2. SPI OLED a Arduino

VDD> 5 V

GND> Tierra

SCK / D0> D12 (12 digitales)

SDA / D1 / Mosi> D11

Selección CS / Chip> D10

A0 / DC> D9

RES / Restablecer> D13

(Si su SPI OLED no tiene el pin de reinicio, simplemente elimine el pin de reinicio y reinicio de los parámetros de selección de pantalla de boceto)

3. OLED I2C

Al igual que el cableado BMP, utilizan los mismos puertos y tipo de bus.

Paso 5: Carga de bocetos

Muy claro. Simplemente descargue el archivo zip y ábralo en Arduino IDE. Todo está configurado en el boceto. Los usuarios de SPI OLED pueden simplemente cargar el boceto sin ninguna edición y funcionará. Para los usuarios de I2C OLED, simplemente elimine el comentario de su nombre para mostrar / opción de la opción Seleccionar pantalla del boceto, y comente y cierre el modelo / parámetro de pantalla SPI para deshabilitar SPI OLED.

Parámetro de visualización SPI:

// U8GLIB_SSD1306_128X64 u8g (12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

Parámetro de visualización I2C:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Pantalla que no envía AC

Para habilitar un parámetro, simplemente elimine el signo // al principio para descomentarlo. Asegúrese de que solo una pantalla esté seleccionada / sin comentarios.

Sugerencias:

1. Los sensores BMP son sensibles al viento, el calor y las luces. Asegúrese de cubrirlo, los mejores resultados se logran colocando una espuma con la ventilación adecuada. Cosas como la cinta adhesiva también funcionarán, pero no serán precisas.

2. BMP generalmente usa 3.3V a menos que su fabricante indique lo contrario. OLED puede funcionar desde 3.3v-5.5V (se recomienda 4-5V)

3. Se recomienda encarecidamente configurar todo en la protoboard primero.

4. Si es nuevo en OLED, pruebe primero elementos simples como texto y búferes ficticios para asegurarse de que su pantalla funcione bien y que sus conexiones sean precisas.

Recomendado: