Este espaço é reservado para mostrarmos nossos equipamentos meteorológicos:

Exibições: 1645

Respostas a este tópico

Olá!

Estes dados são enviados para um cartão de memória? 

No caso você usa o shield ethernet com sd? Se usa acessa os dados do cartão somente quando retira ele do shield? Ou consegue acessar com o arduino?

Obrigado

Att.

Rodrigo Pinheiro

Olá rodrigo,

Na ralidade o arduino manda os dados via serial em tempo real ao computador, portanto não utilizer nenhum shield, apenas o arduino e os sensores. Caso se interesse nesse programa, posso anexá-lo aqui.

MLN

Olá Murilo,

se possível quero sim, tenho este código para o shield ethernet w5100 com cartão e memória, dá uma lhada se dá para usar e montar tipo um datalog.

//Programa : Sensor de umidade e temperatura DHT11
// Rodrigo Pinheiro

#include <SPI.h>
#include <Ethernet.h>
#include <dht.h>
#define dht_dpin A1 //Pino DATA do Sensor ligado na porta Analogica A1
dht DHT; //Inicializa o sensor
#include <SD.h>
const int chipSelect = 4;//////pertence á sd

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////sensor dht11 //////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int pinoSensor = 0;
int valorLido = 0;
float temperatura = 0;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////conexção intern //////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

byte mac[] = { 0x48, 0xC2, 0xA1, 0xF3, 0x8D, 0xB7 };
byte ip[] = { 192,168,0,177 };
// UEM byte ip[] = { 10,253,40,253 };

// Start the server on port 80
EthernetServer server(80);

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup()
{
Serial.begin(9600); //inicia a porta serial
// Begin ethernet and server
Ethernet.begin(mac, ip);
server.begin();

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////inicialização do cartão //////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Serial.print("Initializing SD card...");
// make sure that the default chip select pin is set to
// output, even if you don't use it:
pinMode(10, OUTPUT);

// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
return;
}
Serial.println("card initialized.");

}
void loop()
{

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////sensores //////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// DHT11

DHT.read11(dht_dpin); //Lê as informações do sensor

delay(2000); //Não diminuir muito este valor. O ideal é a leitura a cada 2 segundos


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////sd //////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
File dataFile = SD.open("rodrigo.txt", FILE_WRITE);

// if the file is available, write to it:
if (dataFile) {
/////// //dataFile.println(dataString);
dataFile.print("Humidade Relativa ");
dataFile.print(DHT.humidity);
dataFile.println(" ");
dataFile.println(" % ");
dataFile.print("Temperatura ");
dataFile.println(DHT.temperature);
dataFile.println(" ºC ");

dataFile.close();
// print to the serial port too:
//Serial.println(dataString);
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////serial //////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Serial.print("Umidade = ");
Serial.print(DHT.humidity);
Serial.print(" % ");
Serial.print("Temperatura = ");
Serial.print(DHT.temperature);
Serial.println(" Celsius ");

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////internet //////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


// listen for incoming clients

pinMode(4, OUTPUT);

EthernetClient client = server.available();
if (client) {
// an http request ends with a blank line
boolean BlankLine = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();

//If line is blank and end of line is newline character '\n' = end of HTTP request
if (c == '\n' && BlankLine) {

client.println("HTTP/1.1 200 OK"); // Standard HTTP response
client.println("Content-Type: text/html\n");
client.println("<html><head><META HTTP EQUIV=""refresh""CONTENT=""5"">\n");
client.println("<title>Arduino Web Server</title></head>");
client.println("<body>\n");
client.println("<center>");
client.println("<h1>Arduino Web Server</h1>");
client.println("<h1> </h1>");
client.println("<h1>RODRIGO PINHEIRO</h1>");
client.println("<h1> </h1>");
client.println("<font size= 5 >");
client.println("Temp: ");
client.println(DHT.temperature);
client.println(" ºC ");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("Humidade: ");
client.println(DHT.humidity);
client.println(" % ");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<a href=http://labdegaragem.com/profile/pinheiro>Minha Pagina</a>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("<h1> </h1>");
client.println("rpsilva100@hotmail.com");


client.println("<br/>");

break;
}
if (c == '\n') {
// Starting a new line
BlankLine = true;
}
else if (c != '\r') {
// Current line has a character in it
BlankLine = false;
}
}
}
// Allow time for the browser to receive data
delay(10);
// Close connection
client.stop();
pinMode(4, OUTPUT);

delay(1000);

}
}

Att...

Rodrigo Pinheiro

Olá Rodrigo,

Esse é o sketch para aparecer a temperatura e a umidade no seu pc através do arduino via serial:

#include <dht.h>
#define dht_dpin A1

dht DHT;

void setup()
{
Serial.begin(9600);
delay(1000);
}

void loop()
{
DHT.read11(dht_dpin);

Serial.print("vento");
Serial.print("\n");
Serial.print("00");
Serial.print("\n");
Serial.print("temperatura");
Serial.print("\n");
Serial.print(DHT.temperature);
Serial.print("\n");
Serial.print("umidade");
Serial.print("\n");
Serial.print(DHT.humidity);
Serial.print("\n");

delay(2000);
}

o EstMetDuino pode ser baixado aqui:

http://labdegaragem.com/forum/attachment/download?id=6223006%3AUplo...

Caso queira mais informações sobre esse programa, me comunique.

MLN

Anexos

Caro Murilo, bom dia,

Segue imagens da minha estação meteorológica experimental Rio Vermelho.

Um abraço.

Anexos

Estação Meteorológica Mandacaru

Professor Flavio Ribeiro

Até o momento esta estação meteorológica experimental esta equipada com um Anemômetro SV10, do tipo copo (caneca), produzido em alumínio de alta durabilidade. Esse anemômetro consegue fazer a leitura da velocidade do vento de 0 a 33,33 m/s, isso mesmo, incríveis 120 km/h. Possui sensor reed switch e forte nível de proteção anti-interferência.

Conta também com um Sensor de Umidade e Temperatura SHT20 + Encapsulamento IP65 responsável pelas leituras de temperatura e umidade externa. Sensor de Umidade SHT20 é módulo eletrônico profissional desenvolvido para verificar a umidade relativa do ar e a temperatura de forma segura e eficiente, sem margens de erros elevadas como ocorre em outros sensores comuns. Outro diferencial do Sensor de Umidade e Temperatura SHT20 é sua alta precisão, permitindo mensurar a umidade do ar de 0 a 100 RH com margem de tolerância de 3% e a temperatura em escalas de -40°C a 125°C com margem de tolerância de 0,3°C.

Foi instalado também um Alojamento do Sensor de Temperatura e Umidade, produzido em alumínio ele apresenta grande resistência à oxidação podendo ser aplicado em diversos ambientes, mesmo úmidos, possuindo formato próprio para proporcionar os resultados mais precisos durante a utilização. A pintura por sua vez é epóxi, já visando evitar problemas com a radiação do sol. Ele conta ainda com uma série de espaçamentos entre as aletas para possibilitar uma perfeita ventilação de forma a evidenciar a medida real do ar externo.

Para medir a temperatura e umidade internos estou usando o conhecido Sensor de Umidade e Temperatura - DHT11, utilizado para medir a temperatura nas escalas de 0 a 50° graus celsius e a umidade do ar nas faixas de 20 a 90%.

As informações coletas são exibidas em um Display LCD 20x4 I2C com Fundo Azul, equipamento com fundo azul que possui capacidade de suportar a exibição de até 20 caracteres por linha em uma tela de 4 linhas.

Esse protótipo esta acondicionado em uma caixa de um antigo modem da operadora oi. Os botões não possuem ainda nenhuma função.

As telas mostradas no display ficam se alternando a cada 5 segundos.

Ainda falta muito coisa a ser implementada. O próximo passo é desenvolver o programa para mostrar as temperaturas máximas e minimas registradas, bem como as máximas e minimas velocidade do vento e RPM do anemômetro.

Hoje implementei a coleta e apresentação das temperaturas e umidades máxima e minima dos sensores internos e externos e também da velocidade do vento máxima e mínima.

Dessa forma são agora 5 telas para mostrar essas funções todas.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço