Problème d'affichage de bitmap avec un OLED 128 x 64

Bonjour à toutes et à tous,

Il y a quelques années, j'avais créé une application GPS munie d'un afficheur OLED 128 x 64 et j'y affichais le petit logo que voici (fichier GPS.c) :

//------------------------------------------------------------------------------
// File generated by LCD Assistant
// http://en.radzio.dxp.pl/bitmap_converter/
//------------------------------------------------------------------------------
#include <avr/pgmspace.h>

const unsigned char PROGMEM GPS[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFB, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x87, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE7, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF7, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF7, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xDE, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0xC7, 0x0E, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0xE7, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x1F, 0x80, 0xE0, 0x03, 0xF8, 0x70, 0xE3, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x1F, 0x81, 0xF0, 0x07, 0xFC, 0x70, 0x63, 0xFE, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x3F, 0x01, 0xF8, 0x0E, 0x1C, 0x70, 0x60, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x1C, 0x00, 0x31, 0xE0, 0x03, 0x81, 0xFD, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x1C, 0x00, 0x3F, 0xC0, 0x03, 0x80, 0xFC, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x3F, 0x07, 0xF0, 0x18, 0x0E, 0x3F, 0x03, 0x83, 0x80, 0xFC, 0xFF, 0xFF, 0xFE, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x18, 0x3F, 0x38, 0x03, 0xCF, 0x00, 0xF8, 0xFF, 0xFF, 0xC0, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x1C, 0x3F, 0x38, 0x01, 0xFE, 0x00, 0xF8, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x1C, 0x07, 0x38, 0x00, 0xF8, 0x00, 0x70, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x0C, 0x07, 0x18, 0x00, 0x00, 0x00, 0x60, 0x40, 0x00, 0x01, 0xF0, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x0E, 0x0F, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x07, 0xFE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00,
0x00, 0x3F, 0x03, 0xFC, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x03, 0xF0, 0x00,
0x00, 0x3F, 0x81, 0xFC, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x03, 0xF0, 0x00,
0x00, 0x1F, 0x81, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x01, 0xF8, 0x00,
0x00, 0x1F, 0xC0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x07, 0xF8, 0x00,
0x00, 0x1F, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE1, 0xFF, 0xF8, 0x00,
0x00, 0x0F, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC0, 0x00,
0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

J'utilisais la bibliothèque AdafruitSSD1306. A quelle version : je ne suis pas capable de la retrouver.

Aujourd'hui, je souhaite créer une autre application utilisant aussi un logo. A titre d'essai, j'utilise ce logo. Ça ne fonctionne plus, je n'obtiens qu'un gribouillis de pixels.

Après divers essais infructueux, j'ai trouvé dans mon répertoire "libraries" la bibliothèque "ssd1306syp" avec laquelle mon logo s'affiche correctement. Malheureusement, cette bibliothèques ne fait pas partie de celles auxquelles on a accès dans l'IDE Arduino.

J'aimerais conserver la bibliothèque Adafruit car elle possède plusieurs fontes.

Ci-après le code avec laquel ça ne fonctionne pas :

#include <SPI.h>
//#include <Wire.h> // Ne sert à rien non plus
//#include <Adafruit_GFX.h> // Ne sert à rien ici
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// A4(SDA), A5(SCL) Je fonctionne avec un Pro Mini 3.3V

#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

extern unsigned char GPS[]; // fichier image 128 x 64

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
  display.drawBitmap(0, 0, GPS, 128, 64, SSD1306_WHITE, SSD1306_BLACK);
  display.display(); // Affichage du logo GPS
}

void loop() {
}

et celui avec lequel ça fonctionne :

#include "Adafruit_ssd1306syp.h"
#define SDA_PIN A4
#define SCL_PIN A5
extern unsigned char GPS[]; // fichier image 128 x 64

Adafruit_ssd1306syp display(SDA_PIN,SCL_PIN);
void setup()
{
  display.initialize();
  display.drawBitmap(0, 0, GPS, 128, 64, WHITE);
  display.update(); // Affichage du logo GPS
  
}
void loop() {
}

Avez-vous une idée du problème ?

Cordialement.

Pierre.

Supprimer cette ligne...

La définition de type correcte se trouve dans le bitmap...

Click for files for WOKWI.com:

sketch.ino
#include <SPI.h>
//#include <Wire.h> // Ne sert à rien non plus
//#include <Adafruit_GFX.h> // Ne sert à rien ici
#include <Adafruit_SSD1306.h>

//------------------------------------------------------------------------------
// File generated by LCD Assistant
// http://en.radzio.dxp.pl/bitmap_converter/
//------------------------------------------------------------------------------

#include <avr/pgmspace.h>
#include "GPS.h"

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// A4(SDA), A5(SCL) Je fonctionne avec un Pro Mini 3.3V

#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

// extern unsigned char GPS[]; // fichier image 128 x 64

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
  display.drawBitmap(0, 0, GPS, 128, 64, SSD1306_WHITE, SSD1306_BLACK);
  display.display(); // Affichage du logo GPS
}

void loop() {
}

GPS.h
const unsigned char PROGMEM GPS[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFB, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x87, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE7, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF7, 0xFF, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF7, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xDE, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0xC7, 0x0E, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0xE7, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x1F, 0x80, 0xE0, 0x03, 0xF8, 0x70, 0xE3, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x1F, 0x81, 0xF0, 0x07, 0xFC, 0x70, 0x63, 0xFE, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x3F, 0x01, 0xF8, 0x0E, 0x1C, 0x70, 0x60, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x1C, 0x00, 0x31, 0xE0, 0x03, 0x81, 0xFD, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x1C, 0x00, 0x3F, 0xC0, 0x03, 0x80, 0xFC, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x3F, 0x07, 0xF0, 0x18, 0x0E, 0x3F, 0x03, 0x83, 0x80, 0xFC, 0xFF, 0xFF, 0xFE, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x18, 0x3F, 0x38, 0x03, 0xCF, 0x00, 0xF8, 0xFF, 0xFF, 0xC0, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x1C, 0x3F, 0x38, 0x01, 0xFE, 0x00, 0xF8, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x1C, 0x07, 0x38, 0x00, 0xF8, 0x00, 0x70, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3F, 0x07, 0xE0, 0x0C, 0x07, 0x18, 0x00, 0x00, 0x00, 0x60, 0x40, 0x00, 0x01, 0xF0, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x0E, 0x0F, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00,
0x00, 0x3F, 0x03, 0xF0, 0x07, 0xFE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00,
0x00, 0x3F, 0x03, 0xFC, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x03, 0xF0, 0x00,
0x00, 0x3F, 0x81, 0xFC, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x03, 0xF0, 0x00,
0x00, 0x1F, 0x81, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x01, 0xF8, 0x00,
0x00, 0x1F, 0xC0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x07, 0xF8, 0x00,
0x00, 0x1F, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE1, 0xFF, 0xF8, 0x00,
0x00, 0x0F, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x00,
0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC0, 0x00,
0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
diagram.json
{
  "version": 1,
  "author": "Anonymous maker",
  "editor": "wokwi",
  "parts": [
    {
      "type": "wokwi-arduino-nano",
      "id": "nano",
      "top": 45.2,
      "left": -94.7,
      "rotate": 270,
      "attrs": {}
    },
    {
      "type": "board-ssd1306",
      "id": "oled1",
      "top": 175.94,
      "left": 0.23,
      "attrs": { "i2cAddress": "0x3c" }
    }
  ],
  "connections": [
    [ "oled1:VCC", "nano:5V", "red", [ "v0" ] ],
    [ "oled1:GND", "nano:GND.1", "black", [ "v0" ] ],
    [ "oled1:SCL", "nano:A5", "green", [ "v0" ] ],
    [ "oled1:SDA", "nano:A4", "green", [ "v0" ] ]
  ],
  "dependencies": {}
}

Merci "xfpd" pour cette solution ... qui fonctionne.

Pour ta manip, tu as renommé le fichier "GPS.c" en "GPS.h".
Ne l'ayant pas renommé, j'ai fait :

#include "GPS.c" et ça fonctionne.

Relisant ta solution, j'ai vu quand dans la définition il y avait "const" que je n'ai pas mis dans ma déclaration. Je l'ai donc introduit :

extern **const** unsigned char GPS[]; // fichier image 128 x 64

et, ça fonctionne tout aussi bien. Je me souviens d'avoir lu quelque part (je ne sais plus où) que l'intoduction de const dans une définition de variable pouvait tout changer.

En tous cas, merci de m'avoir débloqué.

Cordialement.

Pierre.

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