Final Project FRA221 Force Plate by Load Cell Group 11A

Dependencies:   HX711 LCD4884 mbed

Committer:
kra_tiam
Date:
Wed Dec 09 03:56:18 2015 +0000
Revision:
0:79d6f6a8aa45
Final Project by TIAM

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kra_tiam 0:79d6f6a8aa45 1 #include "mbed.h"
kra_tiam 0:79d6f6a8aa45 2 #include "HX711.h"
kra_tiam 0:79d6f6a8aa45 3 #include "LCD4884.h"
kra_tiam 0:79d6f6a8aa45 4 #include "string.h"
kra_tiam 0:79d6f6a8aa45 5 #include <cmath>
kra_tiam 0:79d6f6a8aa45 6 #define standard_poid (float)0.030
kra_tiam 0:79d6f6a8aa45 7 #define standard_kilo (float)0.2
kra_tiam 0:79d6f6a8aa45 8 LCD4884 lcd;
kra_tiam 0:79d6f6a8aa45 9 Serial pc(USBTX,USBRX);
kra_tiam 0:79d6f6a8aa45 10 Serial dataserial(PA_11,PA_12);
kra_tiam 0:79d6f6a8aa45 11 HX711 mudule1(PA_9, PC_7);
kra_tiam 0:79d6f6a8aa45 12 HX711 mudule2(PB_6, PA_7);
kra_tiam 0:79d6f6a8aa45 13 HX711 mudule3(PA_6, PA_5);
kra_tiam 0:79d6f6a8aa45 14 HX711 mudule4(PB_9, PB_8);
kra_tiam 0:79d6f6a8aa45 15 float find_kilo(float valeur,float valeurTare);
kra_tiam 0:79d6f6a8aa45 16 class Find_kg
kra_tiam 0:79d6f6a8aa45 17 {
kra_tiam 0:79d6f6a8aa45 18 public:
kra_tiam 0:79d6f6a8aa45 19 Find_kg();
kra_tiam 0:79d6f6a8aa45 20 ~Find_kg();
kra_tiam 0:79d6f6a8aa45 21 float find_kilo(float valeur,float valeurTare);
kra_tiam 0:79d6f6a8aa45 22 private:
kra_tiam 0:79d6f6a8aa45 23 float poid[2];
kra_tiam 0:79d6f6a8aa45 24 float kilo;
kra_tiam 0:79d6f6a8aa45 25 float diff_poids;
kra_tiam 0:79d6f6a8aa45 26 };
kra_tiam 0:79d6f6a8aa45 27
kra_tiam 0:79d6f6a8aa45 28 int main()
kra_tiam 0:79d6f6a8aa45 29 {
kra_tiam 0:79d6f6a8aa45 30
kra_tiam 0:79d6f6a8aa45 31 lcd.LCD_init();
kra_tiam 0:79d6f6a8aa45 32 lcd.backlight(ON);
kra_tiam 0:79d6f6a8aa45 33 pc.baud(115200);
kra_tiam 0:79d6f6a8aa45 34 Find_kg loadcell_1;
kra_tiam 0:79d6f6a8aa45 35 Find_kg loadcell_2;
kra_tiam 0:79d6f6a8aa45 36 Find_kg loadcell_3;
kra_tiam 0:79d6f6a8aa45 37 Find_kg loadcell_4;
kra_tiam 0:79d6f6a8aa45 38 long valeur1,valeurTare1;
kra_tiam 0:79d6f6a8aa45 39 long valeur2,valeurTare2;
kra_tiam 0:79d6f6a8aa45 40 long valeur3,valeurTare3;
kra_tiam 0:79d6f6a8aa45 41 long valeur4,valeurTare4;
kra_tiam 0:79d6f6a8aa45 42 valeurTare1 = mudule1.getValue();
kra_tiam 0:79d6f6a8aa45 43 valeurTare2 = mudule2.getValue();
kra_tiam 0:79d6f6a8aa45 44 valeurTare3 = mudule3.getValue();
kra_tiam 0:79d6f6a8aa45 45 valeurTare4 = mudule4.getValue();
kra_tiam 0:79d6f6a8aa45 46 Find_kg loadcell_5;
kra_tiam 0:79d6f6a8aa45 47 Find_kg loadcell_6;
kra_tiam 0:79d6f6a8aa45 48 Find_kg loadcell_7;
kra_tiam 0:79d6f6a8aa45 49 Find_kg loadcell_8;
kra_tiam 0:79d6f6a8aa45 50 uint8_t state_show=0;
kra_tiam 0:79d6f6a8aa45 51 uint8_t state_exit =0;
kra_tiam 0:79d6f6a8aa45 52 uint8_t data;
kra_tiam 0:79d6f6a8aa45 53 float module1,module2,module3,module4;
kra_tiam 0:79d6f6a8aa45 54 int check_data=0;
kra_tiam 0:79d6f6a8aa45 55 int gram_output;
kra_tiam 0:79d6f6a8aa45 56 int state_mass =0;
kra_tiam 0:79d6f6a8aa45 57 int state_select=0;
kra_tiam 0:79d6f6a8aa45 58 float kilo_output;
kra_tiam 0:79d6f6a8aa45 59 float kilo_output1,kilo_output2;
kra_tiam 0:79d6f6a8aa45 60 int state_output=0;
kra_tiam 0:79d6f6a8aa45 61 int state_calibrate=0;
kra_tiam 0:79d6f6a8aa45 62 int kilo_calibrate[4];
kra_tiam 0:79d6f6a8aa45 63 int state_onemass=0,state_multiple_mass=0;
kra_tiam 0:79d6f6a8aa45 64 char str[50];
kra_tiam 0:79d6f6a8aa45 65 char str1[50];
kra_tiam 0:79d6f6a8aa45 66 char str2[50];
kra_tiam 0:79d6f6a8aa45 67 pc.printf("START Application !\n");
kra_tiam 0:79d6f6a8aa45 68 lcd.LCD_write_string(0,0,"START Application !",0);
kra_tiam 0:79d6f6a8aa45 69 wait(3);
kra_tiam 0:79d6f6a8aa45 70 lcd.LCD_clear();
kra_tiam 0:79d6f6a8aa45 71 while(1) {
kra_tiam 0:79d6f6a8aa45 72 if(state_select==0) {
kra_tiam 0:79d6f6a8aa45 73 pc.printf("Please calibrate mass of each plate. \n");
kra_tiam 0:79d6f6a8aa45 74 lcd.LCD_write_string(0,0,"Please calibrate mass of each plate.",0);
kra_tiam 0:79d6f6a8aa45 75 state_select=1;
kra_tiam 0:79d6f6a8aa45 76 }
kra_tiam 0:79d6f6a8aa45 77 module1=0;
kra_tiam 0:79d6f6a8aa45 78 module2=0;
kra_tiam 0:79d6f6a8aa45 79 module3=0;
kra_tiam 0:79d6f6a8aa45 80 module4=0;
kra_tiam 0:79d6f6a8aa45 81 // wait_ms(1000);
kra_tiam 0:79d6f6a8aa45 82 valeur1 = mudule1.getValue();
kra_tiam 0:79d6f6a8aa45 83 valeur2 = mudule2.getValue();
kra_tiam 0:79d6f6a8aa45 84 valeur3 = mudule3.getValue();
kra_tiam 0:79d6f6a8aa45 85 valeur4 = mudule4.getValue();
kra_tiam 0:79d6f6a8aa45 86 module1=loadcell_1.find_kilo(valeur1,valeurTare1);
kra_tiam 0:79d6f6a8aa45 87 module2=loadcell_2.find_kilo(valeur2,valeurTare2);
kra_tiam 0:79d6f6a8aa45 88 module3=loadcell_3.find_kilo(valeur3,valeurTare3);
kra_tiam 0:79d6f6a8aa45 89 module4=loadcell_4.find_kilo(valeur4,valeurTare4);
kra_tiam 0:79d6f6a8aa45 90 if(state_calibrate==0) {
kra_tiam 0:79d6f6a8aa45 91 if(module1>=1 || module2>=1 || module3>=1 || module4>=1) {
kra_tiam 0:79d6f6a8aa45 92 kilo_calibrate[0]=module1;
kra_tiam 0:79d6f6a8aa45 93 kilo_calibrate[1]=module2;
kra_tiam 0:79d6f6a8aa45 94 kilo_calibrate[2]=module3;
kra_tiam 0:79d6f6a8aa45 95 kilo_calibrate[3]=module4;
kra_tiam 0:79d6f6a8aa45 96 state_calibrate=1;
kra_tiam 0:79d6f6a8aa45 97 }
kra_tiam 0:79d6f6a8aa45 98 }
kra_tiam 0:79d6f6a8aa45 99
kra_tiam 0:79d6f6a8aa45 100 if (kilo_calibrate[0]>=1 && kilo_calibrate[1]==0 && kilo_calibrate[2]==0 && kilo_calibrate[3]==0 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 101 state_onemass=1;
kra_tiam 0:79d6f6a8aa45 102 } else if(kilo_calibrate[0]==0 && kilo_calibrate[1]>=1 && kilo_calibrate[2]==0 && kilo_calibrate[3]==0 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 103 state_onemass=1;
kra_tiam 0:79d6f6a8aa45 104 } else if(kilo_calibrate[0]==0 && kilo_calibrate[1]==0 && kilo_calibrate[2]>=1 && kilo_calibrate[3]==0 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 105 state_onemass=1;
kra_tiam 0:79d6f6a8aa45 106 } else if(kilo_calibrate[0]==0 && kilo_calibrate[1]==0 && kilo_calibrate[2]==0 && kilo_calibrate[3]>=1 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 107 state_onemass=1;
kra_tiam 0:79d6f6a8aa45 108 } else {
kra_tiam 0:79d6f6a8aa45 109 state_onemass=0;
kra_tiam 0:79d6f6a8aa45 110 }
kra_tiam 0:79d6f6a8aa45 111
kra_tiam 0:79d6f6a8aa45 112 if (kilo_calibrate[0]>=1 && kilo_calibrate[1]>=1 && kilo_calibrate[2]==0 &&kilo_calibrate[3]==0 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 113 state_multiple_mass=1;
kra_tiam 0:79d6f6a8aa45 114 } else if(kilo_calibrate[0]==0 && kilo_calibrate[1]>=1 && kilo_calibrate[2]>=1 &&kilo_calibrate[3]==0 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 115 state_multiple_mass=1;
kra_tiam 0:79d6f6a8aa45 116 } else if(kilo_calibrate[0]>=1 && kilo_calibrate[1]==0 && kilo_calibrate[2]>=1 &&kilo_calibrate[3]==0 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 117 state_multiple_mass=1;
kra_tiam 0:79d6f6a8aa45 118 } else if(kilo_calibrate[0]>=1 && kilo_calibrate[1]==0 && kilo_calibrate[2]==0 &&kilo_calibrate[3]>=1 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 119 state_multiple_mass=1;
kra_tiam 0:79d6f6a8aa45 120 } else if(kilo_calibrate[0]==0 && kilo_calibrate[1]>=1 && kilo_calibrate[2]==0 &&kilo_calibrate[3]>=1 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 121 state_multiple_mass=1;
kra_tiam 0:79d6f6a8aa45 122 } else if(kilo_calibrate[0]==0 && kilo_calibrate[1]==0 && kilo_calibrate[2]>=1 &&kilo_calibrate[3]>=1 && state_calibrate==1) {
kra_tiam 0:79d6f6a8aa45 123 state_multiple_mass=1;
kra_tiam 0:79d6f6a8aa45 124 } else {
kra_tiam 0:79d6f6a8aa45 125 state_multiple_mass=0;
kra_tiam 0:79d6f6a8aa45 126 }
kra_tiam 0:79d6f6a8aa45 127
kra_tiam 0:79d6f6a8aa45 128 if(state_onemass==1&&state_multiple_mass!=1) {
kra_tiam 0:79d6f6a8aa45 129
kra_tiam 0:79d6f6a8aa45 130 if(module1>standard_kilo && module2<standard_kilo && module3<standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 131 state_mass =1;
kra_tiam 0:79d6f6a8aa45 132 kilo_output = module1;
kra_tiam 0:79d6f6a8aa45 133 pc.printf("Mass of 5 plate.\n");
kra_tiam 0:79d6f6a8aa45 134 lcd.LCD_write_string(0,1,"On 5 plate.",0);
kra_tiam 0:79d6f6a8aa45 135 } else if(module1>standard_kilo && module2>standard_kilo && module3<standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 136 state_mass =2;
kra_tiam 0:79d6f6a8aa45 137 kilo_output = module1+module2;
kra_tiam 0:79d6f6a8aa45 138 pc.printf("Mass of 5 and 6 plate.\n");
kra_tiam 0:79d6f6a8aa45 139 lcd.LCD_write_string(0,1,"On 5 and 6 plate.",0);
kra_tiam 0:79d6f6a8aa45 140 } else if(module1>standard_kilo && module2<standard_kilo && module3>standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 141 state_mass =3;
kra_tiam 0:79d6f6a8aa45 142 kilo_output = module1+module3;
kra_tiam 0:79d6f6a8aa45 143 pc.printf("Mass of 5 and 7 plate.\n");
kra_tiam 0:79d6f6a8aa45 144 lcd.LCD_write_string(0,1,"On 5 and 7 plate.",0);
kra_tiam 0:79d6f6a8aa45 145 } else if(module1>standard_kilo && module2>standard_kilo && module3>standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 146 state_mass =4;
kra_tiam 0:79d6f6a8aa45 147 kilo_output = module1+module2+module3+module4;
kra_tiam 0:79d6f6a8aa45 148 pc.printf("Mass in the center of 5,6,7,8 plate.\n");
kra_tiam 0:79d6f6a8aa45 149 lcd.LCD_write_string(0,1,"Center of 5,6,7,8 plate.",0);
kra_tiam 0:79d6f6a8aa45 150 } else if(module1<standard_kilo && module2>standard_kilo && module3<standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 151 state_mass =5;
kra_tiam 0:79d6f6a8aa45 152 kilo_output = module2;
kra_tiam 0:79d6f6a8aa45 153 pc.printf("Mass of 6 plate.\n");
kra_tiam 0:79d6f6a8aa45 154 lcd.LCD_write_string(0,1,"On 6 plate.",0);
kra_tiam 0:79d6f6a8aa45 155 } else if(module1<standard_kilo && module2>standard_kilo && module3<standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 156 state_mass =6;
kra_tiam 0:79d6f6a8aa45 157 kilo_output = module2+module4;
kra_tiam 0:79d6f6a8aa45 158 pc.printf("Mass of 6 and 8 plate.\n");
kra_tiam 0:79d6f6a8aa45 159 lcd.LCD_write_string(0,1,"On 6 and 8 plate.",0);
kra_tiam 0:79d6f6a8aa45 160 } else if(module1<standard_kilo && module2<standard_kilo && module3>standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 161 state_mass =7;
kra_tiam 0:79d6f6a8aa45 162 kilo_output = module3;
kra_tiam 0:79d6f6a8aa45 163 pc.printf("Mass of 7 plate. \n");
kra_tiam 0:79d6f6a8aa45 164 lcd.LCD_write_string(0,1,"Mass of 7 plate.",0);
kra_tiam 0:79d6f6a8aa45 165 } else if(module1<standard_kilo && module2<standard_kilo && module3>standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 166 state_mass =8;
kra_tiam 0:79d6f6a8aa45 167 kilo_output = module3+module4;
kra_tiam 0:79d6f6a8aa45 168 pc.printf("Mass of 7 and 8 plate.\n");
kra_tiam 0:79d6f6a8aa45 169 lcd.LCD_write_string(0,1,"On 7 and 8 plate.",0);
kra_tiam 0:79d6f6a8aa45 170 } else if(module1<standard_kilo && module2<standard_kilo && module3<standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 171 state_mass =9;
kra_tiam 0:79d6f6a8aa45 172 kilo_output = module4;
kra_tiam 0:79d6f6a8aa45 173 pc.printf("Mass of 8 plate.\n");
kra_tiam 0:79d6f6a8aa45 174 lcd.LCD_write_string(0,1,"On 8 plate.",0);
kra_tiam 0:79d6f6a8aa45 175 } else {
kra_tiam 0:79d6f6a8aa45 176 kilo_output =0;
kra_tiam 0:79d6f6a8aa45 177 //pc.printf("Undetect mass of 4 plate.\n");
kra_tiam 0:79d6f6a8aa45 178 }
kra_tiam 0:79d6f6a8aa45 179
kra_tiam 0:79d6f6a8aa45 180 pc.printf("Kg : %.3f kg\n",kilo_output);
kra_tiam 0:79d6f6a8aa45 181 sprintf(str,"Kg : %.3f kg",kilo_output);
kra_tiam 0:79d6f6a8aa45 182 lcd.LCD_write_string(0,2,str,0);
kra_tiam 0:79d6f6a8aa45 183 }
kra_tiam 0:79d6f6a8aa45 184 //wait(1);
kra_tiam 0:79d6f6a8aa45 185 //lcd.LCD_clear();
kra_tiam 0:79d6f6a8aa45 186 else if (state_multiple_mass==1) {
kra_tiam 0:79d6f6a8aa45 187 if(module1>standard_kilo && module2>standard_kilo && module3<standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 188 kilo_output1=module1;
kra_tiam 0:79d6f6a8aa45 189 kilo_output2=module2;
kra_tiam 0:79d6f6a8aa45 190 pc.printf("Mass 1 on 5 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 191 sprintf(str1,"Mass 1 on 5 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 192 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 193 pc.printf("Mass 2 of 6 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 194 sprintf(str2,"Mass 2 on 6 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 195 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 196 } else if(module1>standard_kilo && module2<standard_kilo && module3>standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 197 kilo_output1=module1;
kra_tiam 0:79d6f6a8aa45 198 kilo_output2=module3;
kra_tiam 0:79d6f6a8aa45 199 pc.printf("Mass 1 of 5 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 200 sprintf(str1,"Mass 1 on 5 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 201 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 202 pc.printf("Mass 2 of 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 203 sprintf(str2,"Mass 2 on 7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 204 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 205 } else if(module1>standard_kilo && module2<standard_kilo && module3<standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 206 kilo_output1=module1;
kra_tiam 0:79d6f6a8aa45 207 kilo_output2=module4;
kra_tiam 0:79d6f6a8aa45 208 pc.printf("Mass 1 of 5 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 209 sprintf(str1,"Mass 1 on 5 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 210 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 211 pc.printf("Mass 2 of 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 212 sprintf(str2,"Mass 2 on 8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 213 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 214 } else if(module1<standard_kilo && module2>standard_kilo && module3>standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 215 kilo_output1=module2;
kra_tiam 0:79d6f6a8aa45 216 kilo_output2=module3;
kra_tiam 0:79d6f6a8aa45 217 pc.printf("Mass 1 of 6 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 218 sprintf(str1,"Mass 1 on 6 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 219 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 220 pc.printf("Mass 2 of 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 221 sprintf(str2,"Mass 2 on 7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 222 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 223 } else if(module1<standard_kilo && module2>standard_kilo && module3<standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 224 kilo_output1=module2;
kra_tiam 0:79d6f6a8aa45 225 kilo_output2=module4;
kra_tiam 0:79d6f6a8aa45 226 pc.printf("Mass 1 of 6 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 227 sprintf(str1,"Mass 1 on 6 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 228 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 229 pc.printf("Mass 2 of 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 230 sprintf(str2,"Mass 2 on 8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 231 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 232 } else if(module1<standard_kilo && module2<standard_kilo && module3>standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 233 kilo_output1=module3;
kra_tiam 0:79d6f6a8aa45 234 kilo_output2=module4;
kra_tiam 0:79d6f6a8aa45 235 pc.printf("Mass 1 of 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 236 sprintf(str1,"Mass 1 on 7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 237 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 238 pc.printf("Mass 2 of 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 239 sprintf(str2,"Mass 2 on 8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 240 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 241 } else if(module1>standard_kilo && module2>standard_kilo && module3>standard_kilo && module4<standard_kilo) {
kra_tiam 0:79d6f6a8aa45 242 if(module1>module2 && module1>module3) {
kra_tiam 0:79d6f6a8aa45 243 kilo_output1=module1;
kra_tiam 0:79d6f6a8aa45 244 kilo_output2=module2+module3;
kra_tiam 0:79d6f6a8aa45 245 pc.printf("Mass 1 of 5 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 246 sprintf(str1,"Mass 1 on 5 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 247 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 248 pc.printf("Mass 2 between 6 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 249 sprintf(str2,"Mass 2 on 6,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 250 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 251 } else if(module2>module1 && module2>module3) {
kra_tiam 0:79d6f6a8aa45 252 kilo_output1=module2;
kra_tiam 0:79d6f6a8aa45 253 kilo_output2=module1+module3;
kra_tiam 0:79d6f6a8aa45 254 pc.printf("Mass 1 of 6 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 255 sprintf(str1,"Mass 1 on 6 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 256 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 257 pc.printf("Mass 2 on 5 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 258 sprintf(str2,"Mass 2 on 5,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 259 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 260 } else if(module3>module1 && module3>module2) {
kra_tiam 0:79d6f6a8aa45 261 kilo_output1=module3;
kra_tiam 0:79d6f6a8aa45 262 kilo_output2=module1+module2;
kra_tiam 0:79d6f6a8aa45 263 pc.printf("Mass 1 of 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 264 sprintf(str1,"Mass 1 on 7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 265 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 266 pc.printf("Mass 2 between 5 and 6 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 267 sprintf(str2,"Mass 2 on 5,6 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 268 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 269 }
kra_tiam 0:79d6f6a8aa45 270 } else if(module1>standard_kilo && module2>standard_kilo && module3<standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 271 if(module1>module2 && module1>module4) {
kra_tiam 0:79d6f6a8aa45 272 kilo_output1=module1;
kra_tiam 0:79d6f6a8aa45 273 kilo_output2=module2+module4;
kra_tiam 0:79d6f6a8aa45 274 pc.printf("Mass 1 of 5 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 275 sprintf(str1,"Mass 1 on 5 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 276 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 277 pc.printf("Mass 2 between 6 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 278 sprintf(str2,"Mass 2 on 6,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 279 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 280 } else if(module2>module1 && module2>module4) {
kra_tiam 0:79d6f6a8aa45 281 kilo_output1=module2;
kra_tiam 0:79d6f6a8aa45 282 kilo_output2=module1+module4;
kra_tiam 0:79d6f6a8aa45 283 pc.printf("Mass 1 on 6 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 284 sprintf(str1,"Mass 1 on 6 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 285 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 286 pc.printf("Mass 2 between 5 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 287 sprintf(str2,"Mass 2 on 5,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 288 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 289 } else if(module4>module1 && module4>module2) {
kra_tiam 0:79d6f6a8aa45 290 kilo_output1=module4;
kra_tiam 0:79d6f6a8aa45 291 kilo_output2=module1+module2;
kra_tiam 0:79d6f6a8aa45 292 pc.printf("Mass 1 of 8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 293 sprintf(str1,"Mass 1 on 8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 294 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 295 pc.printf("Mass 2 between 5 and 6 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 296 sprintf(str2,"Mass 2 on 5,6 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 297 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 298 }
kra_tiam 0:79d6f6a8aa45 299 } else if(module1>standard_kilo && module2<standard_kilo && module3>standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 300 if(module1>module3 && module1>module4) {
kra_tiam 0:79d6f6a8aa45 301 kilo_output1=module1;
kra_tiam 0:79d6f6a8aa45 302 kilo_output2=module3+module4;
kra_tiam 0:79d6f6a8aa45 303 pc.printf("Mass 1 of 5 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 304 sprintf(str1,"Mass 1 on 5 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 305 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 306 pc.printf("Mass 2 between 7 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 307 sprintf(str2,"Mass 2 on 7,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 308 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 309 } else if(module3>module1 && module3>module4) {
kra_tiam 0:79d6f6a8aa45 310 kilo_output1=module3;
kra_tiam 0:79d6f6a8aa45 311 kilo_output2=module1+module4;
kra_tiam 0:79d6f6a8aa45 312 pc.printf("Mass 1 of 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 313 sprintf(str1,"Mass 1 on 7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 314 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 315 pc.printf("Mass 2 between 5 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 316 sprintf(str2,"Mass 2 on 5,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 317 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 318 } else if(module4>module1 && module4>module3) {
kra_tiam 0:79d6f6a8aa45 319 kilo_output1=module4;
kra_tiam 0:79d6f6a8aa45 320 kilo_output2=module1+module3;
kra_tiam 0:79d6f6a8aa45 321 pc.printf("Mass 1 of 8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 322 sprintf(str1,"Mass 1 on 8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 323 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 324 pc.printf("Mass 2 between 5 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 325 sprintf(str2,"Mass 2 on 5,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 326 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 327 }
kra_tiam 0:79d6f6a8aa45 328 } else if(module1<standard_kilo && module2>standard_kilo && module3>standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 329 if(module2>module3 && module2>module4) {
kra_tiam 0:79d6f6a8aa45 330 kilo_output1=module2;
kra_tiam 0:79d6f6a8aa45 331 kilo_output2=module3+module4;
kra_tiam 0:79d6f6a8aa45 332 pc.printf("Mass 1 of 6 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 333 sprintf(str1,"Mass 1 on 6 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 334 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 335 pc.printf("Mass 2 between 7 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 336 sprintf(str2,"Mass 2 on 7,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 337 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 338 } else if(module3>module2 && module3>module4) {
kra_tiam 0:79d6f6a8aa45 339 kilo_output1=module3;
kra_tiam 0:79d6f6a8aa45 340 kilo_output2=module2+module4;
kra_tiam 0:79d6f6a8aa45 341 pc.printf("Mass 1 of 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 342 sprintf(str1,"Mass 1 on 7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 343 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 344 pc.printf("Mass 2 between 6 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 345 sprintf(str2,"Mass 2 on 6,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 346 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 347 } else if(module4>module2 && module4>module3) {
kra_tiam 0:79d6f6a8aa45 348 kilo_output1=module4;
kra_tiam 0:79d6f6a8aa45 349 kilo_output2=module2+module3;
kra_tiam 0:79d6f6a8aa45 350 pc.printf("Mass 1 of 8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 351 sprintf(str1,"Mass 1 on 8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 352 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 353 pc.printf("Mass 2 between 6 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 354 sprintf(str2,"Mass 2 on 6,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 355 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 356 }
kra_tiam 0:79d6f6a8aa45 357 } else if(module1>standard_kilo && module2>standard_kilo && module3>standard_kilo && module4>standard_kilo) {
kra_tiam 0:79d6f6a8aa45 358 if(module1>module2 && module1>module3 && module1>module4) {
kra_tiam 0:79d6f6a8aa45 359 if(module2>module3 && module2>module4) {
kra_tiam 0:79d6f6a8aa45 360 kilo_output1=module1+module2;
kra_tiam 0:79d6f6a8aa45 361 kilo_output2=module3+module4;
kra_tiam 0:79d6f6a8aa45 362 pc.printf("Mass 1 between 5 and 6 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 363 sprintf(str1,"Mass 1 on 5,6 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 364 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 365 pc.printf("Mass 2 between 7 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 366 sprintf(str2,"Mass 2 on 7,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 367 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 368 } else if(module3>module2 && module3>module4) {
kra_tiam 0:79d6f6a8aa45 369 kilo_output1=module1+module3;
kra_tiam 0:79d6f6a8aa45 370 kilo_output2=module2+module4;
kra_tiam 0:79d6f6a8aa45 371 pc.printf("Mass 1 between 5 and 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 372 sprintf(str1,"Mass 1 on 5,7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 373 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 374 pc.printf("Mass 2 between 6 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 375 sprintf(str2,"Mass 2 on 6,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 376 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 377 } else if(module4>module2 && module4>module3) {
kra_tiam 0:79d6f6a8aa45 378 kilo_output1=module1+module4;
kra_tiam 0:79d6f6a8aa45 379 kilo_output2=module2+module3;
kra_tiam 0:79d6f6a8aa45 380 pc.printf("Mass 1 on 5,8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 381 sprintf(str1,"Mass 1 on 5,8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 382 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 383 pc.printf("Mass 2 between 6 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 384 sprintf(str2,"Mass 2 on 6,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 385 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 386 } else {
kra_tiam 0:79d6f6a8aa45 387 pc.printf("Undefind weight (have 2 mass on 4 plate).\n");
kra_tiam 0:79d6f6a8aa45 388 lcd.LCD_write_string(0,1,"Undefind weight (have 2 mass on 4 plate).",0);
kra_tiam 0:79d6f6a8aa45 389 }
kra_tiam 0:79d6f6a8aa45 390 } else if(module2>module1 && module2>module3 && module2>module4) {
kra_tiam 0:79d6f6a8aa45 391 if(module1>module3 && module1>module4) {
kra_tiam 0:79d6f6a8aa45 392 kilo_output1=module1+module2;
kra_tiam 0:79d6f6a8aa45 393 kilo_output2=module3+module4;
kra_tiam 0:79d6f6a8aa45 394 pc.printf("Mass 1 between 5 and 6 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 395 sprintf(str1,"Mass 1 on 5,6 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 396 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 397 pc.printf("Mass 2 between 7 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 398 sprintf(str2,"Mass 2 on 7,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 399 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 400 } else if(module3>module1 && module3>module4) {
kra_tiam 0:79d6f6a8aa45 401 kilo_output1=module2+module3;
kra_tiam 0:79d6f6a8aa45 402 kilo_output2=module1+module4;
kra_tiam 0:79d6f6a8aa45 403 pc.printf("Mass 1 between 6 and 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 404 sprintf(str1,"Mass 1 on 6,7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 405 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 406 pc.printf("Mass 2 between 5 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 407 sprintf(str2,"Mass 2 on 5,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 408 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 409 } else if(module4>module1 && module4>module3) {
kra_tiam 0:79d6f6a8aa45 410 kilo_output1=module2+module4;
kra_tiam 0:79d6f6a8aa45 411 kilo_output2=module1+module3;
kra_tiam 0:79d6f6a8aa45 412 pc.printf("Mass 1 between 6 and 5 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 413 sprintf(str1,"Mass 1 on 6,5 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 414 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 415 pc.printf("Mass 2 between 5 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 416 sprintf(str2,"Mass 2 on 5,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 417 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 418 } else {
kra_tiam 0:79d6f6a8aa45 419 pc.printf("Undefind weight (have 2 mass on 4 plate).\n");
kra_tiam 0:79d6f6a8aa45 420 lcd.LCD_write_string(0,1,"Undefind weight (have 2 mass on 4 plate).",0);
kra_tiam 0:79d6f6a8aa45 421 }
kra_tiam 0:79d6f6a8aa45 422 } else if(module3>module1 && module3>module2 && module3>module4) {
kra_tiam 0:79d6f6a8aa45 423 if(module1>module2 && module1>module4) {
kra_tiam 0:79d6f6a8aa45 424 kilo_output1=module1+module3;
kra_tiam 0:79d6f6a8aa45 425 kilo_output2=module2+module4;
kra_tiam 0:79d6f6a8aa45 426 pc.printf("Mass 1 between 5 and 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 427 sprintf(str1,"Mass 1 on 5,7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 428 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 429 pc.printf("Mass 2 between 6 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 430 sprintf(str2,"Mass 2 on 6,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 431 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 432 } else if(module2>module1 && module2>module4) {
kra_tiam 0:79d6f6a8aa45 433 kilo_output1=module2+module3;
kra_tiam 0:79d6f6a8aa45 434 kilo_output2=module1+module4;
kra_tiam 0:79d6f6a8aa45 435 pc.printf("Mass 1 between 6 and 7 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 436 sprintf(str1,"Mass 1 on 6,7 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 437 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 438 pc.printf("Mass 2 between 5 and 8 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 439 sprintf(str2,"Mass 2 on 5,8 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 440 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 441 } else if(module4>module1 && module4>module2) {
kra_tiam 0:79d6f6a8aa45 442 kilo_output1=module3+module4;
kra_tiam 0:79d6f6a8aa45 443 kilo_output2=module1+module2;
kra_tiam 0:79d6f6a8aa45 444 pc.printf("Mass 1 between 7 and 8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 445 sprintf(str1,"Mass 1 on 7,8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 446 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 447 pc.printf("Mass 2 between 5 and 6 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 448 sprintf(str2,"Mass 2 on 5,6 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 449 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 450 } else {
kra_tiam 0:79d6f6a8aa45 451 pc.printf("Undefind weight (have 2 mass on 4 plate).\n");
kra_tiam 0:79d6f6a8aa45 452 lcd.LCD_write_string(0,1,"Undefind weight (have 2 mass on 4 plate).",0);
kra_tiam 0:79d6f6a8aa45 453 }
kra_tiam 0:79d6f6a8aa45 454 } else if(module4>module1 && module4>module2 && module4>module3) {
kra_tiam 0:79d6f6a8aa45 455 if(module1>module2 && module1>module3) {
kra_tiam 0:79d6f6a8aa45 456 kilo_output1=module1+module4;
kra_tiam 0:79d6f6a8aa45 457 kilo_output2=module2+module3;
kra_tiam 0:79d6f6a8aa45 458 pc.printf("Mass 1 between 5 and 8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 459 sprintf(str1,"Mass 1 on 5,8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 460 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 461 pc.printf("Mass 2 between 6 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 462 sprintf(str2,"Mass 2 on 6,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 463 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 464 } else if(module2>module1 && module2>module3) {
kra_tiam 0:79d6f6a8aa45 465 kilo_output1=module2+module4;
kra_tiam 0:79d6f6a8aa45 466 kilo_output2=module1+module3;
kra_tiam 0:79d6f6a8aa45 467 pc.printf("Mass 1 between 6 and 8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 468 sprintf(str1,"Mass 1 on 6,8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 469 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 470 pc.printf("Mass 2 between 5 and 7 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 471 sprintf(str2,"Mass 2 on 5,7 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 472 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 473 } else if(module3>module1 && module3>module2) {
kra_tiam 0:79d6f6a8aa45 474 kilo_output1=module3+module4;
kra_tiam 0:79d6f6a8aa45 475 kilo_output2=module1+module2;
kra_tiam 0:79d6f6a8aa45 476 pc.printf("Mass 1 between 7 and 8 plate = %.3f kg.\n",kilo_output1);
kra_tiam 0:79d6f6a8aa45 477 sprintf(str1,"Mass 1 on 7,8 plate = %.3f kg",kilo_output1);
kra_tiam 0:79d6f6a8aa45 478 lcd.LCD_write_string(0,1,str1,0);
kra_tiam 0:79d6f6a8aa45 479 pc.printf("Mass 2 between 5 and 6 plate = %.3f kg.\n",kilo_output2);
kra_tiam 0:79d6f6a8aa45 480 sprintf(str2,"Mass 2 on 5,6 plate = %.3f kg",kilo_output2);
kra_tiam 0:79d6f6a8aa45 481 lcd.LCD_write_string(0,2,str2,0);
kra_tiam 0:79d6f6a8aa45 482 } else {
kra_tiam 0:79d6f6a8aa45 483 pc.printf("Undefind weight (have 2 mass on 4 plate).\n");
kra_tiam 0:79d6f6a8aa45 484 lcd.LCD_write_string(0,1,"Undefind weight (have 2 mass on 4 plate).",0);
kra_tiam 0:79d6f6a8aa45 485 pc.printf("Mass 1 = 0 kg\nMass 2 = 0 kg\n");
kra_tiam 0:79d6f6a8aa45 486 lcd.LCD_write_string(0,2,"Mass 1 = 0 kg",0);
kra_tiam 0:79d6f6a8aa45 487 lcd.LCD_write_string(0,3,"Mass 2 = 0 kg",0);
kra_tiam 0:79d6f6a8aa45 488 }
kra_tiam 0:79d6f6a8aa45 489 }
kra_tiam 0:79d6f6a8aa45 490 }
kra_tiam 0:79d6f6a8aa45 491 }
kra_tiam 0:79d6f6a8aa45 492 else {
kra_tiam 0:79d6f6a8aa45 493 pc.printf("Kilogram of mass : 0 kg\n");
kra_tiam 0:79d6f6a8aa45 494 lcd.LCD_write_string(0,1,"Kilogram of mass : 0 kg",0);
kra_tiam 0:79d6f6a8aa45 495
kra_tiam 0:79d6f6a8aa45 496 }
kra_tiam 0:79d6f6a8aa45 497 if(pc.readable()) {
kra_tiam 0:79d6f6a8aa45 498 state_exit =1;
kra_tiam 0:79d6f6a8aa45 499 state_calibrate=0;
kra_tiam 0:79d6f6a8aa45 500 state_onemass=0;
kra_tiam 0:79d6f6a8aa45 501 state_multiple_mass=0;
kra_tiam 0:79d6f6a8aa45 502 state_select=0;
kra_tiam 0:79d6f6a8aa45 503 }
kra_tiam 0:79d6f6a8aa45 504
kra_tiam 0:79d6f6a8aa45 505 }
kra_tiam 0:79d6f6a8aa45 506
kra_tiam 0:79d6f6a8aa45 507
kra_tiam 0:79d6f6a8aa45 508 }
kra_tiam 0:79d6f6a8aa45 509
kra_tiam 0:79d6f6a8aa45 510
kra_tiam 0:79d6f6a8aa45 511
kra_tiam 0:79d6f6a8aa45 512 Find_kg::Find_kg()
kra_tiam 0:79d6f6a8aa45 513 {
kra_tiam 0:79d6f6a8aa45 514 poid[1]=0;
kra_tiam 0:79d6f6a8aa45 515 }
kra_tiam 0:79d6f6a8aa45 516 Find_kg::~Find_kg()
kra_tiam 0:79d6f6a8aa45 517 {
kra_tiam 0:79d6f6a8aa45 518
kra_tiam 0:79d6f6a8aa45 519 }
kra_tiam 0:79d6f6a8aa45 520 float Find_kg::find_kilo(float valeur,float valeurTare)
kra_tiam 0:79d6f6a8aa45 521 {
kra_tiam 0:79d6f6a8aa45 522 poid[0] = abs(((float)valeur-(float)valeurTare)/143200);
kra_tiam 0:79d6f6a8aa45 523 diff_poids= abs(poid[0] - poid[1]);
kra_tiam 0:79d6f6a8aa45 524 diff_poids = abs(diff_poids);
kra_tiam 0:79d6f6a8aa45 525 if(diff_poids > standard_poid && kilo==0)
kra_tiam 0:79d6f6a8aa45 526 {
kra_tiam 0:79d6f6a8aa45 527 kilo = diff_poids * (float)5.5555556 ;
kra_tiam 0:79d6f6a8aa45 528 }
kra_tiam 0:79d6f6a8aa45 529 else if(poid[0] < standard_poid)
kra_tiam 0:79d6f6a8aa45 530 {
kra_tiam 0:79d6f6a8aa45 531 kilo=0;
kra_tiam 0:79d6f6a8aa45 532 }
kra_tiam 0:79d6f6a8aa45 533 poid[1]=poid[0];
kra_tiam 0:79d6f6a8aa45 534 return kilo;
kra_tiam 0:79d6f6a8aa45 535 }