Arduino Forum

International => Français => Topic started by: ArduinoFree on Jun 14, 2018, 08:43 am

Title: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 08:43 am
Bonjour

Sur ce site
http://cyaninfinite.com/tutorials/interfacing-0-96-oled-display-with-arduino-uno/ (http://cyaninfinite.com/tutorials/interfacing-0-96-oled-display-with-arduino-uno/)

(http://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=262186)

il est expliquer 2 montage pour utiliser l'écran oled i2c 128x64
https://fr.aliexpress.com/item/Free-shipping-Yellow-blue-double-color-128X64-OLED-LCD-LED-Display-Module-For-Arduino-0-96/32665937977.html?spm=a2g0s.9042311.0.0.lNXLxt (https://fr.aliexpress.com/item/Free-shipping-Yellow-blue-double-color-128X64-OLED-LCD-LED-Display-Module-For-Arduino-0-96/32665937977.html?spm=a2g0s.9042311.0.0.lNXLxt)

(http://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=262188)


(http://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=262190)

J'ai testé les 2 montages mais rien ne s'affiche

J'ai aussi modifié dans le code ADAFRUIT ceci
Code: [Select]
-----------------------------------------------------------------------*/
   #define SSD1306_128_64                //  ligne modifiée
//   #define SSD1306_128_32
//   #define SSD1306_96_16
/*=========================================================================*/


J'ai testé également ces 2 codes
Code: [Select]
/*

PROGRAMME BASIQUE POUR TESTER L'ÉCRAN OLED 128×64 I²C

RÉFÉRENCE AliExpress DE L'ÉCRAN
http://fr.aliexpress.com/item/1Pcs-Yellow-blue-double-color-128X64-OLED-LCD-LED-Display-Module-For-Arduino-0-96/32305641669.html

VERSION ORIGINALE DU PROGRAMME
http://www.projetsdiy.fr/ssd1306-mini-ecran-oled-i2c-128x64-arduino/

LIBRAIRIE Adafruit_SSD1306
https://github.com/adafruit/Adafruit_SSD1306.git

CONNEXIONS
GND    GND
VDD    +5V
SCK    pin A5
SDA    pin A4

MICROCONTRÔLEUR
Clone Arduino Nano

REMARQUES
Il faut éditer le fichier Adafruit_SSD1306.h de la manière suivante :
- À la ligne 69, décommenter le code `#define SSD1306_128_64`
- À la ligne 70, commenter le code `#define SSD1306_128_32`

Cet écran est séparé en deux zones verticales
- Une zone de 16 px de haut avec des pixels jaunes
- Une zone de 48 px de haut avec des pixels bleus
Les deux zones sont séparées d'une largeur d'environ
1 pixel qui apparaît donc toujours noire.

La communication I²C fonctionne sans les résistances de pull-up.
Cela dit, il est sans doute préférable d'ajouter deux résistances
de 4.7 kΩ entre SCK et VDD ainsi qu'entre SDA et VDD.


mai 2016, ouilogique.com

*/

#include <Wire.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display( OLED_RESET );

#if( SSD1306_LCDHEIGHT != 64 )
#error( "Height incorrect, please fix Adafruit_SSD1306.h!" );
#endif

void setup()
{
  // Initialise la communication I²C à l'adresse 0x3C.
  display.begin( SSD1306_SWITCHCAPVCC, 0x3C );
  display.clearDisplay();

  // Affiche des textes
  afficheTextes();
}

void loop()
{

}

void afficheTextes( void )
{
  display.setTextSize( 2 );
  display.setTextColor( WHITE );
  display.clearDisplay();

  display.setCursor( 4, 0 );
  display.println( "ouilogique" );

  display.setCursor( 4, 16 );
  display.println( "ouilogique" );

  display.setTextSize( 1 );

  display.setCursor( 35, 32 );
  display.println( "ouilogique" );

  display.setCursor( 35, 40 );
  display.println( "ouilogique" );

  display.setCursor( 35, 48 );
  display.println( "ouilogique" );

  cadreEcran();
  display.display();
}

void cadreEcran( void )
{
  display.drawRect( 0, 0, display.width()-2, display.height()-2, WHITE );
}


et le code donné sur le site cité plus haut ( juste après l'image du câblage sur le arduino Rev 3)

Ceci est ma carte arduino; Je crois arduino rev 3 non ?

(http://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=262196)
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: kamill on Jun 14, 2018, 09:08 am
Bonjour,

Les deux montages sont strictement équivalent avec une carte UNO R3.
Les pins A4 A5 (SDA SCL) et les pins en haut à droite sur ta 3eme photo sont reliées.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 09:12 am
Je ne comprends pas ta réponse.

J'ai bien câblé VCC sur A5
                    GND sur GNR
                    SCL sur A5
                    SDA sur A4
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on Jun 14, 2018, 09:37 am
Je ne comprends pas ta réponse.

J'ai bien câblé VCC sur A5
                    GND sur GNR
                    SCL sur A5
                    SDA sur A4
C'est VCC sur 5V. Il faudrait une photo de ton montage, contrastée si possible, afin qu'on voie bien les couleurs des fils.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 09:44 am
erreur sur mon texte, j'ai bien VCC sur 5 volt

Voici les 2 photos

coté oled blanc VCC
           gris GNd
           rouge SCL
           bleu SDA

(http://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=262205)

coté arduino
           blanc  5v
           gris    GND
           rouge A5
           bleu   A4

(http://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=262207)
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on Jun 14, 2018, 09:53 am
As-tu utilisé un scanner  (https://projetsdiy.fr/ssd1306-mini-ecran-oled-i2c-128x64-arduino/)I2C pour vérifier l'adresse 0x3C ?
Code: [Select]
  // Initialise la communication I²C à l'adresse 0x3C.
  display.begin( SSD1306_SWITCHCAPVCC, 0x3C );


Sinon, le problème peut venir du fait que tu n'as pas déclaré toutes les bibliothèques nécessaires :
Code: [Select]
#include <SPI.h>            // <-- A ajouter
#include <Wire.h>
#include <Adafruit_GFX.h>   // <-- A ajouter
#include <Adafruit_SSD1306.h>
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 10:02 am
Les lignes que tu me fais ajoutées je les avais sur d'autres codes d'essai.
Je te joins le code que je teste


J'ai modifié cette ligne ( 0x3D à la place de 0x3C, car c'est un 128x64)
Code: [Select]
Serial.begin(9600);

  // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
  display.begin(SSD1306_SWITCHCAPVCC, 0x3D);  // initialize with the I2C addr 0x3D (for the 128x64)
  // init done


Et pour le scaner de port , il ne m'affiche rien dans le serial
il me donne ces erreurs
Code: [Select]
Arduino : 1.8.4 (Windows 7), Carte : "Arduino/Genuino Uno"

Le croquis utilise 3626 octets (11%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.
Les variables globales utilisent 502 octets (24%) de mémoire dynamique, ce qui laisse 1546 octets pour les variables locales. Le maximum est de 2048 octets.
Erreur d'ouverture du port série « COM3 ». (Port busy)
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x7c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x7c
Problème de téléversement vers la carte. Voir http://www.arduino.cc/en/Guide/Troubleshooting#upload pour suggestions.

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on Jun 14, 2018, 10:08 am
Pour indiquer l'adresse de ton écran dans la ligne, il faut la connaitre : elle peut dépendre de plein de choses. Le mieux est d'utiliser le scanner qui se trouve dans le lien que je t'ai indiqué. Si tu veux de l'aide, tu peux copier / coller sur le forum ce que te dit la console à l'exécution du scanner.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 10:09 am
réponse  postée juste avant ta réponse




EDIT

J'ai enfin une réponse!
J'avais com1, com3 et com8
après 3 essai c'est sur le com8

Code: [Select]

Scanning...
Appareil I2C trouve a cette adresse 0x3C  !
Fin

Scanning...
Appareil I2C trouve a cette adresse 0x3C  !
Fin

Scanning...
Appareil I2C trouve a cette adresse 0x3C  !
Fin


En mettant le  code précédent
j'ai ça sur le serial
Code: [Select]
x: 39 y: 0 dy: 5
x: 89 y: 0 dy: 4
x: 2 y: 0 dy: 3
x: 88 y: 0 dy: 4
x: 67 y: 0 dy: 5
x: 24 y: 0 dy: 1
x: 12 y: 0 dy: 3
x: 51 y: 0 dy: 4
x: 23 y: 0 dy: 5
x: 24 y: 0 dy: 3


Mais rien sur l'écran
 
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on Jun 14, 2018, 12:09 pm
Il faut donc remettre 0x3C dans la déclaration de l'écran (voir réponse #5)
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 01:28 pm
Cela marche.


En fait il a fallu scanner , modifier le texte 03xC en O3xD puis le remodifier en 03XC.

Ce soir je teste sur mon pc. J'espère que cela ira

Merci


Comment faire pour écrire sur une même ligne une donnée récupérée et un texte ?
Exemple je récupère la donnée 'temp', venant d'un sonde et après sur la même ligne je veux écrire C (pour celsius)

Code: [Select]

display.println(temp );                    // ici on récupère la température de la sonde( Keyes KY-013)  AIR
display.setTextSize(2);//text size    // mettre 2 pour 16 pixels

display.println("C");                       //Affichage du symbole <C>
delay(500);                                 // Attente 0,5 sec pour réactualiser



ce code me donne cet affichage
11,5
C

Je voudrais 11.5 C


J'ai testé ceci mais cela ne marche pas ( je dirais presque 'normaaaal'  :smiley-confuse: )
''display.println((temp) ("C") );"
Merci
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: fdufnews on Jun 14, 2018, 02:34 pm
print au lieu de println peut-être
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 03:09 pm
C'est bon

Merci
Code: [Select]
display.setTextSize(1);//text size            // mettre 2 pour 16 pixels
  display.print( temp );                        // ici on met la 1° température ( Keyes KY-013)  AIR
  display.print("C");                            //Affichage du symbole <C>
  delay(500);                                    // Attente 0,5 sec pour réactualiser
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on Jun 14, 2018, 03:20 pm
C'est 0x3C et 03XC
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: ArduinoFree on Jun 14, 2018, 03:24 pm
Exact.
Petite coquille dans ma réponse, mais c'est ce que j'ai écrit dans le code

et le résultat !

(http://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=262235)
Title: Re: aide pour utiliser écran oled i2c 128x64 re telversement à chaque fois ?
Post by: ArduinoFree on Jun 15, 2018, 10:41 am
Bonjour


Question 1
3 fois sur 4 , quand je branche l'arduino sur mon pc, je suis obligé de re téléversé le code pour voir l'écran allumé/
Est-ce normal ?

NB : hier  j'avais 2 écrans oled qui fonctionnaient. Aujourd'hui plus qu'un et l'IDE me dit pb de connexion alors que je n'ai fait qu'intervertir les écrans.

Question 2
Comment fonctionne le numéro des port com ?

Question 3
Est-ce que les connexions arduino sont fiables ? J'ai souvent mon écran qui n'affiche rien. En le bougeant cela revient alors que je me sers que des éléments ( fils...) pour arduino
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: bunta951 on Feb 23, 2020, 11:52 am
Salut

Je viens de m'inscrire et je ferai ma présentation bien evidement.

Je rebondi sur ce topic.
J'ai reçu un Oled dans la semaine et je viens de le connecter à mon Arduino Mega.
J'ai utilisé le script de scanner qu'on trouve sur le net.
Mais dans ma fenetre serie je n'ai que le message "aucun appareil I2C trouvé"....

Si on part du principe que la connectique est bonne, est il possible que l'ecran soit HS ??
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: hbachetti on Feb 23, 2020, 12:01 pm
Quote
Si on part du principe que la connectique est bonne, est il possible que l'ecran soit HS ??
Rien n'est moins sûr. Si tu as connecté SDA SCL sur A4 A5 comme sur une UNO, cela ne marchera pas.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on Feb 23, 2020, 12:07 pm
Les pins pour l'I2C pour les diverses cartes Arduino sont indiquées ici (https://www.arduino.cc/en/reference/wire).

Quote
As a reference the table below shows where TWI pins are located on various Arduino boards.

Board   I2C / TWI pins
Uno, Ethernet   A4 (SDA), A5 (SCL)
Mega2560   20 (SDA), 21 (SCL)
Leonardo   2 (SDA), 3 (SCL)
Due   20 (SDA), 21 (SCL), SDA1, SCL1
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: bunta951 on Feb 23, 2020, 12:41 pm
Merci
Nickel, trouvé à l'adresse 0x3C
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: hbachetti on Feb 23, 2020, 12:54 pm
Cool. Une panne m'aurait franchement étonné.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 16, 2020, 12:08 am
Hello,

Je galère  avec un écran oled.

J'ai réussi a :
 installer les librairies
 téléverser l' exemple SSD1306_128x64_i2c

Après ça se complique, mon écran fait défiler les animations sur quelques lignes en haut de l'écran (enfin je les devine). Le reste de l'écran est blanc avec quelques points noirs.

Quelqu'un aurait une explication ou peut être la solution à mon problème.


Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 16, 2020, 12:50 am
L'image

(https://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=363688)


Es-tu sûr que c'est bien un 128 * 64 ?
Quel arduino utilises-tu ?
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 16, 2020, 02:10 pm

Merci pour ta réponse

Oui, c'est un 128 x 64 en tout cas c'est ce qui est donné comme caractéristique par le vendeur
J'utilise une carte UNO compatible ARDUINO R3  ATmega325
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 16, 2020, 03:23 pm
Quelle bibliothèque utilises tu ? Adafruit SSD1306 ? As-tu installé la bibliothèque Adafruit GFX ?
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 16, 2020, 07:47 pm

Oui j'utilise bien ces 2 bibliothèques.

Le début du code :

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

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

J'ai modifié l'adresse

if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64


Je n'ai pas d'erreur lors du téléversement.
J'en déduis que j'ai installé correctement les 2 bibliothèques.


Quand j'ouvre le moniteur série au bout de quelques secondes j'ai des valeurs de x et y qui s'affichent ce qui doit correspondre à cette partie de code

void testanimate(const uint8_t *bitmap, uint8_t w, uint8_t h) {
  int8_t f, icons[NUMFLAKES][3];

  // Initialize 'snowflake' positions
  for(f=0; f< NUMFLAKES; f++) {
    icons[f][XPOS]   = random(1 - LOGO_WIDTH, display.width());
    icons[f][YPOS]   = -LOGO_HEIGHT;
    icons[f][DELTAY] = random(1, 6);
    Serial.print(F("x: "));
    Serial.print(icons[f][XPOS], DEC);
    Serial.print(F(" y: "));
    Serial.print(icons[f][YPOS], DEC);
    Serial.print(F(" popolpopol "));
    Serial.println(icons[f][DELTAY], DEC);
  }

Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 16, 2020, 07:50 pm
Tu alimentes bien l'écran en 3.3V?
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 16, 2020, 08:31 pm

Actuellement en 3.3 V, mais je l'ai certainement mis sous 5 V lors de mes multiples essais.
La tension d'alimentation peut être de 3 à 5,5 V
L'écran est peut être défectueux.
 
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 16, 2020, 10:28 pm
Essaye ce code, en réglant la console sur 115200 baud. Il va remplir l'écran de haut en bas et de droite à gauche. Il affichera dans la console la taille de l'écran (largeur, hauteur). Vérifie si ces valeurs sont correctes.

Code: [Select]
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

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

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

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

  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3D)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    while (1); // Don't proceed, loop forever
  }
  Serial.println(display.width());
  Serial.println(display.height());

  for (int i = 0; i < 128; i++)
    for (int j = 0; j < 64; j++) {
      display.writePixel(i, j, 1);  // Mettre 0 si rien ne se passe
      display.display();
      delay(50);
    }
}

void loop() {
}

J'ai enlevé la première ligne, qui me semble inutile. Mais si ça ne marche pas, essaye de la remettre...
Code: [Select]
#include <SPI.h>
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 17, 2020, 12:08 pm

j'ai du rajouter SPI.h

Le téléversement se fait (j'ai mis l'adresse 0x3C)

Même image sur l'écran. Je peux lire INDUSTRIES qui défile sur les premières lignes en haut

J'ai bien 128 et 64 sur la console qui s'affichent

Par contre si je laisse l'adresse 0x3D je devrais avoir un message "SSD1306 allocation failed" sur la console.
J'ai toujours 128 et 64 qui s'affichent

J'ai supprimé la ligne  // Serial.println(display.width()); téléversé avec l'adresse 0c3D, la console m'affiche plus que 64, l'écran reste figé (plus de défilement ).
Donc mon code modifié a été transféré au moins partiellement malgré l'adresse qui ne correspond pas.

 // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3D)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    while (1); // Don't proceed, loop forever


Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 17, 2020, 01:01 pm
D'abord, il faut que tu apprennes à mettre des lignes de code entre balises, c'est plus confortable pour celui qui les lit. Regarde les messages épinglés en haut du forum pour ça.

Dans le fichier Adafruit_SSD1306.h (répertoire arduino libraries Adafruit_SSD1306.h) tu peux changer les lignes 28 & 29: dé-commente la première et commente la suivante.

Ajoute
Code: [Select]
display.clearDisplay();
dans mon code avant le premier for.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 17, 2020, 04:53 pm
Je progresse

Code: [Select]
display.clearDisplay();

  for (int i = 0; i < 128; i++)
    for (int j = 0; j < 64; j++) {
      display.writePixel(i, j, 1);  // Mettre 0 si rien ne se passe
      display.display();
      delay(50);

J'ai maintenant des traits qui défilent sur le haut de l'écran.

La modification dans Adafruit_SSD1306.h n'apporte rien
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 17, 2020, 05:39 pm
Tu devrais voir l'écran de remplir en blanc depuis un côté vers l'autre côté, colonne par colonne. Chaque colonne se remplit de haut en bas (ou de bas en haut selon l'orientation de l'écran).

Peux-tu décrire précisément ce que tu vois ? Au besoin, augmente la valeur du delay si ça va trop vite, s'il faut compter les colonnes ou les lignes.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 17, 2020, 06:11 pm
j'ai les 2 mm du haut sur 15 qui sont actifs le reste de l'écran est blanc avec des points noirs.
Des lignes verticales défilent sur le haut et finissent par remplir l'écran sur toute la largeur.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 17, 2020, 06:38 pm
j'ai les 2 mm du haut sur 15 qui sont actifs le reste de l'écran est blanc avec des points noirs.
Des lignes verticales défilent sur le haut et finissent par remplir l'écran sur toute la largeur.
Je ne comprends pas la première phrase. Explique.

Est-ce que l'écran s'efface, avec le clearDisplay ? Au besoin pour être sûr, ajoute ce qui suit  juste après cette ligne :
Code: [Select]
Serial.println ("effacement") ;
delay (3000);

Est-ce que tu vois un écran effacé, tout noir, pendant 3 secondes, avec le message dans la console, puis le démarrage du remplissage ?

À la fin, l'écran est complètement blanc ? Ça veut dire qu'on arrive bien à adresser tous les pixels, chacun son tour, et donc que l'écran n'est pas abîmé.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 17, 2020, 07:16 pm
les 2 mm correspondent en gros à 10 lignes des 64.

J'ai donc un affichage de 128 x 10

le reste de l'écran 128 x 54 est figé en blanc avec des points noirs comme sur la photo du premier message.

les 10 premières lignes sont actives, elles passent bien en noir et se remplissent progressivement

"effacement" s'affiche sur la console

Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 17, 2020, 07:24 pm
Donc l'écran n'est pas rempli, je veux dire à 100%. Ce sont uniquement ces dix lignes qui sont remplies.

Est-ce que l'écran s'efface entièrement ? Ou bien est-ce que ces dix lignes s'effacent ?
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 17, 2020, 07:26 pm
Essaye avec cette bibliothèque (https://github.com/sparkfun/SparkFun_Micro_OLED_Arduino_Library)
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 17, 2020, 08:15 pm

C'est bien ça ce sont que les 10 lignes qui s'effacent et qui se remplissent.

Le reste de l'écran est blanc et ne s'efface jamais.

Je n'arrive pas utiliser la bibliothèque Sparfun, erreur lors de la vérification même avec les exemples fournis avec la bibliothèque
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 17, 2020, 08:27 pm
Poste l'ensemble du message d'erreur (utilise le bouton copier le message à droite de la fenêtre du compilateur)
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 17, 2020, 08:34 pm
Arduino : 1.6.3 (Windows 7), Carte : "Arduino Uno"

Les options de compilation ont été modifiées, tout sera recompilé

MicroOLED_Demo_I2C.ino:24:65: fatal error: SFE_MicroOLED.h: No such file or directory

compilation terminated.

Erreur lors de la compilation.

  Ce rapport contiendrait plus d'informations si l'option
  "Montrer les informations de sortie pendant la compilation"
  était activée dans Fichier > Préférences.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 18, 2020, 01:28 pm
Le compilateur dit qu'il ne trouve pas le fichier SFE_MicroOLED.h qui est celui de la bibliothèque Sparkfun : tu as dû mal l'installer.

Pour installer cette bibliothèque, tu ouvres le lien que je t'ai fourni, tu cliques sur le bouton vert "Clone or Download" et tu choisis "Download ZIP". Tu cherches le fichier Zip téléchargé et tu mets son contenu (un répertoire) dans le répertoire libraries de ton dossier Arduino. Tu enlèves ensuite le "-master" du nom du répertoire.

Tu relances l'IDE et ça devrait fonctionner.
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: INCLINO on May 18, 2020, 11:36 pm
J'ai réussi à installer cette bibliothèque. Mais même l'exemple fourni avec ne fonctionnait pas.

J'ai finalement trouvé une bibliothèque sur le site du vendeur de l'écran (U8glib) et miracle l'exemple fourni avec fonctionne(cf image ci-joint).
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: lesept on May 18, 2020, 11:42 pm
(https://forum.arduino.cc/index.php?action=dlattach;topic=553097.0;attach=364159)
Impec ! Bonne continuation...
Title: Re: aide pour utiliser écran oled i2c 128x64
Post by: proft on Jul 30, 2020, 07:54 pm
Bonjour,

j'ai bien installé les librairies mais il me dit :

 Adafruit_I2CDevice.h: No such file or directory
 #include <Adafruit_I2CDevice.h>


il manque le fichier dans la lib?