#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
const int SCREEN_WIDTH = 128; // OLED display width, in pixels
const int 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(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
Serial.println(F("SSD1306 allocation failed"));
while(true);
}
}
void hijaukiri(){
digitalWrite(4, HIGH);
digitalWrite(3, LOW);
digitalWrite(2, LOW);
for(int i = 20; i >= 6; i--){
display.clearDisplay();
display.setTextSize(4);
display.setTextColor(WHITE);
display.setCursor(40,20);
display.println(i);
display.display();
delay(1000);
}
}
void kuningkiri(){
digitalWrite(4, LOW);
digitalWrite(3, HIGH);
digitalWrite(2, LOW);
for(int i = 5; i >= 1; i--){
display.clearDisplay();
display.setTextSize(4);
display.setTextColor(WHITE);
display.setCursor(40,20);
display.println(i);
display.display();
delay(1000);
}
}
void merahkiri(){
digitalWrite(4, LOW);
digitalWrite(3, LOW);
digitalWrite(2, HIGH);
for(int i = 40; i >= 6; i--){
display.clearDisplay();
display.setTextSize(4);
display.setTextColor(WHITE);
display.setCursor(40,20);
display.println(i);
display.display();
delay(1000);
}
}
void loop() {
hijaukiri();
kuningkiri();
merahkiri();
}