A maior rede de estudos do Brasil

Grátis
181 pág.
Dissertacao_Luis_Henrique_Monteiro_de_Castro_versao07AGO2016

Pré-visualização | Página 36 de 43

t = dht.readTemperature(); 
 sensorLDR = analogRead(1); 
data = ""; 
 data += contador; 
 data += ";"; 
 data += String(bmp.readPressure()); 
 data += ";"; 
 data += String(bmp.readAltitude()); 
 data += ";"; 
 data += String(bmp.readSealevelPressure()); 
 data += ";"; 
 data += String(bmp.readAltitude(101500)); 
 data += ";"; 
 data += String(bmp.readTemperature()); 
 data += ";"; 
 data += String(t, 2); 
 data += ";"; 
 data += String(h, 2); 
 data += ";"; 
 data += String(sensorLDR); 
 data += ";"; 
 data += String("99999"); 
 Serial.println(data); 
 contador +=1; 
 } 
 if (controleString == "50"){ 
 digitalWrite(8, HIGH); 
 } 
 if (controleString == "51"){ 
 digitalWrite(8, LOW); 
 } 
 if (controleString == "52"){ 
 contador = 1; 
} 
 } 
}
3 
141 
Código do Processing 
import processing.serial.*; 
// Variáveis 
PrintWriter arquivoGeral; 
PrintWriter arquivoMediasHorarias; 
PrintWriter arquivoGeralCorrigido1min; 
PrintWriter arquivoGeralCorrigido10min; 
PrintWriter arquivoGeralCorrigido30min; 
String serialString = null; 
Serial portaSerial; 
int lf = 10; 
int contador = 0; 
int referencia = 1; 
String nomeArquivo = ""; 
String[] dados; 
float[] valorPressao = new float[326]; 
float[] valorTemperatura = new float[26]; 
float[] valorUmidade = new float[26]; 
float[] valorLuminosidade = new 
float[26]; 
String dadosCorrigidos,dadosMedia; 
String dia,mes,ano,hora,minuto,segundo; 
int controle=0; 
int controleMedia = 0, 
controleMediaGeral = 0; 
float pressao = 0, minpressao = 0, 
maxpressao = 0, mediapressao = 0, 
refpressao = 0; 
float pressaoC = 0, minpressaoC = 0, 
maxpressaoC = 0, mediapressaoC = 0, 
refpressaoC = 0; 
float temp1 = 0, mintemp1 = 0, 
maxtemp1 = 0, mediatemp1 = 0, reftemp1 
= 0; 
float temp2 = 0, mintemp2 = 0, 
maxtemp2 = 0, mediatemp2 = 0, reftemp2 
= 0; 
float tempMedia = 0, mintempMedia = 0, 
maxtempMedia = 0, mediatempMedia = 
0, reftempMedia=0; 
float umidade = 0, minumidade = 0, 
maxumidade = 0, mediaumidade = 0, 
refumidade = 0; 
float luminosidade = 0, minluminosidade 
= 0, maxluminosidade = 0, 
medialuminosidade = 0, refluminosidade 
= 0; 
int referenciaMedia = 0; 
boolean controleGeracaoMedia = true; 
boolean antirepete = false; 
boolean antirepete2 = false; 
boolean antirepete3 = false; 
float rascunho; 
float rascunhoAnterior; 
void setup() 
{ 
nomeArquivo(); 
arquivoGeral = 
createWriter(nomeArquivo+".txt"); 
arquivoGeralCorrigido1min = 
createWriter(nomeArquivo+"-
Corrigido1min.txt"); 
arquivoGeralCorrigido10min = 
createWriter(nomeArquivo+"-
Corrigido10min.txt"); 
arquivoGeralCorrigido30min = 
createWriter(nomeArquivo+"-
Corrigido30min.txt"); 
arquivoMediasHorarias = 
createWriter(nomeArquivo+"-
MediasHorarias.txt"); 
printArray(Serial.list()); 
dadosCorrigidos(); 
arquivoGeralCorrigido10min.println(dado
sCorrigidos); 
arquivoGeralCorrigido10min.flush(); 
} 
if (controle > 0 && second() == 0 && 
minute() == 0 || minute() == 30){ 
dadosCorrigidos(); 
arquivoGeralCorrigido30min.println(dado
sCorrigidos); 
arquivoGeralCorrigido30min.flush(); 
} 
if (controle > 0 && second() == 0){ 
dadosCorrigidos(); 
arquivoGeralCorrigido1min.println(dados
Corrigidos); 
arquivoGeralCorrigido1min.flush(); 
tela(80, 450, 250, 200); 
tela(388, 450, 250, 200); 
tela(695, 450, 250, 200); 
tela(1000, 450, 250, 200); 
for (int i=0;i<25;i=i+1){ 
valorPressao[i] = valorPressao[i+1]; 
valorTemperatura[i] = 
valorTemperatura[i+1]; 
valorUmidade[i] = valorUmidade[i+1]; 
valorLuminosidade[i] = 
valorLuminosidade[i+1]; 
} 
valorPressao[25] = float(dados[1]); 
valorTemperatura[25] = float(dados[5]); 
valorUmidade[25] = float(dados[7]); 
valorLuminosidade[25] = float(dados[8]); 
for (int i=0;i<25;i=i+1){ 
if 
(valorPressao[i]<99000){valorPressao[i] 
= 99000;} 
if 
(valorPressao[i+1]<99000){valorPressao[
i+1] = 99000;} 
rascunhoAnterior = map(valorPressao[i], 
99000, 103000, 650,450); 
rascunho = map(valorPressao[i+1], 
99000, 103000, 650,450); 
fill(255,0,0); 
stroke(255,0,0); 
line(80+(i*10),rascunhoAnterior,80+((i+1
)*10),rascunho); 
fill(255); 
stroke(255); 
} 
for (int i=0;i<25;i=i+1){ 
rascunhoAnterior = 
map(valorTemperatura[i], 0, 50, 
650,450); 
rascunho = map(valorTemperatura[i+1], 
0, 50, 650,450); 
fill(255,0,0); 
stroke(255,0,0); 
line(388+(i*10),rascunhoAnterior,388+((i
+1)*10),rascunho);
fill(255); 
stroke(255); 
} 
for (int i=0;i<25;i=i+1){ 
rascunhoAnterior = 
map(valorUmidade[i], 0, 100, 650,450); 
rascunho = map(valorUmidade[i+1], 0, 
100, 650,450); 
fill(255,0,0); 
if(maxumidade <= 
refumidade){apaga(1061,331);maxumida
de = refumidade;text(maxumidade+" às 
"+hora+":"+minuto+":"+segundo, 1155, 
350);} 
if(maxluminosidade <= 
refluminosidade){apaga(1061,361);maxlu
minosidade = 
refluminosidade;text(maxluminosidade+" 
às "+hora+":"+minuto+":"+segundo, 
1155, 380);} 
tabela2(); 
text(dia+"/"+mes+"/"+String.valueOf(yea
r()), 965, 170); 
text(dia+"/"+mes+"/"+String.valueOf(yea
r()), 1155, 170); 
if(minute() == 0 && second() == 0 && 
controleGeracaoMedia == true){ 
controleGeracaoMedia = false; 
referenciaMedia += 1; 
dadosMedia = referenciaMedia+";"; 
if(day()<10){dia="0"+String.valueOf(day
());}else{dia=String.valueOf(day());} 
if(month()<10){mes="0"+String.valueOf(
month());}else{mes=String.valueOf(mont
h());} 
dadosMedia += 
dia+"/"+mes+"/"+String.valueOf(year())+
";"; 
if(hour()<10){hora="0"+String.valueOf(h
our());}else{hora=String.valueOf(hour());
} 
if(minute()<10){minuto="0"+String.value
Of(minute());}else{minuto=String.valueO
f(minute());} 
if(second()<10){segundo="0"+String.val
ueOf(second());}else{segundo=String.val
ueOf(second());} 
dadosMedia += 
hora+":"+minuto+":"+segundo+";"; 
dadosMedia += 
pressao/controleMedia+";"; 
dadosMedia += 
pressaoC/controleMedia+";"; 
dadosMedia += 
temp1/controleMedia+";"; 
dadosMedia += 
temp2/controleMedia+";"; 
dadosMedia += 
umidade/controleMedia+";"; 
dadosMedia += 
luminosidade/controleMedia; 
arquivoMediasHorarias.println(dadosMed
ia); 
arquivoMediasHorarias.flush(); 
fill(4, 79, 111); 
stroke(4, 79, 111); 
rect(270,400,80,180); 
rect(130,400,120,20); 
textSize(15); 
fill(255); 
//textAlign(RIGHT); 
//text(dia+"/"+mes+"/"+String.valueOf(ye
ar())+hora+":"+minuto+":"+segundo, 
345, 420); 
//text(pressaoC/controleMedia, 345, 480); 
//text(temp2/controleMedia, 345, 510); 
//text(umidade/controleMedia, 345, 540); 
//text(luminosidade/controleMedia, 345, 
570); 
controleMedia = 0; 
pressao = 0; 
4 
142 
portaSerial = new Serial(this, 
Serial.list()[1], 9600); 
portaSerial.clear(); 
serialString = 
portaSerial.readStringUntil(lf); 
serialString = null; 
size(1300, 680); 
frameRate(120); 
noSmooth(); 
background(4, 79, 111); 
stroke(84, 145, 158); 
fill(255); 
textSize(12); 
text("Universidade Federal do Estado do 
Rio de Janeiro - UNIRIO", 50, 40); 
text("Mestrado Nacional Profissional de 
Ensino de Física - MNPEF", 50, 55); 
text("Orientador: Felipe Mondaini", 50, 
70); 
text("Mestrando: Luis Henrique M de 
Castro", 50, 85); 
textSize(20); 
fill(102); 
stroke(0); 
rect(500, 55, 650, 35); 
fill(255); 
text("Interface Computacional - 
Experimento Estação Meteorológica", 
520, 80); 
fill(255); 
textSize(12); 
textAlign(LEFT); 
text("Grandezas medidas", 50, 140); 
text("Referência", 50, 170); 
text("Pressão Atmosférica (hPa)", 50, 
200); 
text("Pressão Atmosférica ref.nível do