Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
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
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.