Índice:

Altímetro Arduino usando BMP e SPI ou I2C OLED: 5 etapas
Altímetro Arduino usando BMP e SPI ou I2C OLED: 5 etapas

Vídeo: Altímetro Arduino usando BMP e SPI ou I2C OLED: 5 etapas

Vídeo: Altímetro Arduino usando BMP e SPI ou I2C OLED: 5 etapas
Vídeo: Arduino OLED Menu Tutorial (for beginners - Arduino UNO, 128x64px SSD1306 OLED screen, u8g) 2024, Julho
Anonim
Altímetro Arduino usando BMP e SPI ou I2C OLED
Altímetro Arduino usando BMP e SPI ou I2C OLED

Por um longo tempo eu tenho procurado altímetro e temperatura usando um único sensor e exibindo-o em um OLED baseado em SPI. Como não consegui encontrar nada preciso, pensei em construir o meu próprio usando a biblioteca U8glib. Existe um tutorial no youtube, mas eu realmente odeio tutoriais em vídeo, prefiro textos com instruções diretas e sem links comerciais.

Etapa 1: as primeiras coisas primeiro

Antes de fazer este projeto, eu recomendo fortemente que você conclua o tutorial SSD1306 / OLED para I2C ou SPI (o que você quiser usar). Isso garantirá que você saiba como conectar / cabear seu monitor, bem como se ele está funcionando. Faça o tutorial adafruit e / ou tutorial de exemplos u8glib. Estaremos usando u8glib aqui, então isso é recomendado para usuários avançados.

Etapa 2: Hardwares necessários

Hardwares necessários
Hardwares necessários

1. Arduino UNO ou Nano ou similar.

2. Sensor de pressão barométrica BMP085 ou BMP180.

3. SSD1306 I2C ou barramento SPI (configurável no esboço).

4. Jumper de fios e placa de ensaio ou placa vero para conexões.

Etapa 3: Bibliotecas do IDE do Arduino para compilar

1. Wire.h

2. Adafruit_BMP085.h (funcionará para BMP180 também)

3. U8glib.h

Etapa 4: conexões

As conexões são todas iguais para os monitores I2C e SPI OLED. Apenas a conexão para exibir será diferente.

1. BMP para Arduino:

VCC> 3,3V

GND> Ground

SCL> A5 / SCL

SDA> A4 / SDA

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

2. SPI OLED para Arduino

VDD> 5V

GND> Ground

SCK / D0> D12 (Digital 12)

SDA / D1 / Mosi> D11

CS / Chip Select> D10

A0 / DC> D9

RES / Reset> D13

(Se o seu SPI OLED não tiver o pino de redefinição, basta remover a redefinição e redefinir o pino dos parâmetros de seleção da exibição do esboço)

3. I2C OLED

Igual à fiação BMP, eles usam as mesmas portas e tipo de barramento.

Etapa 5: upload do esboço

Bem direto. Basta baixar o arquivo zip e abri-lo no IDE do Arduino. Tudo está configurado no sketch. Os usuários do SPI OLED podem simplesmente carregar o esboço sem qualquer edição e ele funcionará. Para usuários I2C OLED, apenas descomente seu nome de exibição / opção da opção Display Select do esboço, e comente e feche o modelo / parâmetro de exibição SPI para desabilitar o SPI OLED.

Parâmetro de exibição 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 exibição I2C:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Display que não envia AC

Para habilitar um parâmetro, apenas remova o sinal // no início para descomentá-lo. Certifique-se de que apenas uma tela esteja selecionada / não comentada.

Dicas:

1. Os sensores BMP são sensíveis ao vento, calor e luzes. Certifique-se de cobri-lo, melhores resultados são obtidos aplicando uma espuma com ventilação adequada. Coisas como fita adesiva também funcionam, mas não são precisas.

2. O BMP geralmente usa 3,3 V, a menos que o fabricante diga o contrário. OLED pode funcionar de 3,3 V-5,5 V (recomendado 4-5 V)

3. É altamente recomendável definir tudo na placa de ensaio primeiro.

4. Se você é novo no OLED, tente primeiro coisas simples, como texto e buffers fictícios, para ter certeza de que a tela está funcionando e que suas conexões são precisas.

Recomendado: