Please keep in mind that I am still a bbeginner. So my programing skill are not the best.
That is why I didnt posted the code in the first post because I am afraid you are not able to follow it.
So if you have any questions please ask.
here you have the main code:
#include <OneWire.h>
#include <SPI.h>
#include <Ethernet.h>
#include <DHT.h>
#include "max6675.h"
#define DHTPIN 23 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
int thermoDO = 31;
int thermoCS = 26;
int thermoCLK = 29;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO); // Inicialization of the MAX6675 board used for the thermocouple of the Caldeira
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
EthernetServer server(80);
OneWire ds22(22); // on pin 22 Sensor colocado no anexo
OneWire ds24(24); // on pin 24 sensor colocado junto ao quadro electrico
OneWire ds27(27); // on pin 27 sensor colocado na cozinha por cima do armário
OneWire ds25(25); // on pin 25 sensor colocado na sala por cima da televisão
OneWire ds30(30); // on pin 30 2 sensores colocados um no tubo de entrada da caldeira e outro no tubo de saida
byte sensor1[8] = {
0x28, 0xF0, 0xA9, 0xA5, 0x03, 0x00, 0x00, 0x60};
byte sensor2[8]= {
0x28, 0x6, 0x9F, 0xA5, 0x03, 0x00, 0x00, 0xB8};
byte sensor3[8]= {
0x28, 0x3D, 0xB4, 0xA5, 0x03, 0x00, 0x00, 0x25};
byte sensor4[8]= {
0x28, 0xDD, 0xC2, 0xA5, 0x03, 0x00, 0x00, 0xFD};
byte sensor5[8]= {
0x10, 0x54, 0xF0, 0x3B, 0x02, 0x08, 0x00, 0x4A}; //Sensor colocado no tubo de entrada de água para a caldeira
byte sensor6[8]= {
0x10, 0x8D, 0xE9, 0x3B, 0x02, 0x08, 0x00, 0x97}; //Sensor colocado no tubo de saida de água para a caldeira
int count=0;
int count2=0;
double sumlight;
double avrlight;
double sumtext;
double avrtext;
double sumhum1;
double avrhum1;
double sumtanex;
double sumtcor;
double avrtanex;
double avrtcor;
double avrtcoz;
double sumtcoz;
double avrtsal;
double sumtsal;
double avrcaldin;
double sumcaldin;
double avrcaldout;
double sumcaldout;
double avrcaldeira;
double sumcaldeira;
void setup(void) {
// start the serial library:
Serial.begin(9600);
pinMode(10, OUTPUT);
dht.begin();
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
for(;;)
;
}
// print your local IP address:
Serial.print("My IP address: ");
for (byte thisByte = 0; thisByte < 4; thisByte++) {
// print the value of each byte of the IP address:
Serial.print(Ethernet.localIP()[thisByte], DEC);
Serial.print(".");
}
Serial.println();
server.begin();
}
void loop(void) {
int i=0;
double temparray[6];
String namearray[9];
float dataarray[9];
float sumarray[9];
float avrarray[9];
namearray[0]="Exterior";
namearray[1]="Humidade";
namearray[2]="Luminusidade";
namearray[3]="Anexo";
namearray[4]="Corredor";
namearray[5]="Cozinha";
namearray[6]="Sala";
namearray[7]="Caldeira";
namearray[8]="Entrada";
namearray[9]="Saida";
dataarray[0]=dht.readTemperature();
dataarray[1]=dht.readHumidity();
dataarray[2]=analogRead(A0);
dataarray[3]=getTemperature(22,sensor1);
dataarray[4]=getTemperature(24,sensor2);
dataarray[5]=getTemperature(27,sensor3);
dataarray[6]=getTemperature(25,sensor4);
dataarray[7]=thermocouple.readCelsius();
dataarray[8]=getTemperature(30,sensor5);
dataarray[9]=getTemperature(30,sensor6);
count++;
count2++;
for (byte i=0;i<9;i++){
sumarray[i]=sumarray[i]+dataarray[i];
avrarray[i]=sumarray[i]/count2;
}
Serial.print("Temp Exterior=");
Serial.println(dataarray[0]);
Serial.print("Humidade=");
Serial.println(dataarray[1]);
Serial.print("Luz=");
Serial.println(dataarray[2]);
Serial.print("Temp Anexo=");
Serial.println(dataarray[3]);
Serial.print("Temp Corredor=");
Serial.println(dataarray[4]);
Serial.print("Temp Cozinha=");
Serial.println(dataarray[5]);
Serial.print("Temp Sala=");
Serial.println(dataarray[6]);
Serial.print("Temp caldeira in=");
Serial.println(dataarray[8]);
Serial.print("Temp caldeira out=");
Serial.println(dataarray[9]);
Serial.print("Temp caldeira=");
Serial.println(dataarray[7]);
for (byte i=0;i<9;i++){
Serial.println(sumarray[i]);
Serial.println(avrarray[i]);
}
Serial.print(" Numero medicoes: ");
Serial.println(count);
Serial.println(count2);
if (count2==60) {
Serial.print(" Count2=60. Connecting .... ");
Serial.println(count2);
temparray[0]=dataarray[0];
temparray[1]=dataarray[1];
temparray[2]=dataarray[2];
temparray[3]=dataarray[3];
temparray[4]=dataarray[4];
temparray[5]=dataarray[5];
temparray[6]=dataarray[6];
escreve(temparray); // chama a função para escrever dados na BD do servidor domotica
for (byte i=0;i<9;i++){
sumarray[i]=0;
avrarray[i]=0;
}
count2=0;
}
delay (5000);
}
I will make another post with the code for the functions.
Please help me...
José