This is a Testing program

Dependencies:   DHT DS18B20 Decagon10HS DecagonEC-5 FastIO LightSensorALS-PT19 WaterMark200ss WeatherMeters mbed-src

Committer:
javiersing
Date:
Mon Nov 28 13:28:26 2016 +0000
Revision:
0:232c507002f4
This is a Testing program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
javiersing 0:232c507002f4 1 #include "mbed.h"
javiersing 0:232c507002f4 2 #include "LightSensor.h"
javiersing 0:232c507002f4 3 #include "Decagon10HS.h"
javiersing 0:232c507002f4 4 #include "DecagonEC-5.h"
javiersing 0:232c507002f4 5 #include "DHT.h"
javiersing 0:232c507002f4 6 #include "FastIO.h"
javiersing 0:232c507002f4 7 #include "DS18B20.h"
javiersing 0:232c507002f4 8 #include "WaterMark200ss.h"
javiersing 0:232c507002f4 9 #include "WeatherMeters.h"
javiersing 0:232c507002f4 10 #include "Anemometer.h"
javiersing 0:232c507002f4 11
javiersing 0:232c507002f4 12
javiersing 0:232c507002f4 13 //Declaración de Puertos para cada sensor
javiersing 0:232c507002f4 14 AnalogIn moisture10HS(A0); //Decagon 10HS en el A0
javiersing 0:232c507002f4 15 AnalogIn light(A1); //ALS-PT19LIGHT en el A1
javiersing 0:232c507002f4 16 AnalogIn moistureEC5(A2); //Decagon EC-5 en el A2
javiersing 0:232c507002f4 17 AnalogIn lightref(A3); //Referencia 3.3V en el A3
javiersing 0:232c507002f4 18 AnalogIn moisture200ss(A4); //WaterMark200ss en el A4
javiersing 0:232c507002f4 19
javiersing 0:232c507002f4 20 /*El sensor DS18B20 se
javiersing 0:232c507002f4 21 define el pin en la
javiersing 0:232c507002f4 22 librería DHT*/ //Ds18B20 en el D2
javiersing 0:232c507002f4 23 DHT dht22(PB_3,DHT22); //DHT22 en el D3
javiersing 0:232c507002f4 24 CWeatherMeters WeatherMeters(D4, D5, A5); //Weather Station Anemómetro D4, Veleta D5, Pluviómetro A5
javiersing 0:232c507002f4 25
javiersing 0:232c507002f4 26
javiersing 0:232c507002f4 27
javiersing 0:232c507002f4 28 //Declaración variables para sensores:
javiersing 0:232c507002f4 29 float lightLvl = 0; // Sensor LUZ
javiersing 0:232c507002f4 30 float VWC10HS = 0; // Sensor 10HS
javiersing 0:232c507002f4 31 float VWCEC5 = 0; // Sensor EC-5
javiersing 0:232c507002f4 32 float tempdht22 = 0; // Sensor DHT22
javiersing 0:232c507002f4 33 float humdht22 = 0; // Sensor DHT22
javiersing 0:232c507002f4 34 float tempDS18B20 = 0; // Sensor DS18B20
javiersing 0:232c507002f4 35 float centibar = 0; // Snsor WaterMark 200ss
javiersing 0:232c507002f4 36 float rainfall = 0;
javiersing 0:232c507002f4 37 float windSpeed = 0;
javiersing 0:232c507002f4 38 float maxWindSpeed = 0;
javiersing 0:232c507002f4 39
javiersing 0:232c507002f4 40
javiersing 0:232c507002f4 41
javiersing 0:232c507002f4 42 int main()
javiersing 0:232c507002f4 43 {
javiersing 0:232c507002f4 44 pc.baud(115200);
javiersing 0:232c507002f4 45 DQ.output();
javiersing 0:232c507002f4 46 DQ = 0;
javiersing 0:232c507002f4 47 DQ.input();
javiersing 0:232c507002f4 48 pc.printf("All Sensors Test \r\n");
javiersing 0:232c507002f4 49 pc.printf("Memory allocated for %d DS18B20.\r\n",MaxROMs);
javiersing 0:232c507002f4 50 pc.printf("Scanning for devices...\r\n");
javiersing 0:232c507002f4 51 ow_reset();
javiersing 0:232c507002f4 52 FindDevices();
javiersing 0:232c507002f4 53 pc.printf("Scanning completed.\r\n");
javiersing 0:232c507002f4 54
javiersing 0:232c507002f4 55
javiersing 0:232c507002f4 56 while(1) {
javiersing 0:232c507002f4 57 //Leer Sensores
javiersing 0:232c507002f4 58 wait(1);
javiersing 0:232c507002f4 59 lightLvl = readLightSensor(light,lightref); //Sensor de Luz
javiersing 0:232c507002f4 60 VWC10HS = Moist10HS(moisture10HS); //Sensor 10HS
javiersing 0:232c507002f4 61 VWCEC5 = MoistEC5(moistureEC5); //Sensor EC-5
javiersing 0:232c507002f4 62 tempdht22 = dht22.ReadTemperature(CELCIUS); //Sensor DHT22
javiersing 0:232c507002f4 63 humdht22 = dht22.ReadHumidity(); //Sensor DHT22
javiersing 0:232c507002f4 64 centibar = Moist200ss(moisture200ss); //Sensor WaterMark 200ss
javiersing 0:232c507002f4 65 CWeatherMeters::SMeasurements Measurements; //Weather Station
javiersing 0:232c507002f4 66 WeatherMeters.GetMeasurements(&Measurements); //Weather Station
javiersing 0:232c507002f4 67 rainfall = Measurements.Rainfall; //Weather Station
javiersing 0:232c507002f4 68 windSpeed = Measurements.WindSpeed; //Weather Station
javiersing 0:232c507002f4 69 maxWindSpeed = Measurements.MaximumWindSpeed; //Weather Station
javiersing 0:232c507002f4 70 pc.printf("Direction: %s\n", Measurements.WindDirectionString);
javiersing 0:232c507002f4 71 pc.printf("Depth: %f\n",rainfall);
javiersing 0:232c507002f4 72 pc.printf("Current speed: %f\n", windSpeed);
javiersing 0:232c507002f4 73 pc.printf("Maximum speed: %f\n", maxWindSpeed);
javiersing 0:232c507002f4 74 pc.printf("200ss Centibar: %2.2f\n", centibar);
javiersing 0:232c507002f4 75 pc.printf("DHT22 Humidity: %.1f \n\r",humdht22);
javiersing 0:232c507002f4 76 pc.printf("DHT22 Temp: %.1f C",tempdht22);
javiersing 0:232c507002f4 77 pc.printf("EC-5 VWC: %2.2f VMC\r\n", VWCEC5);
javiersing 0:232c507002f4 78 pc.printf("10HS VWC: %2.2f\r\n", VWC10HS);
javiersing 0:232c507002f4 79 pc.printf("Light: %3.2f \r\n", lightLvl);
javiersing 0:232c507002f4 80 ConvT(); // Todos los DS18B20 inician la conversión a temp
javiersing 0:232c507002f4 81 wait_ms(750); // Tiempo minimo de conversion a 12-bit
javiersing 0:232c507002f4 82 for(int i=1; i<=numROMs; i++) { // Bucle para todos los DS18B20
javiersing 0:232c507002f4 83 tempDS18B20 = Get_Temp(i);
javiersing 0:232c507002f4 84 pc.printf("DS18B20 Temp: %08.4f Device: %02X%02X%02X%02X%02X%02X %03d\r\n",tempDS18B20,FoundROM[i][6],FoundROM[i][5],FoundROM[i][4],FoundROM[i][3],FoundROM[i][2],FoundROM[i][1],i);
javiersing 0:232c507002f4 85 }
javiersing 0:232c507002f4 86 pc.printf("\r\n");
javiersing 0:232c507002f4 87 wait(5.0f);
javiersing 0:232c507002f4 88 }
javiersing 0:232c507002f4 89 }
javiersing 0:232c507002f4 90