• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Dwa oledy ..
#1
Chciałem zastosować dwa wyświetlacze oled w projekcie ... podłączone do ardurino uno i2c różne adresy.

Tak wygląda kod dla wyswietlaczy 

Kod:
#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define OLED1_RESET 4
Adafruit_SSD1306 display1(OLED1_RESET);
#define OLED2_RESET 4
Adafruit_SSD1306 display2(OLED2_RESET);


  void setup()
  {
     display1.begin(SSD1306_SWITCHCAPVCC, 0x3D);
     display2.begin(SSD1306_SWITCHCAPVCC, 0x3C);

  }

void loop() {

  display1.clearDisplay();
  display1.setTextColor(WHITE,BLACK);
  display1.setCursor(8,10);
  display1.println("ON");
  display1.display();
 
  display2.clearDisplay();
  display2.setTextColor(WHITE,BLACK);
  display2.setCursor(8,10);
  display2.println("off");
  display2.display();
  }


Co robie źle ponieważ nie widze na jednym napisu ... a wszystko wygląda prawidłowo, gdy w kodzie wyłączam jeden lub drugi. Gdy działają oba napis pojawia się tylko na pierwszym, który występuje pierwszy w kodzie. 
 
Odpowiedź
#2
Spróbuj tak:
(02-07-2019, 13:07)maniek100 napisał(a): void loop() {

display1.begin(SSD1306_SWITCHCAPVCC, 0x3D);
  display1.clearDisplay();
  display1.setTextColor(WHITE,BLACK);
  display1.setCursor(8,10);
  display1.println("ON");
  display1.display();
 
display2.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display2.clearDisplay();
  display2.setTextColor(WHITE,BLACK);
  display2.setCursor(8,10);
  display2.println("off");
  display2.display();
  }[/code]
Jak zadziała, to masz do przerobienia biblioteki.
 
Odpowiedź
#3
Testowałem taki kod:
Kod:
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define OLED1_RESET -1
Adafruit_SSD1306 display1(OLED1_RESET);
#define OLED2_RESET -1
Adafruit_SSD1306 display2(OLED2_RESET);


  void setup()
  {
     display1.begin(SSD1306_SWITCHCAPVCC, 0x3D);
     display2.begin(SSD1306_SWITCHCAPVCC, 0x3C);

  }

void loop() {
static int parzysta=0;
static int nieparzysta=1;
  display1.clearDisplay();
  display1.setTextColor(WHITE,BLACK);
  display1.setCursor(8,10);
  display1.println(nieparzysta+=2);
  display1.display();
 
  display2.clearDisplay();
  display2.setTextColor(WHITE,BLACK);
  display2.setCursor(8,10);
  display2.println(parzysta+=2);
  display2.display();
  delay(1000);
  }
I potem Twój,  działa OK, tak że biblioteka jest w porządku. Przynajmniej moja, wziąłem ją stąd:  link .
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości