Oled Display + PC Anbindung

Hallo,

hab mir mal so ein Oled Display zugelegt, funktioniert auch gut aber im Sketch wird dafür eine serielle Verbindung aufgemacht. Ich benötige aber unbedingt eine serielle Verbindung zu meinem PC damit ich dem Arduino senden kann was am Display ausgegeben wird.

Kann ich 2 Verbindungen gleichzeitig machen ?

Danke

Mike

(deleted)

Sorry,

mein Fehler!

ist ein MakerHawk I2C OLED Display Module und ich verwende einen Uno R3.
Mit einem kleinen Beispielprogramm kann ich auch etwas anzeigen.

Im Beispielprogramm wird am Anfang Serial.begin(115200) aufgerufen.
In meinem Programm rufe ich aber Serial.begin(9600) auf für die Verbindung zum PC.

Meine Frage war also wie ich beide Verbindungen gleichzeitig machen kann.
Ich schau mal im Link von Peter rein, womöglich ist es dort beschrieben.

Vielen Dank!

lg Mike

was spricht für 9600? Warum stellst nicht deinen Serial.Monitor um auf 115200? Ist sowieso schneller.

Und stell mal deinen Sketch hier in code-Tags ein.

(deleted)

Netsepp:
Sorry,

mein Fehler!

ist ein MakerHawk I2C OLED Display Module und ich verwende einen Uno R3.
Mit einem kleinen Beispielprogramm kann ich auch etwas anzeigen.

Im Beispielprogramm wird am Anfang Serial.begin(115200) aufgerufen.
In meinem Programm rufe ich aber Serial.begin(9600) auf für die Verbindung zum PC.

Meine Frage war also wie ich beide Verbindungen gleichzeitig machen kann.
Ich schau mal im Link von Peter rein, womöglich ist es dort beschrieben.

Vielen Dank!

lg Mike

Frage: Was hat I2C mit Serial zu tun?
Antwort: Nichts.

Du stellst also deine Lieblingsbaudrate ein, und I2C kümmert es nicht.

die 9600 hab ich nur zum testen mit dem PC. werde dann eh rauf gehen. Hier der Sketch für den Displaytest.
Mein Plan ist es mit dem PC dem Arduino einen Text zu schicken welcher dann am Display ausgegeben wird.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
Serial.begin(115200);

if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(2000);
display.clearDisplay();

display.setTextSize(7);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println("TEST");
display.display();
}

void loop() {

}

Mein Plan ist es mit dem PC dem Arduino einen Text zu schicken welcher dann am Display ausgegeben wird.

Fein!

Was hindert dich daran, dieses auch zu tun?

die Frage ist wie mache ich 2 serielle Verbindungen gleichzeitig und wie definiere ich welche wohin geht ?

die Frage ist wie mache ich 2 serielle Verbindungen gleichzeitig

In dem du Softserial verwendest --- wurde schon gesagt.
Oder ein Board mit 2 seriellen Verbindungen benutzt.

und wie definiere ich welche wohin geht ?

Durch die Auswahl, wo du es dran steckst.


Wofür benötigst du 2 serielle Verbindungen?

ok danke, ich werde mir Softserial heute Abend in Ruhe ansehen. Warum ich 2 benötige ?

Am Arduino habe ich eine Lichtschranke welche mir an den PC ein Signal sendet wenn sie unterbrochen wird.
Im Gegenzug möchte ich vom PC zum Arduino Meldungen senden welche angezeigt werden sollen.

Das Display benötigt scheinbar aber auch eine serielle Verbindung. Also sind es dann zwei gleichzeitig.
Ich denke mit Softserial werde ich es schaffen....

Vielen Dank für die Hilfe!

(deleted)

Das Display benötigt scheinbar aber auch eine serielle Verbindung. Also sind es dann zwei gleichzeitig.

Die serielle Verbindung, welche das Display kann, ist offensichtlich I2C.
Das hat nichts mit UART zu tun.
Softserial hilft dir an der Stelle nicht weiter!
Null, nada, nix, vergiss es.

Der übliche Arduino spricht über UART mit dem PC.
Softserial kann dir helfen, wenn du eine UART zuwenig hast.

Warum hast du eine UART zuwenig, wenn dein Display doch gar keine benötigt/verträgt?

Er will partout nicht von seiner falschen Annahme weg, wahrscheinlich macht er per Definition keine Fehler.

Gruß Tommy

(deleted)

ja lacht nur :slight_smile:

bin Anfänger auf dem Gebiet. Das Display braucht gar keine serielle, sondern das ist nur im Beispiel drinnen für die Fehlermeldung am Monitor :slight_smile:

Ich dachte anfangs es ist für das Display.... also hab ich gar kein Problem mit meinem hochkomplexen Projekt :slight_smile:

lg Mike

Das hat Dir combie schon in #5 gesagt. Du wolltest es nur nicht hören.

Gruß Tommy

Der Kopf ist rund, damit das Denken die Richtung ändern kann

Ich kann nur sagen.
Der Groschen muss dann an anderer Stelle fallen.

In Köpfen irgendwas rum drehen kann und will ich nicht.
Da habe ich mit meinem schon genug zu tun.

Aber die ein oder andere Anregung ist schon drin.

Tipp:
Ist etwas wie im Kostnix Laden.
Wer meine Anregung mag, kann sie aus dem Regal nehmen, und wem sie nicht schmeckt, kann sie liegen lassen.

Ein Arduino UNO hat 3 serielle Schnittstellen:
UART mit TX und RX
I2C mit SDA und SCL
SPI mit CLK, MISO MOSI und SS
Wobwi I2C und SPI ein Bus ist ( mehrere Geräte können angeschlossen werden):
Alle diese Schnittstellen benutzen andere Pins was bedeutet daß alle 3 gleichzeitig verwendet werden können.
Grüße Uwe

So ganz stimmt das ja nicht.
Ich hab ja auch mit der DMXSerial Lib (RX, UART) und der MPU6050 Lib (I²C) einen konflikt gekriegt.
War erst mit nem Mega weg, wenn ich die Lib auf RX1 umgestellt hab.
Ging ja auch von aus mit I²C und UART wär ich fein raus, aber Pustekuchen.
Verwenden stellenweise die selben Timer.
Aber mit nem Display hab ich noch keine Probleme gekriegt.