New Adafruit generic OLED display driver for Raspberry PI



  • sorry, typos:
    and 3rd,
    how to optionally drive the OLEDs on i2c-1 or/and on i2c-0 ?



  • now I'm running into the same issues as the former user:
    examples are running as sudo from console, but if I load the example source oled_demo.cpp into Geany, it compies, but buils does not work.
    which are the exact parameters for the library to link to?
    -I/ArduiPi_OLED ??
    -L/ArduiPi_OLED ??



  • It's L of "Library" but in lower case

    so but I do not know if Geany requires the -l switch before or not so you can try
    -lArduiPi_OLED or ArduiPi_OLED



  • oh yes, a lowercase l (L) seems to work, and no -L is required as it seems, and now it also runs started out of different folders, thank you!

    • Tim


  • now I just have to figure out how to start oled type 6 out of the source code without either command line parameters, just screen-out to this static oled type... will see, thanks again!



  • ps, in the source code I also exchanged
    #include "ArduiPi_OLED_lib.h"
    #include "Adafruit_GFX.h"
    #include "ArduiPi_OLED.h"
    by
    #include <ArduiPi_OLED_lib.h>
    #include <Adafruit_GFX.h>
    #include <ArduiPi_OLED.h>



  • no, I don't get it: how to call
    display.init()
    in order to force oled 6 (i2c) without using any commandline parametes?



  • think I got it:

    // Oled supported display in ArduiPi_SSD1306.h
    // Get OLED type
    //parse_args(argc, argv);

    /* 
    // SPI
    if (display.oled_is_spi_proto(opts.oled))
    {
    	// SPI change parameters to fit to your LCD
    	if ( !display.init(OLED_SPI_DC,OLED_SPI_RESET,OLED_SPI_CS, opts.oled) )
    		exit(EXIT_FAILURE);
    }
    else	
    */
    
    {
    	// I2C change parameters to fit to your LCD
    	if ( !display.init(OLED_I2C_RESET, 6) )
    		exit(EXIT_FAILURE);
    }
    display.begin();


  • Any solution for the problem that the screen is freezing?
    The display is working fine with the Python script we found here so that can't be the problem. The Raspberry Pi is a Raspberry Pi 3.

    Thank you for your support.



  • hello,
    if I am using your lib in my own programs I always need sudo to start them.
    How can I make them executable by every user (e.g., standard user pi) ?



  • Hi Charles,

    I am looking to use a 128x96 16-bit color OLED for my project using the SSD1351 controller. Could you help me understand

    1. What changes would be needed to your 1306 driver to make it work for the SSD1351
    2. Would you have some kind of reference code for that ?
    3. How would the wiring look like ?

    Whatever help/direction you could offer would be much appreciated. I was thinking of trying out your raspberry pi example for 1306 and start making changes from that point. Not sure if thats the right approach or should I go straight to the 1351.

    Regards
    Shyam



  • Hi Charles,

    is it possible to hook multiple screens up to the Rasberry Pi?

    I have 8 SSD 1306 7pin SPI that I would like to hookup.

    best,

    D



  • Hi,

    So as far as I understand, there is no way to use this driver with a SH1106 SPI 128x64 ?
    That's a real shame, and I can't find any other rasppi drivers.

    If someone could help, that would be great,
    Regards



  • Having rebuilt my Stretch OS deploy, and not done an apt-get upgrade/update. The process of installing the dependencies has worked. However, compilation of ArduiPi_OLED fails because ld can't find -li2c
    Others reporting the issue on GitHub have used the debian .deb file for libi2c0 but this causes all my i2c applications (i2ctools) to fail with invalid instruction.
    Where should I be installing the library for i2c from?
    libi2c-dev and i2ctools are successfully installed.



  • ... i fixed the problem with sh1106 (128x64) spi. The -li2c error is also be fixed.
    I added the 2 changed files to github. I spend a lot of time to find the error - but now it's working :-)
    Here the github-link: https://github.com/alex-graf/ArduiPi_OLED_sh1106



  • I still can't make it work. Have cloned your files and replaced the bcm2835.c and bcm2835.h with the new ones as well as replaced the ArduiPi_OLED.cpp and the makefile in the original ArduiPi_OLED directory with your ones but still i get the /usr/bin/ld: cannot find -li2c error. Any ideas - what am I doing wrong please. (Raspberry Pi 3 with Stretch fresh install then followed hallard instructions, then replaced files you mention). Many thanks.



  • I followed the steps just like Bob did and im still getting the "cannot find -li2c" error. Honestly i don't see why i need I2C anyways since everything i wanna do is test an SPI display...


Log in to reply