#include "U8g2lib.h"
//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
# define ACTIVATED LOW
// initial states
boolean isPlaying = false;
boolean updateScreen = false;
// Buttons
int buttonPlayPause = 3;
int buttonNext = 2;
int buttonPrev = 4;
int testLed = 6;
// list of songs
int songArraySize = 2;
String songs[2] = {"The moon", "Fred"};
String name_song;
int songCounter;
void setup() {
pinMode(testLed, OUTPUT);
digitalWrite(testLed, HIGH);
pinMode(buttonPlayPause, INPUT);
digitalWrite(buttonPlayPause, HIGH);
pinMode(buttonNext, INPUT);
digitalWrite(buttonNext, HIGH);
pinMode(buttonPrev, INPUT);
digitalWrite(buttonPrev, HIGH);
songCounter = 1;
isPlaying = true;
u8g2.begin();
u8g2.firstPage();
do{
flashPage();
}while(u8g2.nextPage());
}
void loop() {
updateScreen = true;
// PLAY/PAUSE
if (digitalRead(buttonPlayPause) == ACTIVATED){
if(isPlaying)
{
digitalWrite(testLed, LOW);
delay(100);
isPlaying = false;
updateScreen = true;
delay(50);
}else
{
digitalWrite(testLed, HIGH);
delay(100);
isPlaying = true;
}
}
// NEXT
if (digitalRead(buttonNext) == ACTIVATED){
if(isPlaying)
{
if (songCounter == songArraySize){
songCounter = 1;
} else {
songCounter = songCounter + 1;
}
// u8g2.firstPage();
// do {
// draw_new_song(songCounter);
// } while (u8g2.nextPage() );
// delay(1000)
updateScreen = true;
delay(50);
}
}
// PREVIOUS
if (digitalRead(buttonPrev) == ACTIVATED){
if(isPlaying)
{
if (songCounter == 1){
songCounter = songArraySize;
} else {
songCounter = songCounter-1;
}
delay(500);
// u8g.firstPage();
// do {
// draw_new_song(songCounter);
// } while (u8g.nextPage() );
// delay(1000);
updateScreen = true;
delay(50);
}
}
//Updating the dispaly
if(updateScreen)
{
u8g2.firstPage();
do {player();
updateScreen = false;
}while ( u8g2.nextPage() );
}
}
Loading
ssd1306
ssd1306