oled-i2c.ino

Arduino GIGA R1 WiFi · Archivo : oled-i2c.ino · Lenguaje : Arduino · Uso : Afficher l'état de la carte sur un OLED I2C

El bus I2C de la GIGA (pines D14/D15 y conector dedicado) acepta módulos clásicos de 3,3 V: el OLED muestra uptime y memoria, el cuadro de mando mínimo de todo proyecto H7.

Hardware necesario

Un Arduino GIGA R1 WiFi (STM32H747, módulo radio 1DX: Wi-Fi b/g/n + BLE, antena u.FL incluida), alimentado por USB-C. 1 OLED SSD1306 I2C 128x64.

Cableado

SDA en D15, SCL en D14 (o el conector I2C del borde de la placa), VCC 3,3 V, GND.

Funcionamiento

Wire (I2C1 del Mbed) + Adafruit_SSD1306: framebuffer RAM copiado en display(). begin() devuelve false si nadie responde en 0x3C: la depuración está en el monitor. En el Arduino IDE, plataforma « Arduino Zephyr-based Boards », placa « Arduino Giga R1 »; monte la antena u.FL antes de usar la radio y suba.

Para ir más lejos

Añadan entradas reales (ADC, botones) a la pantalla, o un menú de calibración por CAN.

oled-i2c.ino

// OLED SSD1306 sur le connecteur Qwiic/I2C (Wire) de la GIGA.
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 oled(128, 64, &Wire, -1);

void setup() {
  Serial.begin(115200);
  Wire.begin();
  if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println("OLED 0x3C absent"); for (;;);
  }
  oled.clearDisplay();
}

void loop() {
  oled.clearDisplay();
  oled.setTextSize(1);
  oled.setTextColor(SSD1306_WHITE);
  oled.setCursor(0, 0);
  oled.printf("GIGA R1\n%lu ms\n", millis());
  oled.printf("libre : %u Ko\n", (unsigned)(ESP.getFreeHeap() / 1024));
  oled.display();
  delay(200);
}

← Volver a la ficha