Created
May 11, 2016 03:07
-
-
Save alexdmejias/aa518158279184f6e8a2f27bb1a4e2b8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Adafruit_GFX.h> | |
#include <Adafruit_SSD1306.h> | |
#include "Wire.h" | |
extern "C" { | |
#include "utility/twi.h" // from Wire library, so we can do bus scanning | |
} | |
#define TCAADDR 0x70 | |
void tcaselect(uint8_t i) { | |
if (i > 7) return; | |
Wire.beginTransmission(TCAADDR); | |
Wire.write(1 << i); | |
Wire.endTransmission(); | |
} | |
Adafruit_SSD1306 displays[] = { | |
Adafruit_SSD1306(-1), | |
Adafruit_SSD1306(-1), | |
Adafruit_SSD1306(-1), | |
Adafruit_SSD1306(-1) | |
}; | |
int pinsSelection[] = {0, 5, 7, 6}; | |
int initPadding = 1; | |
void displayNumber(Adafruit_SSD1306* disp, int index) { | |
disp->clearDisplay(); | |
disp->setTextSize(1); | |
disp->setTextColor(WHITE); | |
disp->setCursor(0, 0); | |
disp->println(String(index)); | |
disp->display(); | |
} | |
void setup() { | |
Wire.begin(); | |
Serial.begin(9600); | |
for (int i = 0; i < 4; i++) { | |
tcaselect(pinsSelection[i]); | |
displays[i].begin(SSD1306_SWITCHCAPVCC, 0x3C, false); | |
displayNumber(&displays[i], i + 1); | |
} | |
initPadding += 1; | |
} | |
void loop() { | |
for (int i = 0; i < 4; i++) { | |
tcaselect(pinsSelection[i]); | |
displayNumber(&displays[i], i + initPadding); | |
} | |
initPadding += 1; | |
delay(5); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment