Ok, I think I've got it all together. This is all so new to me, but I like it and have already ordered my own UNO (can anyone recommend a kit with various components and jumpers?) .
I do have some operand errors in my code I would appreciate some guidance in...
freezeprotection.cpp:42:76: error: invalid digit "9" in octal constant
freezeprotection.cpp: In function 'void loop()':
freezeprotection:38: error: invalid operands of types 'double' and 'double' to binary 'operator^'
freezeprotection:38: error: expected primary-expression before '.' token
freezeprotection:38: error: expected unqualified-id before '(' token
freezeprotection:38: error: invalid operands of types 'float' and 'int' to binary 'operator^'
freezeprotection:40: error: expected ;' before 'if' freezeprotection:61: error: expected
}' at end of input
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain
const int critical = -3; //critcal plant freezing temp in degree C
const int relay = 5; //soleniod relay
float wetbulb = 0;
#include "DHT.h"
#define DHTPIN 2 // what pin we're connected to
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
pinMode(relay, OUTPUT);
dht.begin();
}
void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();
wetbulb=(t*atan(.151977*(h+8.313659)^.5))+atan(t+h)-atan(h-1.676331)+.(00391838*(h^(2/3)))*atan(.023101*h)-4.686035
if (wetbulb <= critical) {
digitalWrite (relay, HIGH); //wetbulb below critical trips relay
// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
} else {
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
Serial.print("Wetbulb");
Serial.print(wetbulb);
Serial.print("*C");
Serial.print("Critical");
Serial.print(critical);
Serial.print("*C");
}
}}