So, I have been working with my nice little OLED displays for awhile and I have decided that I want to have multiple displays (being controlled by python over Serial connection). How is this possible? Here is my current code:
#include <Adafruit_SSD1306.h>
#include <splash.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
Adafruit_SSD1306 display(128,32,&Wire);
String line1 = "Hey";
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.display();
delay(1000);
display.println("Setting up...");
display.display();
Serial.begin(9600);
delay(3000);
display.setCursor(0,0);
display.setTextSize(1);
display.setTextColor(WHITE);
Serial.println("HELLO!");
}
void loop() {
//Serial.println("CHECKPOINT2");
//delay(100);
if (Serial.available() > 0) {
display.setCursor(0,0);
line1 = Serial.readString();
Serial.println("Serial Available");
Serial.println(line1);
display.println(line1);
display.display();
delay(2000);
display.clearDisplay();
display.display();
delay(1000);
Serial.println("Ready");
}
else {
//display.println("Nothing");
//display.display();
}
//delay(3000);
//display.clearDisplay();
//display.display();
}
So, basically my goal is I could have
Adafruit_SSD1306 display(128,32,&Wire)
Adafruit_SSD1306 display2(128,32,&Wire)
Adafruit_SSD1306 display3(128,32,&Wire)
Adafruit_SSD1306 display4(128,32,&Wire)
Adafruit_SSD1306 display5(128,32,&Wire)
Adafruit_SSD1306 display6(128,32,&Wire)
Adafruit_SSD1306 display7(128,32,&Wire)
Adafruit_SSD1306 display8(128,32,&Wire)
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display2.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display3.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display4.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display5.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display6.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display7.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display8.begin(SSD1306_SWITCHCAPVCC, 0x3C);
Except the only problem is that the adress of ALL OF the displays are the same.
Can anyone help?
Thanks in advance.