Mario Simaremare / Mbed 2 deprecated g3_waterplay

Dependencies:   mbed

Committer:
mariosimaremare
Date:
Thu Jun 16 11:28:59 2016 +0000
Revision:
3:7c648d1d8802
Parent:
2:ed17e258da0d
Child:
5:4cbe44452889
Spread the code into classes.; Median is implemented.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mariosimaremare 0:ad9362f18797 1 /*
mariosimaremare 0:ad9362f18797 2 * G3: WATERPLAY
mariosimaremare 0:ad9362f18797 3 */
mariosimaremare 0:ad9362f18797 4
mariosimaremare 0:ad9362f18797 5 #include "mbed.h"
mariosimaremare 0:ad9362f18797 6 #include "Flasher.h"
mariosimaremare 0:ad9362f18797 7 #include "SalinitySensor.h"
mariosimaremare 0:ad9362f18797 8 #include "TemperatureSensor.h"
mariosimaremare 2:ed17e258da0d 9 #include "Thermostat.h"
mariosimaremare 3:7c648d1d8802 10 #include "Waterplay.h"
mariosimaremare 2:ed17e258da0d 11 #include "DRV8825.h"
mariosimaremare 3:7c648d1d8802 12 #include "TextLCD.h"
mariosimaremare 3:7c648d1d8802 13 #include "Printer.h"
mariosimaremare 2:ed17e258da0d 14 #define MAX_SPEED 8000
mariosimaremare 2:ed17e258da0d 15 #define MICROSTEPS_PER_STEP 16
mariosimaremare 3:7c648d1d8802 16 DRV8825 stpr_mtr(
mariosimaremare 3:7c648d1d8802 17 p21, p22, p23, p24, p25, p26
mariosimaremare 3:7c648d1d8802 18 );
mariosimaremare 3:7c648d1d8802 19 TextLCD lcd(
mariosimaremare 3:7c648d1d8802 20 p19, p20, p21, p22, p23, p24
mariosimaremare 3:7c648d1d8802 21 );
mariosimaremare 3:7c648d1d8802 22 char buffer[128];
mariosimaremare 0:ad9362f18797 23 char program_name[128] = "G3: WATERPLAY";
mariosimaremare 0:ad9362f18797 24 int keep_running = 1;
mariosimaremare 0:ad9362f18797 25 Serial serial(USBTX, USBRX);
mariosimaremare 0:ad9362f18797 26 Flasher led1(LED1);
mariosimaremare 3:7c648d1d8802 27 Printer printer(serial, lcd);
mariosimaremare 0:ad9362f18797 28
mariosimaremare 0:ad9362f18797 29 double salinity_voltage = 3.3;
mariosimaremare 0:ad9362f18797 30 double salinity_converter = 1.6667; // 5.0/3.0
mariosimaremare 0:ad9362f18797 31 double salinity_multiplier = 16.3;
mariosimaremare 2:ed17e258da0d 32 double salinity_lower_boundary = 3.0;
mariosimaremare 2:ed17e258da0d 33 double salinity_upper_boundary = 7.0;
mariosimaremare 1:f448c12d2c5b 34
mariosimaremare 0:ad9362f18797 35 double temperature_voltage = 4.85;
mariosimaremare 0:ad9362f18797 36 double temperature_converter = 1.6667; // 5.0/3.0
mariosimaremare 0:ad9362f18797 37 double temperature_variance = 5.0;
mariosimaremare 0:ad9362f18797 38 double temperature_vin = 4.85;
mariosimaremare 0:ad9362f18797 39 double temperature_resistance = 15000.0;
mariosimaremare 2:ed17e258da0d 40 double temperature_lower_boundary = 27.0;
mariosimaremare 2:ed17e258da0d 41 double temperature_upper_boundary = 32.0;
mariosimaremare 0:ad9362f18797 42
mariosimaremare 0:ad9362f18797 43 SalinitySensor salinitySensor(
mariosimaremare 3:7c648d1d8802 44 printer,
mariosimaremare 0:ad9362f18797 45 p16,
mariosimaremare 0:ad9362f18797 46 salinity_voltage,
mariosimaremare 0:ad9362f18797 47 salinity_converter,
mariosimaremare 2:ed17e258da0d 48 salinity_multiplier,
mariosimaremare 2:ed17e258da0d 49 salinity_lower_boundary,
mariosimaremare 2:ed17e258da0d 50 salinity_upper_boundary
mariosimaremare 0:ad9362f18797 51 );
mariosimaremare 0:ad9362f18797 52
mariosimaremare 0:ad9362f18797 53 TemperatureSensor temperatureSensor(
mariosimaremare 3:7c648d1d8802 54 printer,
mariosimaremare 0:ad9362f18797 55 p15,
mariosimaremare 0:ad9362f18797 56 temperature_voltage,
mariosimaremare 0:ad9362f18797 57 temperature_converter,
mariosimaremare 2:ed17e258da0d 58 temperature_lower_boundary,
mariosimaremare 2:ed17e258da0d 59 temperature_upper_boundary,
mariosimaremare 0:ad9362f18797 60 temperature_variance,
mariosimaremare 0:ad9362f18797 61 temperature_vin,
mariosimaremare 0:ad9362f18797 62 temperature_resistance
mariosimaremare 0:ad9362f18797 63 );
mariosimaremare 0:ad9362f18797 64
mariosimaremare 2:ed17e258da0d 65 Thermostat thermostat(
mariosimaremare 2:ed17e258da0d 66 serial,
mariosimaremare 2:ed17e258da0d 67 p18,
mariosimaremare 2:ed17e258da0d 68 LED4
mariosimaremare 2:ed17e258da0d 69 );
mariosimaremare 2:ed17e258da0d 70
mariosimaremare 3:7c648d1d8802 71 Waterplay tempController(
mariosimaremare 3:7c648d1d8802 72 printer,
mariosimaremare 3:7c648d1d8802 73 temperatureSensor,
mariosimaremare 3:7c648d1d8802 74 salinitySensor,
mariosimaremare 3:7c648d1d8802 75 thermostat,
mariosimaremare 3:7c648d1d8802 76 led1
mariosimaremare 3:7c648d1d8802 77 );
mariosimaremare 3:7c648d1d8802 78
mariosimaremare 1:f448c12d2c5b 79 double salinity_value = 0.0;
mariosimaremare 1:f448c12d2c5b 80 double temperature_value = 0.0;
mariosimaremare 0:ad9362f18797 81 int main()
mariosimaremare 0:ad9362f18797 82 {
mariosimaremare 3:7c648d1d8802 83 printer.display();
mariosimaremare 3:7c648d1d8802 84 led1.flash(1);
mariosimaremare 0:ad9362f18797 85
mariosimaremare 0:ad9362f18797 86 while(keep_running) {
mariosimaremare 3:7c648d1d8802 87 tempController.control();
mariosimaremare 0:ad9362f18797 88 }
mariosimaremare 0:ad9362f18797 89 }