I am having problems running these units together on a Nano.
I can run the GPS without any problems, with the output to Serial.print.
I can also run the Oled display, but they y will not work together.
The display uses Adafruit_SH110x.h lib and is defined as Adafruit_1106G in the code.
SoftwareSerial using ports 3 and 4 for the GPS.
i2c for the display.
As soon as i either define the SoftwareSerial ports or define the display in the code it stops working.
Any ideas?
Could be a problem with your code (hint).
Could be
Has anyone had success with this combo of components.
I see many examples with other oled displays, but not this particular one.
I have tried many options by starting with one working software setup and adding elements one line at the time. All is fine until I define more than one of the GPS or OLED instances.
@Leif_55, your topic has been moved to a more suitable location on the forum. Installation and Troubleshooting is not for problems with your project. See About the Installation & Troubleshooting category.
Note: you did not get @srnet's hint to post your code.
This is one piece of code that I use for testing.
To clarify, the code works fine to display a string on the oled display, but as soon as I define the SoftwareSerial pins it stops working altogether.
I have a different set of code that works fine with the GPS, but when I try to add the oled to that code it also quits.
Is the nano unable to deal with this combination?
I have seen examples with other oled displays that appear to do exactly what I want... (SSD1306 for example).
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>
#define DispAddress 0x3c
static const uint32_t GPSBaud = 9600;
TinyGPSPlus gps;
//SoftwareSerial ss(4,3);// here it fails... If I uncomment this line all stops working.
Adafruit_SH1106G display = Adafruit_SH1106G(128, 64, &Wire, -1);
void setup() {
Serial.begin(115200);
display.begin(DispAddress, true); // or here... One will work, not both
display.clearDisplay();
}
void loop() {
showme();
}
void showme(){
display.setTextSize(2);
display.setTextColor(SH110X_WHITE);
display.setCursor(0, 0);
display.println("Winner");
display.display();
delay(2000);
}
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.