Time temp moisture
From Federal Burro of Information
Jump to navigationJump to search
this arduino sketch will run all three sensors:
/* david thornton 2015 01 22 this script does three things 1. get time from DS3231 RTC 2. gets temp + humidity from HTU21D 3. gets soil moisture from TAKEN from DS3231_SIMPLE DS3231_test.pde Eric Ayars 4/11 Test/demo of read routines for a DS3231 RTC. Turn on the serial monitor after loading this to check if things are working as they should. */ #include <DS3231.h> #include <Wire.h> #include "HTU21D.h" DS3231 Clock; bool Century=false; bool h12; bool PM; byte ADay, AHour, AMinute, ASecond, ABits; bool ADy, A12h, Apm; byte year, month, date, DoW, hour, minute, second; HTU21D myHumidity; int analogPin = 2; int moistureval = 0; void setup() { // Start the I2C interface Wire.begin(); // VERY IMPORTANT COMMENTS BELOW!!! // If you want to set the time, change these numbers to the date and time you want to set to, and then upload it to the arduino. // once you have finished setting the time, comment out the following clock.set functions and then reupload it to the board. Otherwise your clock will reset every time you open the serial monitor. /* Clock.setSecond(00);//Set the second Clock.setMinute(52);//Set the minute Clock.setHour(23); //Set the hour Clock.setDate(16); //Set the date of the month Clock.setMonth(1); //Set the month of the year Clock.setYear(15); //Set the year (Last two digits of the year) */ // Start the serial interface Serial.begin(9600); myHumidity.begin(); } void ReadDS3231() { int second,minute,hour,date,month,year,temperature; second=Clock.getSecond(); minute=Clock.getMinute(); hour=Clock.getHour(h12, PM); date=Clock.getDate(); month=Clock.getMonth(Century); year=Clock.getYear(); temperature=Clock.getTemperature(); Serial.print("20"); Serial.print(year,DEC); Serial.print('-'); Serial.print(month,DEC); Serial.print('-'); Serial.print(date,DEC); Serial.print(' '); Serial.print(hour,DEC); Serial.print(':'); Serial.print(minute,DEC); Serial.print(':'); Serial.print(second,DEC); //Serial.print('\n'); Serial.print(" Temperature="); Serial.print(temperature); // Serial.print('\n'); } void loop() { delay(1000); // RTC ReadDS3231(); //HTU21D float humd = myHumidity.readHumidity(); float temp = myHumidity.readTemperature(); Serial.print(" Temperature:"); Serial.print(temp, 1); Serial.print("C"); Serial.print(" Humidity:"); Serial.print(humd, 1); Serial.print("%"); // LM393 based moisture sensor moistureval = analogRead(analogPin); Serial.print(" Moisture:"); Serial.println(moistureval); Serial.print("\n"); // send what's going on to the serial monitor. // Start with the year /* Serial.print("2"); if (Century) { // Won't need this for 89 years. Serial.print("1"); } else { Serial.print("0"); } Serial.print(Clock.getYear(), DEC); Serial.print('-'); // then the month Serial.print(Clock.getMonth(Century), DEC); Serial.print('-'); // then the date Serial.print(Clock.getDate(), DEC);Serial.print(' ');*/ // and the day of the week /*Serial.print(Clock.getDoW(), DEC); Serial.print(' ');*/ // Finally the hour, minute, and second /*Serial.print(Clock.getHour(h12, PM), DEC); Serial.print(':'); Serial.print(Clock.getMinute(), DEC); Serial.print(':'); Serial.print(Clock.getSecond(), DEC); // Add AM/PM indicator if (h12) { if (PM) { Serial.print(" PM "); } else { Serial.print(" AM "); } } else { Serial.print(" 24h "); } // Display the temperature Serial.print("T="); Serial.print(Clock.getTemperature(), 2); // Tell whether the time is (likely to be) valid if (Clock.oscillatorCheck()) {Serial.print(" O+"); } else { Serial.print(" O-"); }*/ // Indicate whether an alarm went off /*if (Clock.checkIfAlarm(1)) { Serial.print(" A1!"); } if (Clock.checkIfAlarm(2)) { Serial.print(" A2!"); }*/ // New line on display //Serial.print('\n'); // delay(1000); // Display Alarm 1 information /* Serial.print("Alarm 1: "); Clock.getA1Time(ADay, AHour, AMinute, ASecond, ABits, ADy, A12h, Apm); Serial.print(ADay, DEC); if (ADy) { Serial.print(" DoW"); } else { Serial.print(" Date"); } Serial.print(' '); Serial.print(AHour, DEC);Serial.print(' '); Serial.print(AMinute, DEC); Serial.print(' '); Serial.print(ASecond, DEC); Serial.print(' '); if (A12h) { if (Apm) { Serial.print('pm '); } else { Serial.print('am '); } } if (Clock.checkAlarmEnabled(1)) { Serial.print("enabled"); } Serial.print('\n'); // Display Alarm 2 information Serial.print("Alarm 2: "); Clock.getA2Time(ADay, AHour, AMinute, ABits, ADy, A12h, Apm); Serial.print(ADay, DEC); if (ADy) { Serial.print(" DoW"); } else { Serial.print(" Date"); }Serial.print(' '); Serial.print(AHour, DEC); Serial.print(' '); Serial.print(AMinute, DEC); Serial.print(' '); if (A12h) { if (Apm) { Serial.print('pm'); } else { Serial.print('am'); } } if (Clock.checkAlarmEnabled(2)) { Serial.print("enabled"); }*/ /* display alarm bits Serial.print('\n'); Serial.print('Alarm bits: '); Serial.print(ABits, DEC); */ /* Serial.print('\n'); Serial.print('\n'); delay(1000);// Display the time once more as a test of the getTime() function Clock.getTime(year, month, date, DoW, hour, minute, second); Serial.print(year, DEC); Serial.print("/"); Serial.print(month, DEC); Serial.print("/"); Serial.print(date, DEC); Serial.print("day of the week :"); Serial.println(DoW, DEC); Serial.print(hour, DEC); Serial.print(":"); Serial.print(minute, DEC); Serial.print(":"); Serial.println(second, DEC);*/ }