kl25z with hx711 loadcell

Dependencies:   ESP8266 HX711 mbed

Committer:
padte
Date:
Mon Mar 20 13:11:21 2017 +0000
Revision:
0:0cf9262fc2b2
aa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
padte 0:0cf9262fc2b2 1 #include "mbed.h"
padte 0:0cf9262fc2b2 2 #include "HX711.h"
padte 0:0cf9262fc2b2 3 #include "ESP8266.h"
padte 0:0cf9262fc2b2 4
padte 0:0cf9262fc2b2 5 ESP8266 esp(PTC4,PTC3,9600);
padte 0:0cf9262fc2b2 6 DigitalIn hx711input(D5);
padte 0:0cf9262fc2b2 7 DigitalOut green(LED2);
padte 0:0cf9262fc2b2 8 DigitalOut red(LED1);
padte 0:0cf9262fc2b2 9 Serial pc(USBTX, USBRX); // USB Serial Terminal
padte 0:0cf9262fc2b2 10
padte 0:0cf9262fc2b2 11 HX711 scale(D5,D13);
padte 0:0cf9262fc2b2 12 char rs[100],rcv[100];
padte 0:0cf9262fc2b2 13 int averageSamples = 100;
padte 0:0cf9262fc2b2 14 float calibration_factor = 1000;
padte 0:0cf9262fc2b2 15 int main(void)
padte 0:0cf9262fc2b2 16 {
padte 0:0cf9262fc2b2 17 pc.baud(9600);
padte 0:0cf9262fc2b2 18 pc.printf("Starting Scale\r\n");
padte 0:0cf9262fc2b2 19 //wait(0.2f);
padte 0:0cf9262fc2b2 20 // pc.printf("HX711 calibration sketch\r\n");
padte 0:0cf9262fc2b2 21 //wait(0.2f);
padte 0:0cf9262fc2b2 22 pc.printf("Remove all weight from scale\r\n");
padte 0:0cf9262fc2b2 23 //wait(0.2f);
padte 0:0cf9262fc2b2 24 pc.printf("After readings begin, place known weight on scale\r\n");
padte 0:0cf9262fc2b2 25 //wait(0.2f);
padte 0:0cf9262fc2b2 26
padte 0:0cf9262fc2b2 27
padte 0:0cf9262fc2b2 28 scale.setScale(0);
padte 0:0cf9262fc2b2 29 scale.tare(); //Reset the scale to 0
padte 0:0cf9262fc2b2 30
padte 0:0cf9262fc2b2 31 //long zero_factor = scale.averageValue(averageSamples); //Get a baseline reading
padte 0:0cf9262fc2b2 32 // pc.printf("Zero factor: %.4f\r\n" , zero_factor); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
padte 0:0cf9262fc2b2 33
padte 0:0cf9262fc2b2 34 while (true) {
padte 0:0cf9262fc2b2 35 scale.setScale(calibration_factor);
padte 0:0cf9262fc2b2 36 float weight = scale.getGram();
padte 0:0cf9262fc2b2 37
padte 0:0cf9262fc2b2 38
padte 0:0cf9262fc2b2 39 //float raw = scaleRaw.read();
padte 0:0cf9262fc2b2 40 if (weight >5 && weight <10)
padte 0:0cf9262fc2b2 41 weight = 50;
padte 0:0cf9262fc2b2 42 else if (weight >10 && weight <15)
padte 0:0cf9262fc2b2 43 weight = 100;
padte 0:0cf9262fc2b2 44 else if (weight >15 && weight <25)
padte 0:0cf9262fc2b2 45 weight = 100;
padte 0:0cf9262fc2b2 46 else if (weight >25 && weight <30)
padte 0:0cf9262fc2b2 47 weight = 200;
padte 0:0cf9262fc2b2 48 else if (weight >30 && weight <50)
padte 0:0cf9262fc2b2 49 weight = 300;
padte 0:0cf9262fc2b2 50 else if (weight >50 && weight <70)
padte 0:0cf9262fc2b2 51 weight = 400;
padte 0:0cf9262fc2b2 52 else if (weight >70 && weight <75)
padte 0:0cf9262fc2b2 53 weight = 500;
padte 0:0cf9262fc2b2 54 else if (weight >145 && weight <150)
padte 0:0cf9262fc2b2 55 weight = 1000;
padte 0:0cf9262fc2b2 56
padte 0:0cf9262fc2b2 57 pc.printf("Reading: %.2f gms \r\n", weight);
padte 0:0cf9262fc2b2 58 pc.printf(" calibration_factor: %.2f\r\n", calibration_factor);
padte 0:0cf9262fc2b2 59 if(pc.readable()) {
padte 0:0cf9262fc2b2 60 char temp = pc.getc();
padte 0:0cf9262fc2b2 61 if(temp == '+' || temp == 'a')
padte 0:0cf9262fc2b2 62 calibration_factor += 10;
padte 0:0cf9262fc2b2 63 else if(temp == '-' || temp == 'z')
padte 0:0cf9262fc2b2 64 calibration_factor -= 10;
padte 0:0cf9262fc2b2 65 }
padte 0:0cf9262fc2b2 66 sprintf(rs,"&pr=%.3f", weight);
padte 0:0cf9262fc2b2 67 esp.SendCMD(rs);
padte 0:0cf9262fc2b2 68 esp.RcvReply(rcv, 1000);
padte 0:0cf9262fc2b2 69 //pc.printf("%s", rcv);
padte 0:0cf9262fc2b2 70 wait(1);
padte 0:0cf9262fc2b2 71 /* if(hx711input > 2000)
padte 0:0cf9262fc2b2 72 {
padte 0:0cf9262fc2b2 73 green = !green;
padte 0:0cf9262fc2b2 74 wait(0.2);
padte 0:0cf9262fc2b2 75 }
padte 0:0cf9262fc2b2 76 else
padte 0:0cf9262fc2b2 77 { red=!red;
padte 0:0cf9262fc2b2 78 wait(0.2);
padte 0:0cf9262fc2b2 79 }
padte 0:0cf9262fc2b2 80 //pc.printf("Raw Value: %.7f\n", raw);*/
padte 0:0cf9262fc2b2 81 // wait(0.2);
padte 0:0cf9262fc2b2 82 }
padte 0:0cf9262fc2b2 83 }