Ferreira_27 0 Denunciar post Postado Maio 12, 2016 Olá Boa Noite! Estou tendo erro ao executar o código abaixo na Ide do Processing O erro é este No library found for org.gicentre.utils.statLibraries must be installed in a folder named 'libraries' inside the 'sketchbook' folder. se alguém poder me ajudar com a biblioteca org.gicentre.utils.stat, para que eu posso estar baixando esta biblioteca. import processing.serial.*; import cc.arduino.*; import org.gicentre.utils.stat.*; Arduino arduino; // Objeto arduino XYChart lineChart; // Objedo do gráfico int s1Pin = 0, s2Pin = 1, s3Pin = 2, s4Pin = 3, s5Pin = 4, s6Pin = 5; // Pinos dos sensores float coord1x[],coord2x[],coord3x[],coord4x[],coord5x[],coord6x[]; // variaveis das coordenadas (eixo X) float coord1y[],coord2y[],coord3y[],coord4y[],coord5y[],coord6y[]; // variaveis das coordenadas (eixo Y) float grausC,grausC1,grausC2,grausC3,grausC4,grausC5,grausC6; // Conversão do valor lido no arduino para Graus C float regC1[],regC2[],regC3[],regC4[],regC5[],regC6[]; // Registro das temperaturas int iniciado=0; // variavel que indica se o gráfico foi iniciado int vetor=0; // contador do eixo X e dos vetores das coordenadas int MinY=29; // Menor valor do eixo Y int MaxY=35; // Maior valor do eixo Y int tempo=15,cont=1; // Tempo de atualização do gráfico (segundos) void Media() // Limpa todos os vetores da variavel { int x; grausC1 = grausC2 = grausC3 = grausC4 = grausC5 = grausC6 = 0; for(x=1;x <= tempo*8;x++) { grausC1 += regC1[x]; grausC2 += regC2[x]; grausC3 += regC3[x]; grausC4 += regC4[x]; grausC5 += regC5[x]; grausC6 += regC6[x]; } } void setup() { coord1x = coord2x = coord3x = coord4x = coord5x = coord6x = new float[0]; coord1y = coord2y = coord3y = coord4y = coord5y = coord6y = new float[0]; regC1 = regC2 = regC3 = regC4 = regC5 = regC6 = new float[0]; regC1 = expand(regC1,tempo*8+1); regC2 = expand(regC2,tempo*8+1); regC3 = expand(regC3,tempo*8+1); regC4 = expand(regC4,tempo*8+1); regC5 = expand(regC5,tempo*8+1); regC6 = expand(regC6,tempo*8+1); arduino = new Arduino(this, Arduino.list()[0]); // Inicia o arduino size(768,480); // Tamanho da tela if (frame != null) { frame.setResizable(true); } background(255); textFont(createFont("Arial",10),10); fill(0, 0, 0); lineChart = new XYChart(this); // Inicia um gráfico em lineChart // Definições iniciais dos eixos X e Y lineChart.showXAxis(true); lineChart.showYAxis(true); lineChart.setMinY(MinY); lineChart.setMaxY(MaxY); lineChart.setMinX(0); lineChart.setMaxX(vetor*5); lineChart.setXFormat("0s"); lineChart.setYFormat("0ºc"); // Aparência da linha lineChart.setPointSize(3); lineChart.setLineWidth(2); lineChart.setPointColour(color(128,128,128)); } void AlterarEixoY() // Aumenta os valores do eixo Y se necessário { grausC+=1; if(grausC>MaxY) { MaxY=int(grausC)+1; lineChart.setMaxY(MaxY); } grausC-=1; if(grausC<MinY) { MinY=int(grausC); lineChart.setMinY(MinY); } } float truncar(float vlr) { int x; vlr/=float(tempo*8); x=int(vlr*10.0); vlr=x/10.0; return vlr; } void Linhas() { stroke(180, 180, 180); // Linhas do eixo X float nx=30; // numero de linhas do eixo X float ny=60; // numero de linhas do eixo Y float areax=(height-30-40)/nx; float areay=(width-44-20)/ny; for(float n=0;n<nx;n++) { line(44, 40+areax*n, width-20,40+areax*n); } for(float n=1;n<=ny;n++) { line(44+areay*n, 40, 44+areay*n, height-30); } } void TextoGrafico() // Mostra dados e o gráfico { background(255); // Limpa a tela textSize(9); //Linhas(); // Desenha o grafico lineChart.setLineColour(color(255,0,0)); lineChart.setData(coord1x,coord1y); lineChart.draw(10,30,width-20,height-35); lineChart.setLineColour(color(191,0,0)); lineChart.setData(coord2x,coord2y); lineChart.draw(10,30,width-20,height-35); lineChart.setLineColour(color(127,0,0)); lineChart.setData(coord3x,coord3y); lineChart.draw(10,30,width-20,height-35); lineChart.setLineColour(color(0,0,255)); lineChart.setData(coord4x,coord4y); lineChart.draw(10,30,width-20,height-35); lineChart.setLineColour(color(0,0,191)); lineChart.setData(coord5x,coord5y); lineChart.draw(10,30,width-20,height-35); lineChart.setLineColour(color(0,0,127)); lineChart.setData(coord6x,coord6y); lineChart.draw(10,30,width-20,height-35); textSize(10); fill(0, 0, 0); text("Temperatura atual em ºC", 15,15); fill(255, 0, 0); text("Sensor3: ", 15+(85*0), 25); grausC1=truncar(grausC1); text(String.format("%.1f",grausC1), 56+(85*0), 25); fill(191, 0, 0); text("Sensor2: ", 15+(85*1), 25); grausC2=truncar(grausC2); text(String.format("%.1f",grausC2), 56+(85*1), 25); text("Sensor1: ", 15+(85*2), 25); grausC3=truncar(grausC3); text(String.format("%.1f",grausC3), 56+(85*2), 25); fill(0, 0, 255); text("Sensor1: ", 15+(85*3), 25); grausC4=truncar(grausC4); text(String.format("%.1f",grausC4), 56+(85*3), 25); fill(0, 0, 191); text("Sensor2: ", 15+(85*4), 25); grausC5=truncar(grausC5); text(String.format("%.1f",grausC5), 56+(85*4), 25); fill(0, 0, 127); text("Sensor3: ", 15+(85*5), 25); grausC6=truncar(grausC6); text(String.format("%.1f",grausC6), 56+(85*5), 25); fill(127, 0, 0); text("Vermelho: Cobre", 15+(85*6), 25); fill(0, 0, 127); text("Azul: Aluminio", 15+(85*7), 25); } void LerSensores(boolean alteraEixo) { // Lê os valores dos pinos e altera o gráfico se necessário regC1[cont] = grausC = (arduino.analogRead(s1Pin) * 500.0) / 1023.0; if(alteraEixo) AlterarEixoY(); regC2[cont] = grausC = (arduino.analogRead(s2Pin) * 500.0) / 1023.0; if(alteraEixo) AlterarEixoY(); regC3[cont] = grausC = (arduino.analogRead(s3Pin) * 500.0) / 1023.0; if(alteraEixo) AlterarEixoY(); regC4[cont] = grausC = (arduino.analogRead(s4Pin) * 500.0) / 1023.0; if(alteraEixo) AlterarEixoY(); regC5[cont] = grausC = (arduino.analogRead(s5Pin) * 500.0) / 1023.0; if(alteraEixo) AlterarEixoY(); regC6[cont] = grausC = (arduino.analogRead(s6Pin) * 500.0) / 1023.0; if(alteraEixo) AlterarEixoY(); Media(); // Gambiarra float menor1,menor2; menor1 = grausC1; menor2 = grausC4; if(grausC2 < menor1) menor1 = grausC2; if(grausC3 < menor1) menor1 = grausC3; if(grausC5 < menor2) menor2 = grausC5; if(grausC6 < menor2) menor2 = grausC6; if(grausC1-(6*tempo)<menor1) grausC1 = (menor1+grausC1)/2; if(grausC2-(6*tempo)<menor1) grausC2 = (menor1+grausC2)/2; if(grausC3-(6*tempo)<menor1) grausC3 = (menor1+grausC3)/2; if(grausC4-(6*tempo)<menor2) grausC4 = (menor2+grausC4)/2; if(grausC5-(6*tempo)<menor2) grausC5 = (menor2+grausC5)/2; if(grausC6-(6*tempo)<menor2) grausC6 = (menor2+grausC6)/2; } void draw() { if(cont >= tempo*8) { // lineChart.setMaxX(vetor*tempo); // Aumenta o eixo X lineChart.setMaxX(1500); // **************************** LerSensores(true); // Altera os vetores do grafico 1 coord1x=expand(coord1x,vetor+1); coord1y=expand(coord1y,vetor+1); coord1y[vetor]=truncar(grausC1); coord1x[vetor]=vetor*tempo; // Altera os vetores do grafico 2 coord2x=expand(coord2x,vetor+1); coord2y=expand(coord2y,vetor+1); coord2y[vetor]=truncar(grausC2); coord2x[vetor]=vetor*tempo; // Altera os vetores do grafico 3 coord3x=expand(coord3x,vetor+1); coord3y=expand(coord3y,vetor+1); coord3y[vetor]=truncar(grausC3); coord3x[vetor]=vetor*tempo; // Altera os vetores do grafico 4 coord4x=expand(coord4x,vetor+1); coord4y=expand(coord4y,vetor+1); coord4y[vetor]=truncar(grausC4); coord4x[vetor]=vetor*tempo; // Altera os vetores do grafico 5 coord5x=expand(coord5x,vetor+1); coord5y=expand(coord5y,vetor+1); coord5y[vetor]=grausC5/8.0/float(tempo); coord5x[vetor]=vetor*tempo; // Altera os vetores do grafico 6 coord6x=expand(coord6x,vetor+1); coord6y=expand(coord6y,vetor+1); coord6y[vetor]=grausC6/8.0/float(tempo); coord6x[vetor]=vetor*tempo; vetor++; // Eixo x+1 TextoGrafico(); cont = 0; // reseta o contador do tempo iniciado = 1; } else { LerSensores(false); if(iniciado == 1) TextoGrafico(); else { background(255); textSize(15); text("Carregando o gráfico",width/2-80,height/2-8); text((cont*100)/(tempo*8),width/2-10,height/2+10); } } delay(125); cont++; } Compartilhar este post Link para o post Compartilhar em outros sites