Alan Ffrench / Mbed 2 deprecated ChlorineCentral

Dependencies:   mbed

Committer:
alanffrench
Date:
Fri Jul 31 17:21:00 2020 +0000
Revision:
0:f4a7cf9ea593
Chlorine Monitor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alanffrench 0:f4a7cf9ea593 1 #include "mbed.h"
alanffrench 0:f4a7cf9ea593 2 #include "C12832_lcd.h"
alanffrench 0:f4a7cf9ea593 3
alanffrench 0:f4a7cf9ea593 4 const float WaterSetPoint = 0.5f;
alanffrench 0:f4a7cf9ea593 5
alanffrench 0:f4a7cf9ea593 6
alanffrench 0:f4a7cf9ea593 7 C12832_LCD lcd; //define object lcd
alanffrench 0:f4a7cf9ea593 8
alanffrench 0:f4a7cf9ea593 9 AnalogIn WaterLevelSensor(p19); //Left pot simulates level of water
alanffrench 0:f4a7cf9ea593 10 AnalogIn ChlorineLevelSensor(p20); //right pot simulater level of chlorine
alanffrench 0:f4a7cf9ea593 11
alanffrench 0:f4a7cf9ea593 12
alanffrench 0:f4a7cf9ea593 13
alanffrench 0:f4a7cf9ea593 14 int main()
alanffrench 0:f4a7cf9ea593 15 {
alanffrench 0:f4a7cf9ea593 16
alanffrench 0:f4a7cf9ea593 17 lcd.cls(); //clear lcd
alanffrench 0:f4a7cf9ea593 18 lcd.set_contrast(15); //lcd contrast set value 15 (0-63)
alanffrench 0:f4a7cf9ea593 19
alanffrench 0:f4a7cf9ea593 20
alanffrench 0:f4a7cf9ea593 21 while(1) {
alanffrench 0:f4a7cf9ea593 22 lcd.cls();
alanffrench 0:f4a7cf9ea593 23 float WaterLevel = WaterLevelSensor;
alanffrench 0:f4a7cf9ea593 24 float ChlorineLevel = ChlorineLevelSensor;
alanffrench 0:f4a7cf9ea593 25
alanffrench 0:f4a7cf9ea593 26 lcd.locate(0,0);
alanffrench 0:f4a7cf9ea593 27 lcd.printf("Chlorine : %.2f",ChlorineLevel);
alanffrench 0:f4a7cf9ea593 28
alanffrench 0:f4a7cf9ea593 29 lcd.locate(0,9);
alanffrench 0:f4a7cf9ea593 30 lcd.printf("Water : %.2f",WaterLevel);
alanffrench 0:f4a7cf9ea593 31
alanffrench 0:f4a7cf9ea593 32 float WaterError = WaterSetPoint - WaterLevel;
alanffrench 0:f4a7cf9ea593 33
alanffrench 0:f4a7cf9ea593 34 if(WaterError > 0) {
alanffrench 0:f4a7cf9ea593 35 lcd.locate(0,18);
alanffrench 0:f4a7cf9ea593 36 lcd.printf("Pump ON ");
alanffrench 0:f4a7cf9ea593 37 } else {
alanffrench 0:f4a7cf9ea593 38 lcd.locate(0,18);
alanffrench 0:f4a7cf9ea593 39 lcd.printf("Pump OFF");
alanffrench 0:f4a7cf9ea593 40 }
alanffrench 0:f4a7cf9ea593 41
alanffrench 0:f4a7cf9ea593 42 if(WaterError > 0) {
alanffrench 0:f4a7cf9ea593 43 lcd.locate(0,18);
alanffrench 0:f4a7cf9ea593 44 lcd.printf("Pump ON ");
alanffrench 0:f4a7cf9ea593 45 } else {
alanffrench 0:f4a7cf9ea593 46 lcd.locate(0,18);
alanffrench 0:f4a7cf9ea593 47 lcd.printf("Pump OFF");
alanffrench 0:f4a7cf9ea593 48 }
alanffrench 0:f4a7cf9ea593 49
alanffrench 0:f4a7cf9ea593 50 if(ChlorineLevel > 0.2f) {
alanffrench 0:f4a7cf9ea593 51 lcd.locate(50,18);
alanffrench 0:f4a7cf9ea593 52 lcd.printf("Cl:OFF");
alanffrench 0:f4a7cf9ea593 53 }
alanffrench 0:f4a7cf9ea593 54 if((ChlorineLevel <=0.2)&&(ChlorineLevel> 0.1f)) {
alanffrench 0:f4a7cf9ea593 55 lcd.locate(50,18);
alanffrench 0:f4a7cf9ea593 56 lcd.printf("Cl: 1 shot");
alanffrench 0:f4a7cf9ea593 57 }
alanffrench 0:f4a7cf9ea593 58 if(ChlorineLevel <=0.1) {
alanffrench 0:f4a7cf9ea593 59 lcd.locate(50,18);
alanffrench 0:f4a7cf9ea593 60 lcd.printf("Cl: 2 shots");
alanffrench 0:f4a7cf9ea593 61 }
alanffrench 0:f4a7cf9ea593 62
alanffrench 0:f4a7cf9ea593 63
alanffrench 0:f4a7cf9ea593 64
alanffrench 0:f4a7cf9ea593 65
alanffrench 0:f4a7cf9ea593 66
alanffrench 0:f4a7cf9ea593 67 wait(1);
alanffrench 0:f4a7cf9ea593 68 }
alanffrench 0:f4a7cf9ea593 69 }