
gjohal
Canada
Asked
— Edited
I need help with setting up an I2C OLED display with the EZ-B v4. The display is connected to the EZ-B v4 based on my understanding of the pin outs on the EZ-B I2C slot as per the manual. The display doesn't seem to light up (not sure if it should) and I have no idea which skill I use to enable sending of text and EZ-B display information to the display. The display uses an SSD1307 Driver and the only datasheet I can find online is attached but not sure if it's the correct one? SSD1307.pdf
Related Hardware EZ-B v4
I tried the sample code and I don't get an error but nothing is displayed on the the OLED display. Is the next step to find the right Hex value to place the text or does the display need to be initialized first? SSD1307_1.4.pdf2.08-20812832LW.pdf I have attached the Datasheet and reference file and on Page 22 it lists various commands with Hex values for Recommended Software Initialization but I'm not sure if I need to put those in using ARC or not. Also guessing the commands might be different within ARC.
Is the red light on the ezb staying on after you send the command? Might not be connected correctly. Or wrong data is being sent
@gjohal I was just giving you an example that compiles. You will need to do the research in order to have the correct i2C address, send the correct initialization commands and the proper sequence and timing. You’ll also need to figure out if you have a short enough cable and strong enough pull up resistors. There is much work to be done with a new i2C display such as this if you want to get it working.
As suggested, if it were me I would have started with the more common SSD1306 Display, that way you have a ton of example code out there that you can work from and port over. That way you have a better idea of how these OLED displays work before using an uncommon one.
@DJSURES- I just see a blue main light and when I send the command, I see a small light flash that appears to be Red, then it goes off.
@Jeremie- Thanks for explaining and I will review the initialization commands and see if I can find the right commands to get it working.
If the red light flashes but doesn't stay on, that means the i2c device has received the command. That's a good thing because it's a command that has been accepted.
The challenge is going to be how the command is expected. You see, protocols like UART are serial and that means the commands can be sent and received in the order as expected. Multiple script commands (i.e. uart.write) can be separated in the script. However, when using i2c, the commands are generally expected by the receiver (slave) in the i2c write command. That's because the i2c is reset after each command. So, in order to write text that requires writing to the decimal address 54, the text would also need to be appended. And because of that, the ASCII text might have to be split into a decimal/hexadecimal array.
However, I doubt that is the case - but it's difficult for me to say because I don't have that device to test with. You're learning a lot and don't be discouraged. While we make it easy to send commands, the difficulty will be identifying what commands need to be sent.
Good to know and will try to work on this and send updates when I hopefully make some progress.