bem sou novo tanto no forum como no Arduino
Sou paraplégico e o meu passa tempo é o pc e o Arduino mas eu ainda não sei nada sei programar mal, mas la vou e eu tenho um sketch que tirei da net ja não sei de onde em que ele me esta a funcionar bem mas gostava de saber se é possível acrescentar mais 2 funções que era um detector de chuva pra saber quando chove e um anemómetro pra saber se estava vento mas seria no sketch a seguir visto que ele me esta a dar bem mas só em humidade e temperatura seria como +/- na imagem anexada
desde ja o meu muito Obrigado a quem me poder Ajudar
#include <DHT.h>
#define DHTPIN A1 // 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);
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0xD4, 0x28, 0xB2, 0xFF, 0xA0, 0xA1 }; //MAC address found on the back of your ethernet shield.
IPAddress ip(192,168,1,82); // IP address dependent upon your network addresses.
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
dht.begin();
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
// Reading temperature or humidity takes about 100 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();
// 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");
}
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); // the connection will be closed after completion of the response
client.println("Refresh: 5"); // refresh the page automatically every 5 sec
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
// output the value of the DHT-22
client.println("<H2>");
client.print("Humidade: ");
client.println("</H2>");
client.println("<p />");
client.println("<H1>");
client.print(h);
client.print(" %\t");
client.println("</H1>");
client.println("<p />");
client.println("<H2>");
client.print("Temperatura: ");
client.println("</H2>");
client.println("<H1>");
client.print(t);
client.println(" °");
client.println("C");
client.println("</H1>");
client.println("</html>");
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
}
else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
Serial.println("client disonnected");
}
}
Tags:
Caro José, não sabe ler em inglês ?
O Google vai te ajudar :
http://labdegaragem.com/forum/topics/lendo-material-em-ingl-s
José , esse projeto é de um colega do Lab de Garagem - Murilo Lima Nogueira.
Procure entrar em contato com ele:
Sim o sketch esta a funcionar bem o que eu postei no inicio do meu pedido de Ajuda veio da net mas não me lembro de onde foi
sim tb sei que o Google tradutor traduz de inglês para Português mas,
bem a coisa é assim sou paraplégico desde a muitos Anos e estou a fazer exames da minha coluna para ver se eu tenho ipotes de voltar a andar novamente é verdade não é desculpa mas a minha cabeça esta mais virada pra esse lado
fico grato por a ajuda que me possam dar
Oi JS, boa noite.
Demorei um pouco a responder pois estava fazendo a parte electromecânica do anemometro.
Eu fiz assim.
peguei um cooler que eu tinha aqui em casa, retirei o miolo dele e deixei somente o sessor Hall.
Depois peguei um code de anemometro que encontrei na net e adaptei.
Funcionou muito bem.
Os valores de velocidade do vento ainda não foram ajustados para serem corretos.
É só uma referencia por enquanto.
Qdo funcionou, eu juntei com o code de ler os sensores de umidade e temperatura.
Por enquanto estou enviando os dados para a serial e para um LCD.
A parte da ethernet será depois.
seque o código que escrevi até até agora e fotos do sensor de vento.
Código em anexo.
Agora vou trabalhar no sensor de chuva e se conseguir, no sensor de direção de vento.
Rui
Faltou o anexo
Não ha problema na demora
Obrigado por a sua disponibilidade em me Ajudar com este sketch como disse sou paraplégico e me daria muita utilidade em saber de como esta o tempo la fora pros dias que eu terei de estar deitado devido o meu problema hihi
O meu Muito Obrigado
Oi JS, bom dia.
Seguindo o objetivo da estação meteorologia vou postar os avanços.
Apesar de ser resistente à apresentar um as ligações da forma pictórica, estarei fazendo-a aqui
Prefiro a forma esquemática. Me entendo melhor com esta forma.
Acrescentei o sensor de chuva, e modifiquei a rotin
a do anemometro.
Apesar de estar usando o DHT11. recomendo o uso do DHT22, pois a resolução de
temperatura do DHT11 é de 1 em 1 grau e do DHT11 é de 0,1 em 0,1 grau.
Na rotina anterior a velocidade variava, quando se fazia a leitura do sensor de temp/umid..
Código novo em anexo.
Agora estudar como fazer a detecção da direção do vento.
Depois a pressão atmosférica. kkkkk
Rui
Wau Sr Rui Viana
Vc é o máximo mesmo eu lhe fico Agradecido por a sua disponibilidade e empenho em me Ajudar com este código
Obrigado
Boa Noite Sr Rui Viana
sabe como esta no desenho que mandou ja estaria bem contente em ter o codigo mas a funcionar com o Ethernet Shield mediante o código que eu tinha mandado no inicio ja estria bem contente
Obrigado por a sua Ajuda
Boa noite Sr. JS
Acrescentei no code a parte relativa ao ethernet shield.
Esta área eu domino pouco.
Teste aí e depois me conta.
Rui
Obrigado vou testar ele assim que eu vier da minha consulta do medico e depois ja lhe digo alguma coisa
mais uma vez muito obrigado
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Boa Noite Sr Rui Viana
bem eu tentei experimentar o código que mandou mas ele não me dá no monitor série é que eu ainda não tenho o lcd e pra dizer a verdade me seria mais útil no Monitor série e tb no Ethernet shield será que é erro meu ele não estar a dar ?
Obrigado por a sua disponibilidade e compreensão e por a sua gentileza