Aller au contenu


Photo

Ecran Oled [Testé par Guigz65]

Ecran OLED Arduino

  • Veuillez vous connecter pour répondre
11 réponses à ce sujet

#1 Guigz65

Guigz65

    Membre occasionnel

  • Membres
  • Pip
  • 137 messages
  • Gender:Male
  • Location:33 - Nord Gironde

Posté 02 janvier 2017 - 04:17

Bonjour tout le monde ! Bonne année et meilleur vœux que tous vos projets robotique se réalisent cette année 2017 ! 

 

Alors j'inaugure mon premier test par un écran OLED que je vais utiliser pour réaliser une montre connectée arduino :

 

 

Ecran principaux.JPG

 

Vous pouvez le retrouver ici : http://www.robot-maker.com/shop/composants/130-ecran-oled.html

 

C'est un écran de petite taille avec une excellente définition parfait pour des projets de montre connectée, petit robot, domotique ... 

 

P1070471.JPG

 

Caractéristique technique :

 

- L'écran mesure 26x15 mm

 

- Le circuit imprimé + ecran fait 27x27mm

 

- La résolution de l'écran est 128*64 pixel

 

- J'utilise une tension de fonctionnement de 3.3V mais il fonctionne aussi bien en 5V.

 

Les trous de fixation sont de diamètres 2mm.

 

Une vidéo en fonctionnement :

 

 

Dans un prochain post j'expliquerais comment le connecter et configurer les librairies arduino en prenant pour exemple la montre connecté que je réalise en ce moment.

 

Bonne journée  :)



#2 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 02 janvier 2017 - 04:54

Merci pour ce retour. Je me pose une question à propos de ces écrans pilotés par i2c. Je n'en ai jamais "tripoté". Le rafraichissement complet de l'écran se fait rapidement ? Tu as des infos à ce sujet ?

#3 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 02 janvier 2017 - 05:26

Il est quand même plus joli allumé :)



#4 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 02 janvier 2017 - 05:59

Merci pour ces détails supplémentaires, je pense qu'à la fin de ton test les infos utiles seront repris sur la page du shop.

 

Les trous de fixations sont de quelles tailles ?

 

Je pense que ca va m'interresser, pour pouvoir afficher l'état de mes robots, sans toujours passer par le log du bluetooth.



#5 Guigz65

Guigz65

    Membre occasionnel

  • Membres
  • Pip
  • 137 messages
  • Gender:Male
  • Location:33 - Nord Gironde

Posté 02 janvier 2017 - 07:52

Alors pour répondre à Path au niveau du rafraîchissement je n'ai pas trouvé d'infos mais j'ai fait une petite video pour montrer le changement complet de l'écran :

 

 

Les trous de fixation sont de diamètres 2mm. (je vais ajouter cette infos dans les caractéristiques techniques)

 

 



#6 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 02 janvier 2017 - 08:21

Merci !! Et pas (ou peu) de délai entre la commande et l'affichage j'imagine.

#7 Guigz65

Guigz65

    Membre occasionnel

  • Membres
  • Pip
  • 137 messages
  • Gender:Male
  • Location:33 - Nord Gironde

Posté 03 janvier 2017 - 09:50

Pour les premiers essais je vais utiliser un tuto disponible à cette adresse : http://www.instructables.com/id/Monochrome-096-i2c-OLED-display-with-arduino-SSD13/ (merci Mike  :))

 

Il faut d'abord relier l'arduino à l'écran Oled :

 

VCC - > 5 Volt de l'arduino

GND -> GND arduino

SCL -> SCL Arduino (sur Uno sinon Pin A5)

SDA -> SDA Arduino (sur Uno sinon Pin A4)

 

Pour connaitre l'adresse I2C de l'écran il faut lancer un petit sketch arduino : i2c_scanner http://playground.arduino.cc/Main/I2cScanner

// --------------------------------------
// i2c_scanner
//
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the Arduino.cc forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by Arduino.cc user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
//    http://www.gammon.com.au/forum/?id=10896
// Version 5, March 28, 2013
//    As version 4, but address scans now to 127.
//    A sensor seems to use address 120.
// Version 6, November 27, 2015.
//    Added waiting for the Leonardo serial communication.
//
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//
 
#include <Wire.h>
 
 
void setup()
{
  Wire.begin();
 
  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}
 
 
void loop()
{
  byte error, address;
  int nDevices;
 
  Serial.println("Scanning...");
 
  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");
 
      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");
 
  delay(5000);           // wait 5 seconds for next scan
}

Et on récupère sur le moniteur de serie l'adresse. Dans mon cas 0x3C.

 

Ensuite il faut installer les bibliothèques: SSD 1306 library et GFX library (je vous conseille de passer par le gestionnaire de librairie Arduino).

 

Vous pouvez utiliser le sketch en exemple dans la librairie qui donne un aperçu des possibilités de cet écran Oled : 

 

FB5H28CIE7J5E55.MEDIUM.jpg

 

Bientôt une petite vidéo. 

 

 

 

 

 

 

 

 

 

 

 



#8 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 01 février 2017 - 08:15

Je viens de tester aussi.

 

Quand on compile l'exemple d'adafruit, le compilateur refuse de compiler et affiche:

Height incorrect, please fix Adafruit_SSD1306.h! 

Il faut éditer Arduino/libraries/Adafruit_SSD1306/Adafruit_SSD1306.h pour dé-commenter SSD1306_128_64 au lieu du 32.

#define SSD1306_128_64
//   #define SSD1306_128_32
//   #define SSD1306_96_16

Après, le compilateur affiche un bon nombre de warnings. J'ai pas de solution.



#9 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 01 février 2017 - 09:46

Tu n'as pas de solution pour quoi ?

 

Si tu veux voilà un petit exemple que je me suis fait pour tester l'écran, je ne suis pas aller beaucoup plus loin que cela pour l'instant.

 

 

https://github.com/B...D/Test_OLED.ino



#10 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 01 février 2017 - 10:11

Merci :) Et désolé, je me suis mal exprimé. Il fonctionne très bien ^^

J'intervenais pour compléter. Je voulais dire que je n'ai pas de solution pour les warnings.



#11 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 047 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 02 février 2017 - 01:21

Je viens de tester aussi.

 

Quand on compile l'exemple d'adafruit, le compilateur refuse de compiler et affiche:

Height incorrect, please fix Adafruit_SSD1306.h! 

Il faut éditer Arduino/libraries/Adafruit_SSD1306/Adafruit_SSD1306.h pour dé-commenter SSD1306_128_64 au lieu du 32.

#define SSD1306_128_64
//   #define SSD1306_128_32
//   #define SSD1306_96_16

Après, le compilateur affiche un bon nombre de warnings. J'ai pas de solution.

 

Même si tu prends le bonne exemple de programme comme indiqué par guigz65 tu dois faire la manip ??

 

Pour les warning c'est la librairie qui est écrite comme ça ... Si tu veux les faire sauter il faut retaper un peu la librairie ...


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#12 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 02 février 2017 - 02:30

Oui, l'exemple, ce n'est pas la lib. Il faut modifier la lib :)
Et non, pas envie de debug la lib. :)





0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users