Installation d’un écran OLED sur un relais MMDVM

Après l’article consacré à la configuration et installation d’un écran Nextion sur un relais MMDVM , voyons ensemble à présent comment se réalise l’intégration d’un petit afficheur OLED sur MMDVM.

Ce type d’afficheur est connu sous la référence SSD1306, il mesure 27 millimètres pour une définition de 128 x 64. Il existe deux variantes de l’écran SSD1306, une fonctionnant sur bus SPI et l’autre en I2C. J’ai choisi le modèle à bus I2C, reconnaissable à ces pins SCA et SCL. Il est monochrome mais existe également en une version bicolore jaune et bleu. Seul les lignes du haut de l’afficheur sont jaunes. C’est ce modèle que j’utilise.

Ecran OLED SSD1306

Prérequis logiciel

Vous êtes connecté au Raspberry Pi.

Tout d’abord, nos allons valider les bus SPI et I2C du Raspberry Pi, grâce au menu de configuration.

 

Nous installons à présent les packages logiciels pour gérer ces bus.

Pour que les modules démarrent nous devons les voir apparaitre dans le fichier modules

Vous devez avoir ces deux lignes

(Sortir avec Ctrl-X et Yes pour sauvegarder)

Nous redémarrons le Raspberry Pi

Après reconnexion, nous devons trouver les ports i2c et spi

Raccordement de l’écran

L’écran SSD1306 est une version avec bus I2C. Le raccordement se réalise comme indiqué ci-dessous.

Test de détection

Nous allons vérifier que le câblage est correct et que l’écran est bien détecté sur le bus I2C.

Lancer la commande suivante.

 

Un équipement 3c apparait. Il s’agit bien de l’écran SSD1306.

Installation de la bibliothèque de communication de l’écran OLED

Si vous n’auriez pas installé git sur votre Raspberry Pi, je vous propose de lancer cette commande.

Télécharger à présent la bibliothèque ArduiPi_OLED (directement sur github).

puis lancer la compilation du logiciel

Recompilation de MMDVMHost

Mettons à jour MMDVMHost avec ces quelques instructions. La compilation prendra plusieurs minutes.

Mise à jour du fichier de configuration MMDVMHost

Nous voilà à la dernière étape. Précisons à présent dans la section [General] du fichier MMDVM.ini que nous avons installé un écran OLED

Il fait référence à la section OLED que nous n’avons pas à modifier

Procédons finalement au redémarrer du Raspberry Pi

Résultat

L’afficheur SSD1306 s’allume. Il est en attente de trafic

Ecran SSD1306 I2C raccordé sur Raspberry Pi, et piloté par MMDVMHost

Sur le groupe de discussion TG2, WA4BPS est affiché, il est retransmis sur le Time Slot 2 en DMR

 

Vous rencontrez des difficultés de mise en oeuvre, vous pouvez en faire part en commentaires ci-dessous.


If you would be interested to participate in a possible future new grouped order (MMDVM board, SvxLink Card), leave your email below to be reported!

9 réflexions au sujet de « Installation d’un écran OLED sur un relais MMDVM »

  1. Replace ‘armv6zk’ with ‘armv7-a’ in Makefile for Ubuntu Mate Pi3

    (Traduction)
    Remplacer ‘armv6zk’ par ‘armv7-a’ dans le Makefile d’Ubuntu Mate Pi3

  2. Hello
    I have only the first line
    i2c-dev
    spidev

    ” i2c-dev ”
    But all is allright
    73 J-Y

    (Traduction)
    Bonjour
    Je n’ai que la première ligne
    I2c-dev
    Spidev

                 “I2c-dev”
    Mais tout fonctionne bien
    73 J-Y

    1. Yes, it depend of the version of oled screen (it can be a version with SPI bus).
      (traduction)
      Oui, cela dépend de la version de l’écran Oled (cela peut être une version avec bus SPI)

      OLED SPI

  3. Hi,

    did all above but getting following at the end of the compiling process, any idea ?
    Thanks J.

    (Traduction)
    Hello,
    Ai fait tout ce qui précède, mais à suivre à la fin du processus de compilation, une idée?
    Merci J.


    //usr/local/lib/libArduiPi_OLED.so: undefined reference to
    i2c_smbus_write_i2c_block_data'
    //usr/local/lib/libArduiPi_OLED.so: undefined reference to
    i2c_smbus_write_byte_data'
    //usr/local/lib/libArduiPi_OLED.so: undefined reference to `i2c_smbus_write_word_data'
    collect2: error: ld returned 1 exit status
    Makefile.Pi.OLED:19: recipe for target 'MMDVMHost' failed
    make: *** [MMDVMHost] Error 1

    1. Jerry,

      It seems that the library libi2c-dev is not present. Have you execute the preliminary installation ? Is there no error at this stage ?
      sudo apt-get install build-essential git-core libi2c-dev i2c-tools lm-sensors

      (Traduction)
      Jerry,

      Cela ressemble à la librairie libi2c-dev absente. Avez-vous exécuter l’installation en préliminaire? Il n’y a pas eu d’erreur à ce moment ?
      sudo apt-get install build-essential git-core libi2c-dev i2c-tools lm-sensors

  4. HI

    It does not work. The i2cdetect -y 1 detection test finds the
    display. Recompiling the mmdvmhost gives me no errors.
    I’m using Jessie Western D-Star image with Raspberry pi B+.
    Any thoughts?

    Flavio VE2ZFP

    (Traduction)
    SALUT

    Ça ne marche pas. Le test de détection i2cdetect -y 1 trouve l’afficheur. La recompilation du mmdvmhost ne me donne aucune erreur.
    J’utilise une image Jessie Western D-Star avec Raspberry pi B +.
    Des idées?

    Flavio VE2ZFP

    1. Hi,
      If all compilation and I2C display detection is ok, you may have missed a parameter in the MMDVM.ini file
      Have a check.
      (Traduction)
      Salut
      Si la compilation et la détection de l’écran I2C est ok, alors peut-être avez vous loupé un paramètre dans le fichier MMDVM.ini
      Vérifiez

  5. Hello, if you want a file (RASBIAN) for your SD card no pb with OLED
    my mail on QRZ.com

    73 de F1IZL
    (Traduction)
    Bonjour, si vous voulez un fichier (RASBIAN) pour votre carte SD pas de problème avec OLED.
    Mon email sur QRZ.com

    73 de F1IZL

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *