Mi pantalla OLED 128x64 no enciende

Hola, soy nueva usando arduino, y estoy tratando que prenda mi pantalla oled con un arduino nano 33 IoT, pero a pesar de que se carga bien el programa y no marca error al compilarlo, la pantalla no enciende, espero puedan ayudarme.

Este es el código que estoy usando:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>


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

void setup() {
  Serial.begin(9600);
  delay(100);
  Wire.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

}

void loop() {
display.clearDisplay();
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.setTextSize(1);
display.println("Hola, han pasado:");
display.setCursor(10, 30);
display.setTextSize(2);
display.print(millis() / 1000);
display.println(" seg.");
display.display();

}

Y esta es la conexión con el arduino:

Viendo la imagen que adjuntas se me hace que la pantalla oled ni siquiera recibe un voltaje de alimentación, según leí la información de ese arduino NANO 33, el pin de 5 V está deshabilitado de forma predeterminada, por lo que debes soldar un puente en la parte inferior de la placa para habilitar ese PIN. Si estoy en lo cierto y no hay voltaje en ese pin utiliza el de 3.3V para verificar el funcionamiento.

Si esto no soluciona nada me iría por cambiar la dirección hexadécimal a 0x3D

 display.begin(SSD1306_SWITCHCAPVCC, 0x3D);

Y si tampoco funciona, mejor buscaria la dirección i2c de la pantalla oled con este código

#include <Wire.h>
 
void setup() {
  Wire.begin();
  Serial.begin(115200);
  Serial.println("\nI2C Scanner");
}
 
void loop() {
  byte error, address;
  int nDevices;
  Serial.println("Scanning...");
  nDevices = 0;
  for(address = 1; address < 127; address++ ) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address<16) {
        Serial.print("0");
      }
      Serial.println(address,HEX);
      nDevices++;
    }
    else if (error==4) {
      Serial.print("Unknow error at address 0x");
      if (address<16) {
        Serial.print("0");
      }
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0) {
    Serial.println("No I2C devices found\n");
  }
  else {
    Serial.println("done\n");
  }
  delay(5000);          
}
1 Like

Hola, gracias por la ayuda, de hecho si había intentado conectarlo al pin donde tiene el voltaje de 3.3 pero tampoco funciona, igual intenté las otras dos formas y no enciende la pantalla :c había visto que atrás de la pantalla venía la dirección, y dice que es 0x78, la cambié pero sigue sin funcionar

¿Las tiras de pines no están soldadas a la Nano o veo mal?

Si no las sueldas no puedes pretender que hagan buen contacto y que todo funcione bien.

Oye cierto jajaj ni me habia fijado pensé que bien suelda este muchacho que no tiene ni un solo pin acumulado de estaño :sweat_smile:

Si, justo no estaban soldados, pero ya lo hice y siguen sin encender la pantalla :c

Tienes un multimetro? para que midas el voltaje que recibes en los pines GND y VCC de la pantalla OLED

Sip, me sale un voltaje de 4.7

Por cierto el programa no encontró la dirección i2c de tu pantalla oled?

Le cargue el programa a la placa y en la pestaña del IDE que dice salida no me sale la dirección y en el monitor serie no me sale nada

No has probado conectando otro módulo I2C? un display LCD o un sensor I2C?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.