Necesito que se muestre indicaciones del void setup en una panatalla OLED para la iniciación de una tarjeta micro sd, en vez de mostrarlo en el Serial monitor mandarlo a la pantalla OLED, sin la pantalla OLED el codigo funcioona sin problema , pero cuando pongo las indicaciones para mostar el texto en la pantalla, el codigo compila pero ya no sde ejecuta nada, igual he usado la pantalla independientemente con la libreria Adafruit_SSD1306.h y funciona, alguien que me ayude a encontrar el problema en el código.
/* Datalogger_SD_1ch_b.ino Programa modificado del código de ejemplo.
Se requieren las siguientes conexiones
CS -> D10 Valor por omisión
MOSI -> D11
MISO -> D12
CLK -> D13
VCC -> 5 V
GND -> GND
Debe haber un sensor analógico en el canal A0 */
#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
const int analogPin = 0;
int sensor = 0;
float temperatura = 0;
void setup() {
// Inicializa la comunicación serial
Serial.begin(9600);
while (!Serial) {
; // Espera a que se inicie el puerto serial
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.println("Inicializando tarjeta SD ...");
display.display();
delay(1000);
display.clearDisplay();
Serial.print("Inicializando tarjeta SD ...");
// Verifica que la tarjeta se inicialice
if (!SD.begin()) {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.println("Fallo en tarjeta, o no hay tarjeta");
display.display();
delay(1000);
display.clearDisplay();
Serial.println("Fallo en tarjeta, o no hay tarjeta");
return; // No hace nada más:
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.println("Tarjeta lista");
display.display();
delay(1000);
display.clearDisplay();
Serial.println("Tarjeta lista");
SD.remove("datalog.txt"); //Borra el archivo previo
}
void loop() {
String dataString = ""; // Cadena vacía
sensor = analogRead(analogPin); // Lee el sensor
temperatura=500*sensor/1024.0; //Temperatura en Celsius
dataString += String(temperatura); //Almacena en la cadena
// Abre el archivo en la memoria SD
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// Revisa si el archivo está disponible para escribir:
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
// Envía la cadena también por el puerto serial
Serial.println(dataString);
}
// Si el archivo no se encuentra abierto, manda un error:
else {
Serial.println("Error al abrir el archivo datalog.txt");
}
delay(984);