Índice:
- Etapa 3: JAWS: Software
- Etapa 4: Mais software …
- Etapa 5: algumas capturas de tela …
- Etapa 6: Concluído?
Vídeo: JAWS: apenas outra estação meteorológica: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
É muito simples fazer um JAWS.
Você pega seus sensores, os joga juntos em placas e começa a usar as bibliotecas que vêm com os sensores.
Vamos começar com a configuração do programa.
Como falo holandês (falante nativo), todos os dados e muitas das variáveis que utilizo estão em holandês. Agora você tem a chance de aprender outro idioma …
O que queremos do JAWS?
Fácil: queremos assistir a uma tela que nos mostre a hora real, a data, as efemérides (sol nascente, sol poente, duração do dia e meio-dia astronômico).
Além disso, seria bom ver a temperatura interna e externa, a umidade relativa, o ponto de orvalho e a pressão do ar.
Para facilitar as coisas, uso graus centígrados para temperatura e hPa (= mBar) para pressão. Então, ninguém precisa calcular de volta a partir de Fahrenheit ou libras por estádios quadrados …
No momento, apenas esses dados estão disponíveis …
No futuro, vou adicionar velocidade do ar, direção do vento e precipitação.
A ideia é que terei uma cabana meteorológica externa e todos os dados serão enviados em 2,4 GHz para a unidade interna.
Etapa 3: JAWS: Software
Para obter nosso software, a maioria pode ser encontrada com as bibliotecas existentes.
No JAWS eu uso os seguintes:
- SPI.h: A biblioteca original do Arduino para protocolo de 4 fios. Ela é usada para o escudo TFT
- Adafruit_GFX.h e MCUfriend_kbv.h: ambos usados para gráficos e tela. Isso torna muito fácil escrever texto, desenhar linhas e caixas na tela TFT.
- dht.h: para nossos DHTs: esta biblioteca pode ser usada para DHT11 (o azul) e DHT22.
- Wire.h: a biblioteca Arduino para facilitar a comunicação serial. É usado para o relógio e o cartão SD.
- SD.h: Novamente um original Arduino, para escrever e ler do cartão SD.
- TimeLord.h: este eu uso para manter o tempo, calcular o pôr do sol ou o nascer do sol a partir de qualquer posição geográfica. Também acerta o relógio para o horário de verão (verão ou inverno).
Vamos começar com o relógio.
Ao ler um relógio, você precisa das variáveis que obtém de diferentes registradores dentro do módulo de relógio. Quando os tornamos mais do que apenas números, podemos usar as seguintes linhas:
const int DS1307 = 0x68; const char * dias = {"Zo.", "Ma.", "Di.", "Wo.", "Do.", "Vr.", "Za."};
const char * months = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11 "," 12 "};
n
Com o TimeLord, obtemos isso como dados, para o meu local: (Lokeren, Bélgica)
TimeLord Lokeren; configurá-lo Lokeren. Position (51.096, 3,99); longitude e latitude
Lokeren. TimeZone (+ 1 * 60); GMT +1 = +1 x 60 minutos
Lokeren. DstRules (3, 4, 10, 4, 60); DST do 3º mês, 4ª semana ao 10º mês, 4ª semana, + 60 minutos
int jaar = ano +2000;
byte sunRise = {0, 0, 12, dia do mês, mês, ano}; comece a calcular todos os dias a partir das 00 horas
byte sunSet = {0, 0, 12, dia do mês, mês, ano}; o mesmo que acima
byte maan = {0, 0, 12, dia do mês, mês, ano}; o mesmo que acima
fase de flutuação;
A partir daqui, os cálculos são feitos.
fase = Lokeren. MoonPhase (maan);
Lokeren. SunRise (sunRise);
Lokeren. SunSet (sunSet);
Lokeren. DST (sunRise);
Lokeren. DST (sunSet);
int ZonOpUur = sunRise [tl_hour];
int ZonOpMin = sunRise [tl_minute];
int ZonOnUur = sunSet [tl_hour];
int ZonOnMin = sunSet [tl_minute];
Este é o exemplo de como as coisas são calculadas no TimeLord. Com esta biblioteca, você obtém horas (bonitas) precisas do pôr do sol e do nascer do sol.
No final, colocarei todo o programa com este Instructable. É muito simples.
Etapa 4: Mais software …
Mais sobre o software …
Temos três grandes partes no software.
1) Obtemos alguns dados brutos de nossos diferentes sensores: de nosso relógio, DHTs e BMP180. Essa é a nossa opinião.
2) Precisamos traduzir os dados para (1 e 0) para algo que faça sentido. Para isso, usamos nossas bibliotecas e variáveis.
3) Queremos ler e armazenar nossos dados. Essa é a nossa saída. Para uso imediato, temos nosso LCD-TFT, para uso posterior, temos nossos dados salvos em nosso cartão SD.
Em nosso loop (), obtemos muitos "GOTOs": saltamos para as diferentes bibliotecas. Obtemos nossos dados de um dos sensores, obtemos os dados e os armazenamos em (principalmente) uma variável de dados flutuante. Escolhemos nossos nomes de variáveis sabiamente, não com x ou y, mas com nomes como "tempOutside" ou "pressão" ou coisas assim. Para torná-los mais legíveis. OK, isso torna um pouco mais pesado o uso de variáveis e mais consumo de memória.
Aí vem o truque: ao tornar nossas variáveis visíveis na tela, basta colocá-las na posição certa.
As duas bibliotecas usadas aqui, Adafruit_GFX.h e MCUfriend_kbv.h têm um bom conjunto de trabalho para usar cores, fontes e a capacidade de desenhar linhas. Em uma primeira instância, usei uma tela de 12864 com essas bibliotecas, depois mudei isso na tela tft. Tudo o que tive que fazer foi colocar caixas, retângulos e linhas, e ter certeza de que os dados saíram no lugar certo. Para isso, você pode usar setCursor e tft. Write como comando. Fácil. As cores também podem ser definidas como variáveis; há muitos exemplos nessas bibliotecas de como escolhê-las.
Para escrever no cartão SD, também precisamos de alguns truques simples.
Por exemplo, lemos nossos dados do relógio como horas, minutos e segundos separados. As temperaturas são DHT.temperature e DHTT.temperature, para diferenciar entre interior e exterior.
Quando queremos colocá-los no cartão SD, usamos uma string: iniciamos cada loop como uma string vazia:
variablestring = ""; Então, podemos preenchê-lo com todos os nossos dados:
cadeia variável = cadeia variável + horas + ":" + minutos + ":" + segundos. Isso dá a string como 12:00:00.
Como o escrevemos como um arquivo TXT (consulte o SD.h em Arduino.cc), para as próximas variáveis adicionamos uma guia, para que seja mais fácil importá-lo no Excel.
Então chegamos a: variablestring = variablestring + "\ t" + DHT.temperature + "\ t" + DHTT. Temperature.
E assim por diante.
Etapa 5: algumas capturas de tela …
Para ter certeza de não "sobrecarregar" nossos conjuntos de dados, escrevi dados apenas uma vez a cada 10 minutos. O que nos dá 144 entradas por dia. Nada mal, eu acho.
E, claro, você pode continuar a processar esses dados: você pode fazer médias, pode procurar máximos e mínimos, pode comparar com os anos anteriores …
Os escritórios atendidos geralmente fazem a média do dia e da noite, para as temperaturas: o dia começa às 8h e vai até as 20h.
Para vento, pressão e precipitação, as médias são tiradas da meia-noite à meia-noite.
Etapa 6: Concluído?
Na verdade, não … Como eu disse, gostaria de finalmente fazer o sensor de velocidade e direção do vento funcionar com o resto do JAWS.
A pequena construção que fiz tem cerca de 4m de altura. O meteorologista obtém a velocidade do vento de 10m de altura. Um pouco alto demais para mim …
Espero que você tenha gostado de ler isso!
Adafruit-GFX é explicado aqui:
MCUFRIEND_kbv.h pode ser encontrado aqui:
Mais sobre o BMP 120 (igual ao BMP085):
Sobre DHT22:
Recomendado:
Estação meteorológica NaTaLia: Estação meteorológica com energia solar Arduino Feito da maneira certa: 8 etapas (com fotos)
Estação meteorológica de NaTaLia: Estação meteorológica com energia solar Arduino feito da maneira certa: após 1 ano de operação bem-sucedida em 2 locais diferentes, estou compartilhando meus planos de projeto de estação meteorológica movida a energia solar e explicando como ela evoluiu para um sistema que pode realmente sobreviver por muito tempo períodos de energia solar. Se você seguir
Estação meteorológica DIY e estação de sensor WiFi: 7 etapas (com fotos)
Estação meteorológica DIY e estação de sensor WiFi: Neste projeto, vou mostrar como criar uma estação meteorológica juntamente com uma estação de sensor WiFi. A estação sensora mede os dados locais de temperatura e umidade e os envia, via WiFi, para a estação meteorológica. A estação meteorológica exibe então t
Outra estação meteorológica IoT: 8 etapas
Outra estação meteorológica da IoT: O seguinte foi um presente de aniversário para meu pai; inspirado por outro Instructable que eu vi e inicialmente pretendia ser provado a ele como um kit de autoconstrução. No entanto, ao começar a trabalhar neste projeto com ele, rapidamente percebi que o t
Apenas outra antena: 4 etapas
Só mais uma antena: Então decidi criar uma antena com restos de material que tinha pela casa, a ideia era não comprar nenhum material se fosse possível. Eu sei que a pessoa comum não teria tanto lixo por aí, mas eu fiz, então me desafiei
Converta (apenas cerca de) qualquer arquivo de mídia em (apenas cerca de) qualquer outro arquivo de mídia gratuitamente !: 4 etapas
Converter (apenas cerca de) qualquer arquivo de mídia em (apenas cerca de) qualquer outro arquivo de mídia de graça !: Meu primeiro instrutível, saúde! De qualquer forma, eu estava no Google procurando um programa gratuito que converteria meus arquivos Youtube.flv para um formato que é mais universal, como.wmv ou.mov. Pesquisei inúmeros fóruns e sites e depois encontrei um programa chamado