Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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.