unstable analog inputs
hey guys
hope u having weekend
ive been trying modify code build soft of home automation system.
but im seeing unstable analog inputs
and cant realy find why
im using ethernet shield , sensor shield , 2 lm35 sensors boards dfrobot
when refreshing page or enabling outputs temperature vallues wil change
hope u having weekend
ive been trying modify code build soft of home automation system.
but im seeing unstable analog inputs
and cant realy find why
im using ethernet shield , sensor shield , 2 lm35 sensors boards dfrobot
when refreshing page or enabling outputs temperature vallues wil change
code: [select]
#include <led.h>
#include <wstring.h>
#include <ethernet.h>
#include <avr/pgmspace.h>
prog_char string_0[] progmem = "";
prog_char string_1[] progmem = "<tr><td><input type=submit name=b1 value=led1></td><td>";
prog_char string_2[] progmem = "<tr><td><input type=submit name=b2 value=led2></td><td>";
prog_char string_3[] progmem = "<tr><td><input type=submit name=b3 value=led3></td><td>";
prog_char string_4[] progmem = "<tr><td><input type=submit name=b4 value=led4></td><td>";
prog_char string_5[] progmem = "<tr><td><input type=submit name=b5 value=led5></td><td>";
prog_char string_6[] progmem = "<tr><td><input type=submit name=b6 value=led6></td><td>";
prog_char string_7[] progmem = "</form>";
prog_char string_8[] progmem = "<img src=data:image/gif;base64,r0lgodlheaaqakiaaad/aacgaisghmbhxv///waaaaaaaaaaacwaaaaaeaaqaaadueiq1b6qnehfgc2w6srfyyy0qak0v8gm5wj6qlga7ptuc20gme4tplkaj/ebg4bhdiyukosp5jaokwb2u6lkiilkm1xgpxpseayqckrihiqaads= alt=on ></td><td>";
prog_char string_9[] progmem = "<img src=data:image/gif;base64,r0lgodlheaaqakiaap////f398dawicagaaaaaaaaaaaaaaaacwaaaaaeaaqaaadtriq1l4wteghec2s6sjfyzy0h+ab0ngb7ocrqcoc5tl5cymot9cwfakgr9mfhy/dhyo8nd7moqqdryyku5o1wyixxi6zn3saispktiqbads= alt=off ></td><td>";
prog_char string_10[] progmem = "";
progmem const char *string_table[] = // change "string_table" name suit
{
string_0,
string_1,
string_2,
string_3,
string_4,
string_5,
string_6,
string_7,
string_8,
string_9,
string_10
};
char buffer[400]; // make sure large enough largest string must hold
byte mac[] = { 0xde, 0xad, 0xbe, 0xef, 0xfe, 0xed };
byte ip[] = { 192, 168, 1, 15 };
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };
string instring = string(35);
server server(80);
led led1 = led(2);
led led2 = led(3);
led led3 = led(4);
led led4 = led(5);
led led5 = led(6);
led led6 = led(7);
led led7 = led(8);
led led8 = led(9);
string msg="";
int tam=0;
int st1=9,st2=9,st3=9,st4=9,st5=9,st6=9,st7=9,st8=9;
void setup()
{
ethernet.begin(mac, ip,gateway,subnet);
server.begin();
}
void loop()
{
long tmp;
client client = server.available();
int led=0;
if (client) {
// http request ends blank line
boolean current_line_is_blank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
// if we've gotten end of line (received newline
// character) , line blank, http request has ended,
// can send reply
if (instring.length() < 35) {
instring.append(c);
}
if (c == '\n' && current_line_is_blank) {
if(instring.contains("b1")){
led1.toggle();
if(led1.getstate()) st1=8;
else st1=9;
led=1;
}
if(instring.contains("b2")){
led2.toggle();
if(led2.getstate()) st2=8;
else st2=9;
led=2;
}
if(instring.contains("b3")){
led3.toggle();
if(led3.getstate()) st3=8;
else st3=9;
led=3;
}
if(instring.contains("b4")){
led4.toggle();
if(led4.getstate()) st4=8;
else st4=9;
led=4;
}
if(instring.contains("b5")){
led5.toggle();
if(led5.getstate()) st5=8;
else st5=9;
led=5;
}
if(instring.contains("b6")){
led6.toggle();
if(led6.getstate()) st6=8;
else st6=9;
led=6;
}
if(instring.contains("msg")){
strcpy(msg,instring.substring(instring.indexof("g")+2,instring.indexof(" h")));
//serial.print("msg: ");
//serial.println(msg);
}
// send standard http response header
client.println("http/1.1 200 ok");
client.println("content-type: text/html");
client.println();
//scrivo l'intestazione
client.println("<html>");
//client.println("<meta http-equiv=refresh content=3; url=/ >");
client.println("<style> a:link{font:8pt/11pt verdana; color:red} a:visited {font:8pt/11pt verdana; color:blue} body {font:8pt/11pt verdana; color:black; background-color:white} </style>");
client.println("<title>home automation </title>");
client.println("</head>");
client.println("<body>");
client.println("<img src=http://members.quicknet.nl/m.vos2/logo.gif></td><td>");
client.println("<font size= 4><form method=get>");
client.println(" ");
client.print("temp 1 ");
analogreference(default);
delay(10);
tmp=((long)analogread(0)*5000)/1024;
client.print(tmp / 10);
client.print(".");
client.print(tmp % 10 );
client.print(" c");
client.println("<br />");
client.println(" ");
client.print("temp 2 ");
analogreference(default);
delay(10);
tmp=((long)analogread(1)*5000)/1024;
client.print(tmp / 10);
client.print(".");
client.print(tmp % 10);
client.print(" c" );
client.println("<p> <br>");
client.println("<table width=100>");
strcpy_p(buffer, (char*)pgm_read_word(&(string_table[0]))); // necessary casts , dereferencing, copy.
client.println( buffer );
for (int = 1; < 8; i++)
{
strcpy_p(buffer, (char*)pgm_read_word(&(string_table[i]))); // necessary casts , dereferencing, copy.
client.println( buffer );
switch(i){
client.println("b");
case 1: strcpy_p(buffer, (char*)pgm_read_word(&(string_table[st1]))); client.println( buffer ); break;
case 2: strcpy_p(buffer, (char*)pgm_read_word(&(string_table[st2]))); client.println( buffer ); break;
case 3: strcpy_p(buffer, (char*)pgm_read_word(&(string_table[st3]))); client.println( buffer ); break;
case 4: strcpy_p(buffer, (char*)pgm_read_word(&(string_table[st4]))); client.println( buffer ); break;
case 5: strcpy_p(buffer, (char*)pgm_read_word(&(string_table[st5]))); client.println( buffer ); break;
case 6: strcpy_p(buffer, (char*)pgm_read_word(&(string_table[st6]))); client.println( buffer ); break;
}
delay(30);
}
client.println("</table>");
client.println("<a href=/>refresh</a>");
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
// we're starting new line
current_line_is_blank = true;
} else if (c != '\r') {
// we've gotten character on current line
current_line_is_blank = false;
}
}
}
// give web browser time receive data
delay(1);
instring = "";
client.stop();
}
}
first thing noticed 2 calls analogreference, argument of default. since default setting, function not need called @ all.
slightly in 1 degree, or in 10 degrees? lm35 rated @ +/- 0.5 degrees c.
does led library set pinmode?
quote
when refreshing page or enabling outputs temperature vallues wil change
slightly in 1 degree, or in 10 degrees? lm35 rated @ +/- 0.5 degrees c.
does led library set pinmode?
Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > unstable analog inputs
arduino
Comments
Post a Comment