Étape 7: Le code...
/*
Thermomètre issu des maximes DS600u + puce + RTC
*/
#include « U8glib.h »
#include < math.h >
#include < Wire.h >
#include < DS1307.h >
CCF int [7] ;
flotteur d’alimentation = 4.91 ; L’espèce doit être entré dans la tension mesurée de la carte arduino
lire la tension de sortie du capteur
heures de char [2] ;
minutes de char [2] ;
secondes de char [2] ;
jours de char [2] ;
mois de char [2] ;
ans de char [4] ;
U8GLIB_ST7920_128X64_4X u8g (8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16) ; 8 bit Com: D0... D7 : fr 8,9,10,11,4,5,6,7 = 18, di = 17, rw = 16
void u8g_prepare(void) {}
u8g.SetFont(u8g_font_6x10) ;
u8g.setFontRefHeightExtendedText() ;
u8g.setDefaultForegroundColor() ;
u8g.setFontPosTop() ;
}
void setup(void) {}
Serial.Begin(9600) ;
Flip écran, si nécessaire
u8g.setRot180() ;
assignez la valeur de couleur par défaut
Si (u8g.getMode() == U8G_MODE_R3G3B2)
u8g.setColorIndex(255) ; blanc
ElseIf (u8g.getMode() == U8G_MODE_GRAY2BIT)
u8g.setColorIndex(3) ; intensité max
ElseIf (u8g.getMode() == U8G_MODE_BW)
u8g.setColorIndex(1) ; pixel sur
u8g.setContrast(0x30) ;
pinMode (13, sortie) ;
digitalWrite (13, HIGH) ;
u8g_prepare() ;
}
void draw(void) {}
u8g.drawFrame(0,0,127,63) ;
u8g.drawFrame(13,7,103,21) ;
u8g.drawBox(15,9,99,17) ;
RTC.get(rtc,true) ;
u8g.setColorIndex(0) ;
dtostrf(RTC[2],2,0,hours) ;
Si (CCF [2] < 10)
{
u8g.drawStr(26,14,"0") ;
}
u8g.drawStr(26,14,hours) ;
dtostrf(RTC[1],2,0,minutes) ;
u8g.drawStr(45,14,":") ;
Si (CCF [1] < 10)
{
u8g.drawStr(58,14,"0") ;
}
u8g.drawStr(58,14,minutes) ;
dtostrf(RTC[0],2,0,seconds) ;
u8g.drawStr(78,14,":") ;
Si (CCF [0] < 10)
{
u8g.drawStr(91,14,"0") ;
}
u8g.drawStr(91,14,seconds) ;
u8g.setColorIndex(1) ;
commutateur (CCF [3])
{
cas 1: u8g.drawStr (4,33,"dimanche") ; rupture ;
cas 2: u8g.drawStr (4,33,"lundi") ; rupture ;
case 3: u8g.drawStr (4,33,"mardi") ; rupture ;
case 4: u8g.drawStr(4,33,"Wednesday") ; rupture ;
cas 5: u8g.drawStr (4,33, « Jeudi ») ; rupture ;
case 6: u8g.drawStr (4,33,"vendredi") ; rupture ;
cas 7: u8g.drawStr (4,33, « Samedi ») ; rupture ;
}
dtostrf(RTC[4],2,0,Days) ;
Si (CCF [4] < 10)
{
u8g.drawStr(64,33,"0") ;
}
u8g.drawStr(64,33,Days) ;
u8g.drawStr(75,33,".") ;
dtostrf(RTC[5],2,0,months) ;
Si (CCF [5] < 10)
{
u8g.drawStr(80,33,"0") ;
}
u8g.drawStr(80,33,months) ;
u8g.drawStr(90,33,".") ;
dtostrf(RTC[6],4,0,years) ;
u8g.drawStr(96,33,years) ;
lecture int = analogRead(0) ;
float v_out = (lecture * approvisionnement) / 1.024 ;
afficher sur l’écran LCD de la température
flotteur de température = (v_out - 509) / 6,45 ;
temp de char [5] ;
dtostrf(temperature,5,1,Temp) ;
u8g.drawStr(4,48,"Temperature:") ;
u8g.drawStr(76,48,Temp) ;
u8g.drawStr(108,48,"\260C") ;
}
void loop(void) {}
boucle de photo
u8g.FirstPage() ;
{}
Draw() ;
} tout en (u8g.nextPage()) ;
reconstruire l’image avec un certain retard
Delay(1000) ;
}
Comme vous le voyez ce code nécessite la bibliothèque DS1307. Je joins à cette bibliothèque pour vous aider avec les confusions causées par les différentes bibliothèques DS1307 disponibles.
Cela semble être la fin du projet:-).