Code: Select all
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>
#include <Adafruit_NeoPixel.h>
#include <Adafruit_TestBed.h>
extern Adafruit_TestBed TB;
#define SECONDARY_I2C_PORT &Wire1
Adafruit_SH1107 display = Adafruit_SH1107(64, 128, &Wire1);
#define NeoPixel_Pin 16
#define NeoPixel_Count 1
Adafruit_NeoPixel strip(NeoPixel_Count, NeoPixel_Pin, NEO_GRB + NEO_KHZ800);
#define Button_A 9
#define Button_B 8
#define Button_C 7
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
delay(100);
strip.begin();
strip.show();
delay(50);
strip.setPixelColor(0,100,100,100);
delay(100);
strip.setPixelColor(0,100,0,0);
strip.show();
Serial.begin(115200);
//while (!Serial) delay(10);
delay(250);
strip.setPixelColor(0,100,20,0);
strip.show();
delay(500);
Serial.println("System Starting");
//Port Test
Serial.print("Secondary Port (Wire1) ");
TB.theWire = SECONDARY_I2C_PORT;
TB.printI2CBusScan();
strip.setPixelColor(0,100,40,0);
strip.show();
Serial.println("Start Display");
display.begin(0x3C, true); // Address 0x3C default
display.display();
strip.setPixelColor(0,100,60,0);
strip.show();
delay(1000);
display.clearDisplay();
display.print("Started Display");
display.display();
delay(1000);
Serial.println("Setup Buttons");
strip.setPixelColor(0,100,80,0);
strip.show();
pinMode(Button_A, INPUT_PULLUP);
pinMode(Button_B, INPUT_PULLUP);
pinMode(Button_C, INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
strip.setPixelColor(0,0,0,100);
strip.show();
if(!digitalRead(Button_A)) Serial.print("A");
if(!digitalRead(Button_B)) Serial.print("B");
if(!digitalRead(Button_C)) Serial.print("C");
delay(500);
}