Hello
I'm using the VMA11-Library for the SI4703 because it's the only one which gives correct RDS-Data. And it works - but only without the SH1106-Display.
On the other Hand the SH1106 works without the SI4703.
When I put them together, the Display prints the Test-Text but the Radio gives only static Noise.
SI4702.PDF (189,4 KB)
sh1106_datasheet-01-26.pdf (6,1 MB)
I tried different Libraries for both Devices but with the same result.
As far as I know both Devices using I2C. Weirdly the I2C-Scanner can't identify the SI4703.
Can some one help me pls ?
#include <VMA11.h>
#include <Wire.h>
//#include <U8g2lib.h>
//U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/U8X8_PIN_NONE);
#include "lcdgfx.h"
#include "lcdgfx_gui.h"
#include "owl.h"
DisplaySH1106_128x64_I2C display(-1);
int resetPin = 2;
int SDIO = A4;
int SCLK = A5;
#define PIN_TASTER A0
boolean aButtonPressed = false;
int chnl = 1;
VMA11 radio(resetPin, SDIO, SCLK);
int channel;
int volume;
char rdsname[9];
char rdsrt[65];
char previousRadioText[65];
uint8_t lastChar;
void setup() {
Serial.begin(9600);
//u8g2.begin();
//u8g2.clearBuffer(); // clear the internal memory
//u8g2.setFont(u8g2_font_profont15_mf);
display.begin();
display.setFixedFont(ssd1306xled_font6x8);
display.fill( 0x00 );
display.setFixedFont(ssd1306xled_font6x8);
display.clear();
display.printFixed(0, 8, "Normal text", STYLE_NORMAL);
display.printFixed(0, 16, "Bold text", STYLE_BOLD);
display.printFixed(0, 24, "Italic text", STYLE_ITALIC);
display.invertColors();
display.printFixed(0, 32, "Inverted bold", STYLE_BOLD);
display.invertColors();
radio.powerOn();
radio.setVolume(8);
volume = 8;
radio.setChannel(999);
channel = 999;
memset(previousRadioText, 0, 65);
memset(rdsrt, 0, 65);
pinMode(PIN_TASTER, INPUT_PULLUP);
displayInfo();
}