Dernière partie :
void drawRefreshPHscreen () {
myGLCD.setColor(255,255,255);
myGLCD.setFont(BigFont);//numéro 32x50 pixels
myGLCD.printNumF(NewpHmin,1,10,140);
myGLCD.printNumF(NewpHmax,1,101,140);
}
void drawTemperaturescreen () {
// Air Temperature
myGLCD.setBackColor(0, 0, 0);
myGLCD.setFont(BigFont);
myGLCD.setColor(255,255,0);// Yellow
myGLCD.print("Temperature setpoint", 0, 10);
myGLCD.print("Air", 40, 30);
myGLCD.setFont(SmallFont);
myGLCD.print("MIN.", 10,50);
myGLCD.setColor(0,255,0);// Green
myGLCD.fillRect(20,80,50,90);// faire une forme de +
myGLCD.fillRect(30,70,40,100) ;
myGLCD.drawCircle (35,85,20);
myGLCD.setColor(255,0,0);
myGLCD.fillRect(20,210,50,220) ; // faire une forme de -
myGLCD.drawCircle (35,215,20);
myGLCD.setColor(255,255,255);
myGLCD.drawRoundRect(9,130,60,180);
myGLCD.setFont(BigFont);//numéro 32x50 pixels
myGLCD.printNumI("10",10,140);
//lignes de séparation min/max
myGLCD.setColor(255,255,54);
myGLCD.drawLine(80,60,80,310);
myGLCD.setColor(255,255,0);
myGLCD.setFont(SmallFont);
myGLCD.print("MAX.",95,50);
myGLCD.setColor(0,255,0);// Green
myGLCD.fillRect(110,80,140,90);// faire une forme de +
myGLCD.fillRect(120,70,130,100) ;
myGLCD.drawCircle (125,85,20);
myGLCD.setColor(255,0,0);
myGLCD.fillRect(110,210,140,220) ; // faire une forme de -
myGLCD.drawCircle (125,215,20);
myGLCD.setColor(255,255,255);
myGLCD.drawRoundRect(100,130,150,180);
myGLCD.setFont(BigFont);//numéro 32x50 pixels
myGLCD.printNumI("20",101,140);
//lignes de séparation Air Temp / Water Temp
myGLCD.setColor(255,255,54);
myGLCD.drawLine(158,60,158,310);
myGLCD.drawLine(162,60,162,310);
// Water Temperature
myGLCD.setBackColor(0, 0, 0);
myGLCD.setFont(BigFont);
myGLCD.setColor(255,255,0);// Yellow
myGLCD.print("Water", 200, 30);
myGLCD.setFont(SmallFont);
myGLCD.print("MIN.", 170,50);
myGLCD.setColor(0,255,0);// Green
myGLCD.fillRect(180,80,210,90);// faire une forme de +
myGLCD.fillRect(190,70,200,100) ;
myGLCD.drawCircle (195,85,20);
myGLCD.setColor(255,0,0);
myGLCD.fillRect(180,210,210,220) ; // faire une forme de -
myGLCD.drawCircle (195,215,20);
myGLCD.setColor(255,255,255);
myGLCD.drawRoundRect(169,130,220,180);
myGLCD.setFont(BigFont);//numéro 32x50 pixels
myGLCD.printNumI("10",10,140);
//lignes de séparation min/max
myGLCD.setColor(255,255,54);
myGLCD.drawLine(230,60,230,310);
myGLCD.setColor(255,255,0);
myGLCD.setFont(SmallFont);
myGLCD.print("MAX.",235,50);
myGLCD.setColor(0,255,0);// Green
myGLCD.fillRect(250,80,280,90);// faire une forme de +
myGLCD.fillRect(260,70,270,100) ;
myGLCD.drawCircle (265,85,20);
myGLCD.setColor(255,0,0);
myGLCD.fillRect(250,210,280,220) ; // faire une forme de -
myGLCD.drawCircle (265,215,20);
myGLCD.setColor(255,255,255);
myGLCD.drawRoundRect(240,130,290,180);
myGLCD.setFont(BigFont);//numéro 32x50 pixels
myGLCD.printNumI("20",241,140);
myGLCD.setFont(SmallFont);
myGLCD.print("SAVE",280,20);
myFiles.load(270,195,40,40,"home.raw", 1);
// myGLCD.print("HOME",280,220);
}
void drawpHSensorCalibrationscreen (){
myGLCD.setBackColor(0, 0, 0);
myGLCD.setFont(BigFont);
myGLCD.setColor(255,255,0);// Yellow
myGLCD.print("pH calibration", 0, 10);
myGLCD.setColor(255,255,255);//
myGLCD.setFont(SmallFont);
myGLCD.print("point 1", 80,50);
myGLCD.drawRoundRect(80,90,120,120);
myGLCD.fillRect(95,76,105,80);// + button
myGLCD.fillRect(98,73,102,83);
myGLCD.drawCircle(100,78,8);
myGLCD.fillRect(95,135,105,140);//- button
myGLCD.drawCircle(100,138,8);
myGLCD.printNumF(pH1Real,1,85,100);
myGLCD.print("point 2", 160,50);
myGLCD.drawRoundRect(165,90,205,120);
myGLCD.fillRect(180,76,190,80);// + button
myGLCD.fillRect(183,73,187,83);
myGLCD.drawCircle(185,78,8);
myGLCD.fillRect(180,135,190,140);//- button
myGLCD.drawCircle(185,138,8);
myGLCD.printNumF(pH2Real,1,170,100);
myGLCD.print("Real pH", 5,100);
myGLCD.print("Analog" , 5,160);
myGLCD.print(" read pH", 5,170);
myGLCD.setColor(255,150,150);
myGLCD.fillRoundRect(80,200,120,230); //button to record the analog value
myGLCD.fillRoundRect(165,200,205,230);
myGLCD.setColor(255,255,255);
myGLCD.drawRoundRect(80,200,120,230);
myGLCD.drawRoundRect(165,200,205,230);
myGLCD.setBackColor(255,150,150);
myGLCD.print("Read", 85,210);
myGLCD.print("Read", 170,210);
myGLCD.setColor(0,0,250);
myGLCD.fillRoundRect(235,90,315,120);
myGLCD.setColor(255,255,255);
myGLCD.drawRoundRect(235,90,315,120);
myGLCD.setBackColor(0,0,250);
myGLCD.print("Calibrate", 240,100);
myGLCD.setBackColor(0,0,0);
//ligne de séparation avec Calibrate
myGLCD.setColor(255,255,54);
myGLCD.drawLine(220,50,220,310);
myGLCD.drawLine(50,65,220,65);
myGLCD.drawLine(50,150,220,150);
myGLCD.drawLine(140,50,140,230);
//myGLCD.print("HOME",280,220);
myFiles.load(270,195,40,40,"home.raw", 1);
}
void drawRefreshpHSensorCalibrationscreen (){
myGLCD.printNumF(pH2Real,1,170,100);
myGLCD.printNumF(pH1Real,1,85,100);
}
void pH1Read () {
pH1AnalogRead = analogRead (pHPin) ;
myGLCD.printNumI(pH1AnalogRead,85,165);
checkpH1Read =1;
}
void pH2Read () {
pH2AnalogRead = analogRead (pHPin) ;
myGLCD.printNumI(pH2AnalogRead,170,165);
checkpH2Read=1;
}
void pHSensorCalibration () {
if (checkpH1Read ==1 && checkpH2Read==1) { //No calibrating possible without Readings
pHSlope = ((pH1Real - pH2Real)/(pH1AnalogRead -pH2AnalogRead));
pHOffset = (pH1Real- (pH1AnalogRead*pHSlope));
myGLCD.print("Calibrated!", 225,140);
myGLCD.print("Slope =", 225,170);
myGLCD.printNumF(pHSlope,2,280,170);
myGLCD.print("Offset=", 225,190);
myGLCD.printNumF(pHOffset,1,280,190);
checkpH2Read=0;
checkpH1Read =0;
}
else {
myGLCD.print("Read values", 240,80);
myGLCD.print(" first!", 240,90);
}
}