1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| #include <stdio.h>
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI
int heures;
int minutes;
int secondes;
long int millisecondes;
void gestion_heure( int *heures, int *minutes, int *secondes, long int *millisecondes)
{
*millisecondes=millis();
*secondes = *millisecondes / 1000;
if (*secondes>59){
*secondes=0;
*minutes++=1;
}
if (*minutes>59){
*minutes=0;
*heures++=1;
}
if (*heures>24){
*heures=0;
}
Serial.print(*heures);
Serial.print(" : ");
Serial.print(*minutes);
Serial.print(" : ");
Serial.print(*secondes);
Serial.print(" : ");
Serial.println(*millisecondes);
}
void draw(void) {
// graphic commands to redraw the complete screen should be placed here
//u8g.setFont(u8g_font_unifont);
//u8g.setFont(u8g_font_fur35n); //choix de la police cf github
//u8g_DrawStr(u8g, 40, 50, "A");
//u8g.drawStr( 1, 36, "E"); //numéro de ligne du pixel supérieur, numero de ligne du pixel inférieur, variable
u8g.setFont(u8g_font_unifont);
//u8g.setFont(u8g_font_fur35n);
u8g.setPrintPos(0, 36);
// call procedure from base class, http://arduino.cc/en/Serial/Print
u8g.print(heures);
u8g.print(":");
u8g.print(secondes);
}
void setup(void) {
Serial.begin(9600);
// flip screen, if required
// u8g.setRot180();
// set SPI backup if required
//u8g.setHardwareBackup(u8g_backup_avr_spi);
// assign default color value
if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
u8g.setColorIndex(255); // white
}
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
u8g.setColorIndex(3); // max intensity
}
else if ( u8g.getMode() == U8G_MODE_BW ) {
u8g.setColorIndex(1); // Ecriture en blanc sur fond noir (1) ou noir sur fond blanc (0)
}
else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
u8g.setHiColorByRGB(255,255,255);
}
pinMode(8, OUTPUT);
}
void loop(void) {
// picture loop
u8g.firstPage();
do {
draw();
gestion_heure( &heures, &minutes, &secondes, &millisecondes);
} while( u8g.nextPage() );
// rebuild the picture after some delay
delay(200);
} |
Partager