System to manage inventory for a cooler. Allows real time check in of products via RFID, as well as check out. Also includes a scale to weigh products upon check out, and has a real time temperature tracking system that sounds an alert if the cooler gets too hot.
Dependencies: DHT11 HX711 MFRC522 SDFileSystemEditied mbed
scale.cpp@0:ad334aa4c7c4, 2018-03-07 (annotated)
- Committer:
- vincentrc
- Date:
- Wed Mar 07 17:52:23 2018 +0000
- Revision:
- 0:ad334aa4c7c4
Initial commit.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vincentrc | 0:ad334aa4c7c4 | 1 | |
vincentrc | 0:ad334aa4c7c4 | 2 | #include "functions.h" |
vincentrc | 0:ad334aa4c7c4 | 3 | #include "HX711.h" |
vincentrc | 0:ad334aa4c7c4 | 4 | #include <stdio.h> |
vincentrc | 0:ad334aa4c7c4 | 5 | |
vincentrc | 0:ad334aa4c7c4 | 6 | float scale(HX711 scale) |
vincentrc | 0:ad334aa4c7c4 | 7 | { |
vincentrc | 0:ad334aa4c7c4 | 8 | float weight; |
vincentrc | 0:ad334aa4c7c4 | 9 | int x; |
vincentrc | 0:ad334aa4c7c4 | 10 | |
vincentrc | 0:ad334aa4c7c4 | 11 | fflush(stdin); |
vincentrc | 0:ad334aa4c7c4 | 12 | getchar(); |
vincentrc | 0:ad334aa4c7c4 | 13 | printf("\n\r\n\rPlease remove all weight from scale, " |
vincentrc | 0:ad334aa4c7c4 | 14 | "then press any button to zero the scale\n\r\n\r"); |
vincentrc | 0:ad334aa4c7c4 | 15 | getchar(); |
vincentrc | 0:ad334aa4c7c4 | 16 | scale.tare(); |
vincentrc | 0:ad334aa4c7c4 | 17 | |
vincentrc | 0:ad334aa4c7c4 | 18 | printf("\n\r\n\rPress any button again to begin weighing!\n\r\n\r"); |
vincentrc | 0:ad334aa4c7c4 | 19 | getchar(); |
vincentrc | 0:ad334aa4c7c4 | 20 | |
vincentrc | 0:ad334aa4c7c4 | 21 | |
vincentrc | 0:ad334aa4c7c4 | 22 | weight = scale.getGram(); |
vincentrc | 0:ad334aa4c7c4 | 23 | |
vincentrc | 0:ad334aa4c7c4 | 24 | |
vincentrc | 0:ad334aa4c7c4 | 25 | //Handles negligible weight and calibration factor |
vincentrc | 0:ad334aa4c7c4 | 26 | if((weight < 0.5) && (weight > -0.5)) |
vincentrc | 0:ad334aa4c7c4 | 27 | weight =0; |
vincentrc | 0:ad334aa4c7c4 | 28 | else |
vincentrc | 0:ad334aa4c7c4 | 29 | weight *= (15.625); |
vincentrc | 0:ad334aa4c7c4 | 30 | |
vincentrc | 0:ad334aa4c7c4 | 31 | //Converts to pounds |
vincentrc | 0:ad334aa4c7c4 | 32 | weight *= 0.0022046; |
vincentrc | 0:ad334aa4c7c4 | 33 | |
vincentrc | 0:ad334aa4c7c4 | 34 | printf("\n\r\n\rWeight: %.2f lbs\n\r\n\r", weight); |
vincentrc | 0:ad334aa4c7c4 | 35 | |
vincentrc | 0:ad334aa4c7c4 | 36 | |
vincentrc | 0:ad334aa4c7c4 | 37 | return weight; |
vincentrc | 0:ad334aa4c7c4 | 38 | } |