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.