Hi
I have a very odd problem with this sketch. I started it from pieces from two examples found on the web, compiled and uploaded to my Uno and it ran as expected. After closing the IDE and later reloading the sketch to make some additions it froze on verify with the status bar at about 20%. There was not error listed in the output only a string of java.util.regex.Pattern stuff. None looked like errors or warnings. I brought the sketch to my laptop and got same results. It also doesn't matter if you make changes or have the include files missing. It's like it is broken somehow. I would appreciate it if someone could check it same problem occurs. I am running Windows 7 64bit. I will post location for include libraries but try to verify first and see what happens.
Thanks
[//* YourDuino.com Example Software Sketch
DHT11 Humidity and Temperature Sensor test
Credits: Rob Tillaart
terry@yourduino.com */
Added 1.8" tft color display code
/*-----( Import needed libraries )-----*/
#include <dht11.h>
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
/*-----( Declare objects )-----*/
// For the breakout, you can use any (2 or) 3 pins
//#define sclk 13
//#define mosi 11
#define cs 10
#define dc 9
#define rst 8 // you can also connect this to the Arduino reset
#define DHT11PIN 2
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);
dht11 DHT11;
/*-----( Declare Constants, Pin Numbers )-----*/
/*-----( Declare User-written Functions )-----*/
//
//Celsius to Fahrenheit conversion
double Fahrenheit(double celsius)
{
return 1.8 * celsius + 32;
}
//Celsius to Kelvin conversion
double Kelvin(double celsius)
{
return celsius + 273.15;
}
// dewPoint function NOAA
// reference:
double dewPoint(double celsius, double humidity)
{
double A0= 373.15/(273.15 + celsius);
double SUM = -7.90298 * (A0-1);
SUM += 5.02808 * log10(A0);
SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ;
SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ;
SUM += log10(1013.246);
double VP = pow(10, SUM-3) * humidity;
double T = log(VP/0.61078); // temp var
return (241.88 * T) / (17.558-T);
}
// delta max = 0.6544 wrt dewPoint()
// 5x faster than dewPoint()
// reference:
double dewPointFast(double celsius, double humidity)
{
double a = 17.271;
double b = 237.7;
double temp = (a * celsius) / (b + celsius) + log(humidity/100);
double Td = (b * temp) / (a - temp);
return Td;
}
/* ( THE END ) */
void setup() /*----( SETUP: RUNS ONCE )----*/
{
Serial.begin(9600);
Serial.println("DHT11 TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
tft.initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab (my type - RWI)
}/*--(end setup )---*/
void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
Serial.println("\n");
int chk = DHT11.read(DHT11PIN);
Serial.print("Read sensor: ");
switch (chk)
{
case 0: Serial.println("OK"); break;
case -1: Serial.println("Checksum error"); break;
case -2: Serial.println("Time out error"); break;
default: Serial.println("Unknown error"); break;
}
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, 2);
tft.fillScreen(ST7735_BLACK);
tft.setCursor(5, 5);
tft.setTextSize(0);
tft.print("DHT-11 Test Program");
tft.setTextColor(ST7735_GREEN);
tft.setTextSize(2);
tft.setCursor(5, 60);
tft.print((float)(DHT11.humidity),2);
//tft.setCursor(80, 60);
tft.println("%");
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature, 2);
Serial.print("Temperature (oF): ");
Serial.print(Fahrenheit(DHT11.temperature), 2);
//tft.fillScreen(ST7735_BLACK);
tft.setTextColor(ST7735_GREEN);
tft.setTextSize(3);
tft.setCursor(5, 30);
tft.print(Fahrenheit(DHT11.temperature),2);
//tft.setCursor(80, 30);
tft.print("F");
Serial.print("Temperature (K): ");
Serial.println(Kelvin(DHT11.temperature), 2);
Serial.print("Dew Point (oC): ");
Serial.println(dewPoint(DHT11.temperature, DHT11.humidity));
Serial.print("Dew PointFast (oC): ");
Serial.println(dewPointFast(DHT11.temperature, DHT11.humidity));
delay(2000);
}/* --(end main loop )-- */
code]