[RESOLU] LCD 16x2 avec SD Module

Bonjour / Bonsoir !

J'ai un soucis avec mon écran et le module SD. Au moment du SD.begin(); mon écran devient fou !
Il affiche n'importe quoi en continue, des signes bizarre etc... Pourtant la carte s'initialise bien, mais l'écran lui fait vraiment pas son boulot..

Voici les solutions testées :

  • Les pins de l'écran ne sont pas sur les pins du bus SPI.
  • J'ai testé mon module carte SD séparement, il fonctionne correctement (Lien du module).
  • Ma carte SD fonctionne.
  • J'ai vérifié 50 000 fois le cablage, tout est correct.

Voici mon code (Setup) :

#include <LiquidCrystal.h>
#include "DHT.h"
#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include "RTClib.h"

#define DHTPIN 8
#define DHTTYPE DHT11


DHT dht(DHTPIN, DHTTYPE);

const int outOfLoop = 555;

int loopState = 0; // 0 = Menu, 1 = Température, 2 = Préssion, 3 = Humidité, 4 = Configuration
int whichMenu = 0; // 1 = Température, 2 = Préssion, 3 = Humidité, 4 = Configuration
int chipSelect = 10;

LiquidCrystal lcd(7, 6, 5, 4, 3, 9);

boolean isOnMenu = false;
boolean retro = true;

byte accent_aigu[8] = {
  0b00010,
  0b00100,
  0b01110,
  0b10001,
  0b11111,
  0b10000,
  0b01110,
  0b00000
};

byte rainParticle[8] = {
  0b00010,
  0b00101,
  0b01010,
  0b10101,
  0b01010,
  0b10101,
  0b01010,
  0b10100
};

byte tonerre[8] = {
  0b00011,
  0b00111,
  0b01110,
  0b11100,
  0b01110,
  0b00111,
  0b01110,
  0b11100
};

byte accent_grave[8] = {
  0b01000,
  0b00100,
  0b01110,
  0b10001,
  0b11111,
  0b10000,
  0b01110,
  0b00000
};

void setup() {
  Serial.begin(9600);

  pinMode(10, OUTPUT);
  pinMode(A3, INPUT_PULLUP);

  lcd.createChar(0, accent_aigu);
  lcd.createChar(1, rainParticle);
  lcd.createChar(2, tonerre);
  lcd.createChar(3, accent_grave);

  lcd.begin(16, 2);

  lcd.setCursor(0, 0);
  lcd.print("-- Bienvenue! --");
  delay(1000);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.clear();

  if (!SD.begin(chipSelect)) {
    Serial.println("Erreur");
  } else {
    Serial.println("OK");
  }
  
  systemCheck();

  lcd.clear();
}

Vidéo à l'appuie : - YouTube
Merci d'avance !!

-> Le problème a été réglé en connectant le module en 3v3 volt.