Bonjour à tous !
Je souhaite intégrer un petit écran OLED de chez Adafruit en remplacement d'un écran LCD, dans un petit projet utilisant actuellement un arduino UNO R3 .
Voici le lien vers la page de l'écran OLED que j'ai en ma possession :
J'ai choisi de le câbler en SPI, j'ai installé les 2 librairies requisses ( Adafruit_SSD1306 et Adafruit_GFX )
suivant les instructions disponibles ici :
Jusque là, pas de problème, j'arrive sans difficulté à faire tourner le programme d'exemple ssd1306_128x64_spi contenu dans la librairie Adafruit_SSD1306.
Lorsque je souhaite aller plus loin et faire mon propre programme très basique (afficher "bonjour" puis "aurevoir") voici les problèmes que je rencontre :
1- au démarrage, il y a le logo adafruit qui reste affiché quelques secondes ( Splashscreen), et je souhaiterais l'éviter.
2- le simple fait de faire afficher ces 2 mots constitue un programme si lourd que l'IDE m'indique qu'il occupe "33% de l'espace de stockage de programme", et "Les variables globales utilisent 1 540 octets (75%) de mémoire dynamique, ce qui laisse 508 octets pour les variables locales."
Je me demande donc si je m'y prends correctement ou si j'utilise mal les librairies.
Plus tard je souhaiterais remplacer l'arduino UNO R3 par un Nano, mais sachant que ce dernier à des caractéristiques de mémoire (Flash, SRAM, EEPROM) divisées par 2 par rapport à la UNO je m'inquiète du point N° 2...
Voici le programme très basique évoqué + haut :
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_MOSI 9
#define OLED_CLK 10
#define OLED_DC 11
#define OLED_CS 12
#define OLED_RESET 13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC);
}void loop() {
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println("Bonjour");
display.display();
delay(3000);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println("Aurevoir");
display.display();
delay(3000);
display.clearDisplay();}
Voilà, explication un peu longue, pour au final vous demander si je suis complétement à coté de la plaque, si l'appel de la libraire Adafruit_GFX est impératif, ou si les points évoqués plus haut sont normaux...
Merci d'avance pour votre aide...