#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "RTClib.h"
// OLED FeatherWing buttons map to different pins depending on board.
// The I2C (Wire) bus may also be different.
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
RTC_DS1307 rtc;
#define C_X 63
#define C_Y 31
void setup() {
rtc.begin();
display.begin(SSD1306_SWITCHCAPVCC, 0x3c); // Address 0x3C for 128x32
display.display();
delay(1000);
display.clearDisplay();
display.drawCircle(C_X,C_Y,31,SSD1306_WHITE);
display.display();
}
float a=45;
float theta_r,x,y;
int i=360;
int h=0,m=0,t;
void loop(){
//display.clearDisplay();
DateTime now=rtc.now();
h=now.hour();
m=now.minute();
display.drawCircle(C_X,C_Y,31,SSD1306_WHITE);
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,30);
display.print(h);
display.print(":");
display.print(m);
//t=(15-h)*30+(15-h)*m/60.0;
t=90-h*30-m*5/60.0;
//draw_hours
//算出度數
theta_r=t*(PI/180.0);
x=C_X+15*cos(theta_r);
y=C_Y-15*sin(theta_r);
display.drawLine(C_X,C_Y,x,y,SSD1306_WHITE);
t=90-m*6;
theta_r=t*(PI/180.0);
x=C_X+25*cos(theta_r);
y=C_Y-25*sin(theta_r);
display.drawLine(C_X,C_Y,x,y,SSD1306_WHITE);
display.display();
display.clearDisplay();
}