Thanks, I will test the battery ( perhaps I will buy another RTC)
Would you have an idea when trying to connect with smartphone, arduino freezes - orange led starts blinking and no response...
Is there a way to use mobile devices with your control system?
No idea, I don't have a smart phone. My involvement is more about feeds to the internet and the only mobile device is a laptop getting the same data feed via bluetooth.
Nick_Pyner:
No idea, I don't have a smart phone. My involvement is more about feeds to the internet and the only mobile device is a laptop getting the same data feed via bluetooth.
thanks for fast reply!
I wonder if there is anybody who has tried to connect to this sketch with a smartphone ?
I have encountered another issue, when trying to connect with smartphone, arduino freezes - orange led starts blinking and no response...
Is there a way to use mobile devices with your control system?
Thanks!
i have experienced this as well when using the stock android browser. i have to use Mobile Fire Fox browser and i have no issues when using my smart phone. i have not determined what the cause of this behavior is. Just use fire fox mobile and you should not have any problems. there must be some issue with how the stock andriod browser behaves that keep the sketch in an infinite loop within the client connected code.
mkcinek:
Thanks, I will test the battery ( perhaps I will buy another RTC)
Would you have an idea when trying to connect with smartphone, arduino freezes - orange led starts blinking and no response...
Is there a way to use mobile devices with your control system?
the battery is required to keep the RTC module's time going when no external power is applied. otherwise the clock resets to zero.
mkcinek:
ps. what rtc module do you use ? I do not know why but I just can not start mine - it is Tiny RTC I2C module...
thanks!
hi, any idea why I am only getting Middle Ground temp reading although Cold and Middle sensors connected.
Two one wire sensors with 4,7k resistors on each.
mkcinek:
hi, any idea why I am only getting Middle Ground temp reading although Cold and Middle sensors connected.
Two one wire sensors with 4,7k resistors on each.
thanks!
i honestly do not know. i myself have one 4.7k resistor per sensor as well since each data line goes to its own dedicated I/O pin. do you have the sensors connected to the correct pin? have you tried to make sure the sensors that are not working, work correctly when connected to the I/O pin of one that does?
mkcinek:
hi, any idea why I am only getting Middle Ground temp reading although Cold and Middle sensors connected.
Two one wire sensors with 4,7k resistors on each.
thanks!
i honestly do not know. i myself have one 4.7k resistor per sensor as well since each data line goes to its own dedicated I/O pin. do you have the sensors connected to the correct pin? have you tried to make sure the sensors that are not working, work correctly when connected to the I/O pin of one that does?
As far as I know one wire sensors are attached to 22,24,26, 28,30 pins.
Only getting Middle Ground readings, however after switching from Celsius to Fahrenheit I can get readings wherever sensor is connected, do you work on F or C?
thanks!!!
i keep mine in F the entire time. i just checked, and it is doing the same thing on my system when set to C.... i will have to look into what is going on.
void CONVERT_TEMP(byte Sensor_PIN, byte & temp_whole, byte & temp_fract, byte & temp_status) {
OneWire dSensor1(Sensor_PIN);
byte i;
byte present = 0;
byte data[12];
byte addr[8];
int HighByte, LowByte, TReading, SignBit, Tc_100;
if ( !dSensor1.search(addr)) {
dSensor1.reset_search();
delay(250);
temp_whole = 0;
temp_fract = 0;
temp_status = 0;
badsensorcount ++;
return;
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
temp_whole = 0;
temp_fract = 0;
temp_status = 0;
badsensorcount ++;
return;
}
// The DallasTemperature library can do all this work for you!
dSensor1.reset();
dSensor1.select(addr);
dSensor1.write(0x44,0); // start conversion, without parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not
// we might do a dSensor1.depower() here, but the reset will take care of it.
present = dSensor1.reset();
dSensor1.select(addr);
dSensor1.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = dSensor1.read();
}
LowByte = data[0];
HighByte = data[1];
TReading = (HighByte << 8) + LowByte;
SignBit = TReading & 0x8000; // test most sig bit
if (SignBit) // negative
{
TReading = (TReading ^ 0xffff) + 1; // 2's comp
}
Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25
if (temp_scale == 1){//if using degrees F, the celcius reading from the sensor must be converted
temp_whole = (int)(((Tc_100)*(1.8))+3200)/100;
temp_fract = (int)(((Tc_100)*(1.8))+3200)%100;
if (temp_whole > 32){
temp_status = 1;//if the temperature is above 32 degrees F, then the sensor is OK
}else{
temp_status = 0;//the sensor must be bad as the temperature must never get down as low as 32 degrees F, the snake would die!!
}
}else{//if using degrees C, the temp reading is good as is.
middle_temp_whole = Tc_100/100;
middle_temp_fract = Tc_100%100;
if (temp_whole > 0){
temp_status = 1;//if the temperature is above 0 degrees C, then the sensor is OK
}else{
temp_status = 0;//the sensor must be bad as the temperature must never get down as low as 0 degrees C
}
}
}
to
void CONVERT_TEMP(byte Sensor_PIN, byte & temp_whole, byte & temp_fract, byte & temp_status) {
OneWire dSensor1(Sensor_PIN);
byte i;
byte present = 0;
byte data[12];
byte addr[8];
int HighByte, LowByte, TReading, SignBit, Tc_100;
if ( !dSensor1.search(addr)) {
dSensor1.reset_search();
delay(250);
temp_whole = 0;
temp_fract = 0;
temp_status = 0;
badsensorcount ++;
return;
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
temp_whole = 0;
temp_fract = 0;
temp_status = 0;
badsensorcount ++;
return;
}
// The DallasTemperature library can do all this work for you!
dSensor1.reset();
dSensor1.select(addr);
dSensor1.write(0x44,0); // start conversion, without parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not
// we might do a dSensor1.depower() here, but the reset will take care of it.
present = dSensor1.reset();
dSensor1.select(addr);
dSensor1.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = dSensor1.read();
}
LowByte = data[0];
HighByte = data[1];
TReading = (HighByte << 8) + LowByte;
SignBit = TReading & 0x8000; // test most sig bit
if (SignBit) // negative
{
TReading = (TReading ^ 0xffff) + 1; // 2's comp
}
Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25
if (temp_scale == 1){//if using degrees F, the celcius reading from the sensor must be converted
temp_whole = (int)(((Tc_100)*(1.8))+3200)/100;
temp_fract = (int)(((Tc_100)*(1.8))+3200)%100;
if (temp_whole > 32){
temp_status = 1;//if the temperature is above 32 degrees F, then the sensor is OK
}else{
temp_status = 0;//the sensor must be bad as the temperature must never get down as low as 32 degrees F, the snake would die!!
}
}else{//if using degrees C, the temp reading is good as is.
temp_whole = Tc_100/100;
temp_fract = Tc_100%100;
if (temp_whole > 0){
temp_status = 1;//if the temperature is above 0 degrees C, then the sensor is OK
}else{
temp_status = 0;//the sensor must be bad as the temperature must never get down as low as 0 degrees C
}
}
}
mkcinek:
It looks great, everything is organized as it should be - but where is the snake ?
Have you update your code recently ?
the snake only like to come out at night
my latest will be uploaded later tonight. only a few small things have been tweaked, and i re-added corrected code so the RTC will update off NTP servers once a day.
1.) corrected an issue where the heat lamp would not properly turn off
2.) modified the system so the images used on the main page to signify if the relays are on/off and if the temperature sensors are good/bad are no longer pulled off my photobucket account, but are pulled directly off the SD card.
Just wondering if you made any changes to the sketch?
Are you working on other great arduino projects?
Thanks!
i have not made any changes. it has been working exactly as i want, and i have not found any issues after running constantly for 2.5 months without interruption.
First of all it is the best arduino project seen by me. You did a good job.
I have some issue and I dont know where is the problem and maybe you can help me:
In both situation I only use the arduino mega + RTC + Ethernet shiel + microSD 4GB
In first situation after I upload webserverinit I see on serial monitor that all parameters are ok, after that I upload the webserver code and also this one on serial monitor is ok. I ping the IP and is working very well. The isue is after I browsing thrue webserver pages the webpage (after 1-2 min) is not responding.
After one week of pause I re-upload all the codes again because in this week I use arduino for other projects and the situation is like this: arduino respond on ping, did not open any webpage anymore and few seconds after I try to open the webpage is start pulsing fast the orange led on the ethernet shiel (the one near pin 13) and I can't do nothing.
It is any problem because I did not conect any temp senzor yet and only I want to play with the webpage?
First of all it is the best arduino project seen by me. You did a good job.
I have some issue and I dont know where is the problem and maybe you can help me:
In both situation I only use the arduino mega + RTC + Ethernet shiel + microSD 4GB
In first situation after I upload webserverinit I see on serial monitor that all parameters are ok, after that I upload the webserver code and also this one on serial monitor is ok. I ping the IP and is working very well. The isue is after I browsing thrue webserver pages the webpage (after 1-2 min) is not responding.
After one week of pause I re-upload all the codes again because in this week I use arduino for other projects and the situation is like this: arduino respond on ping, did not open any webpage anymore and few seconds after I try to open the webpage is start pulsing fast the orange led on the ethernet shiel (the one near pin 13) and I can't do nothing.
It is any problem because I did not conect any temp senzor yet and only I want to play with the webpage?
Please advice me.
Thank you very much
Dan
specifically off the top of my head, it sounds a lot like the issues i had when accessing the web pages from my smart phone's browser. in andriod, the stock browser would always cause the arduino Ethernet shield to not respond anymore. If i used firefox on my andriod, then everything worked fine.
with that said, i have used IE and firefox without issues. what browser are you using?
what i would do to see what the issue is to add a serial print command at the beginning of every function. that way you can see how the functions are called, and then you can see which function the arduino stops responding at.