
/* Programme pour observer le comportement de construction d'un dessin
   à partir d'une Matrice de Pixels dont on précise la définition en
   largeur et en hauteur en Pixels.
   
   SDA est branché sur A4. SCL est branché sur A5
     
                                            PGM                 RAM dynamique
Compilateur v1.7.9 :                  4856 Octets (15%)          238 Octets (11%)   */

//--------------------- Définition des broches d'E/S ------------------------
// Pas d'E/S à initialiser, c'est U8glib qui s'en charge.

//------------------------ Constantes du programme --------------------------
#define Version "22/08/2024" // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#include "U8glib.h"

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // Usage de la ligne I2C (Two Wire Interface)

#define Largeur_du_dessin 13  // Impose la largeur de la matrice en pixels.
#define hauteur_du_dessin 5 // Impose la Hauteur de la matrice en pixels.

// 5 x 13 = 65 bits soit 8 Octets et 1Bit.

// Dessin défini sur 65 Pixels.

byte DessinBitMap[] U8G_PROGMEM = {
   0xFF, 0xAA, 0x55, 0xF0, 0x0F, 0xAA, 0x55, 0x0F, 0x01,};
// Seul le Bit de poids feible sera utilisé sur le dernier Octet de la matrice.

//-------------------------------------------------------------------------------------

void setup() {u8g.setScale2x2(); Afficher();} // Taille double pour mieux voir.

void loop() {} // La boucle de base ne fait rien.

void Afficher() {
  u8g.firstPage(); do  
  u8g.drawXBMP( 20, 10, Largeur_du_dessin, hauteur_du_dessin, DessinBitMap);
  while(u8g.nextPage());}
