This is a Testing program
Dependencies: DHT DS18B20 Decagon10HS DecagonEC-5 FastIO LightSensorALS-PT19 WaterMark200ss WeatherMeters mbed-src
main.cpp
- Committer:
- javiersing
- Date:
- 2016-11-28
- Revision:
- 0:232c507002f4
File content as of revision 0:232c507002f4:
#include "mbed.h" #include "LightSensor.h" #include "Decagon10HS.h" #include "DecagonEC-5.h" #include "DHT.h" #include "FastIO.h" #include "DS18B20.h" #include "WaterMark200ss.h" #include "WeatherMeters.h" #include "Anemometer.h" //Declaración de Puertos para cada sensor AnalogIn moisture10HS(A0); //Decagon 10HS en el A0 AnalogIn light(A1); //ALS-PT19LIGHT en el A1 AnalogIn moistureEC5(A2); //Decagon EC-5 en el A2 AnalogIn lightref(A3); //Referencia 3.3V en el A3 AnalogIn moisture200ss(A4); //WaterMark200ss en el A4 /*El sensor DS18B20 se define el pin en la librería DHT*/ //Ds18B20 en el D2 DHT dht22(PB_3,DHT22); //DHT22 en el D3 CWeatherMeters WeatherMeters(D4, D5, A5); //Weather Station Anemómetro D4, Veleta D5, Pluviómetro A5 //Declaración variables para sensores: float lightLvl = 0; // Sensor LUZ float VWC10HS = 0; // Sensor 10HS float VWCEC5 = 0; // Sensor EC-5 float tempdht22 = 0; // Sensor DHT22 float humdht22 = 0; // Sensor DHT22 float tempDS18B20 = 0; // Sensor DS18B20 float centibar = 0; // Snsor WaterMark 200ss float rainfall = 0; float windSpeed = 0; float maxWindSpeed = 0; int main() { pc.baud(115200); DQ.output(); DQ = 0; DQ.input(); pc.printf("All Sensors Test \r\n"); pc.printf("Memory allocated for %d DS18B20.\r\n",MaxROMs); pc.printf("Scanning for devices...\r\n"); ow_reset(); FindDevices(); pc.printf("Scanning completed.\r\n"); while(1) { //Leer Sensores wait(1); lightLvl = readLightSensor(light,lightref); //Sensor de Luz VWC10HS = Moist10HS(moisture10HS); //Sensor 10HS VWCEC5 = MoistEC5(moistureEC5); //Sensor EC-5 tempdht22 = dht22.ReadTemperature(CELCIUS); //Sensor DHT22 humdht22 = dht22.ReadHumidity(); //Sensor DHT22 centibar = Moist200ss(moisture200ss); //Sensor WaterMark 200ss CWeatherMeters::SMeasurements Measurements; //Weather Station WeatherMeters.GetMeasurements(&Measurements); //Weather Station rainfall = Measurements.Rainfall; //Weather Station windSpeed = Measurements.WindSpeed; //Weather Station maxWindSpeed = Measurements.MaximumWindSpeed; //Weather Station pc.printf("Direction: %s\n", Measurements.WindDirectionString); pc.printf("Depth: %f\n",rainfall); pc.printf("Current speed: %f\n", windSpeed); pc.printf("Maximum speed: %f\n", maxWindSpeed); pc.printf("200ss Centibar: %2.2f\n", centibar); pc.printf("DHT22 Humidity: %.1f \n\r",humdht22); pc.printf("DHT22 Temp: %.1f C",tempdht22); pc.printf("EC-5 VWC: %2.2f VMC\r\n", VWCEC5); pc.printf("10HS VWC: %2.2f\r\n", VWC10HS); pc.printf("Light: %3.2f \r\n", lightLvl); ConvT(); // Todos los DS18B20 inician la conversión a temp wait_ms(750); // Tiempo minimo de conversion a 12-bit for(int i=1; i<=numROMs; i++) { // Bucle para todos los DS18B20 tempDS18B20 = Get_Temp(i); 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); } pc.printf("\r\n"); wait(5.0f); } }