Pesquisar na Comunidade
Mostrando resultados para as tags ''termometro''.
Foram encontrados 3 registros
-
Boa noite pessoal, estou fazendo um projeto para conclusao de curso. O meu problema é o seguinte: Tenho que mostrar na tela inicial a temperatura média de 5 sensores, porém o valor fica zerado. Enquanto que nas telas onde mostra cada sensor individualmente tudo está ok. Tenho simulado atraves do Proteus, já que ainda não tenho em mãos os componentes. Acredito que este problema possa ser do próprio Proteus, mas caso não seja, peço que me ajudem analisando o codigo que desenvolvi. Agradeço, desde já. Link da Biblioteca do LM35 https://github.com/wagner-rambo/arquivos/blob/master/arduino164_WR_files.rar // --- Bibliotecas Auxiliares --- #include <LiquidCrystal.h> //Biblioteca para o display LCD #include <lm35.h> // --- Mapeamento de Hardware --- #define butUp 8 //Botão para selecionar proxima tela no digital 8 #define butDown 9 //Botão para selecionar tela anterior no digital 9 lm_t sensor1(A0); lm_t sensor2(A1); lm_t sensor3(A2); lm_t sensor4(A3); lm_t sensor5(A4); // --- Protótipo das Funções Auxiliares --- void changeMenu(); //Função para modificar o menu atual void dispMenu(); //Função para mostrar o menu atual void telaInicial(); //Funçao da tela inicial, temperatura media void telaS1(); //Função do menu1, temperatura do sensor 1 void telaS2(); //Função do menu2, temperatura do sensor 2 void telaS3(); //Função do menu3, temperatura do sensor 3 void telaS4(); //Função do menu4, temperatura do sensor 4 void telaS5(); //Função do menu5, temperatura do Sensor 5 // --- Variáveis Globais --- char menu = 0x01; //Variável para selecionar o menu boolean t_butUp, t_butDown; //Flags para armazenar o estado dos botoes float temperatura1 ; //lê valor do Sensor 1 float temperatura2 ; //lê valor do Sensor 2 float temperatura3 ; //lê valor do Sensor 3 float temperatura4 ; //lê valor do Sensor 4 float temperatura5 ; //lê valor do Sensor 5 float temperatura ; // --- Hardware do LCD --- LiquidCrystal disp(7, //RS no digital 7 6, //EN no digital 6 5, //D4 no digital 5 4, //D5 no digital 4 3, //D6 no digital 3 2); //D7 no digital 2 // --- Configurações Iniciais --- void setup() { disp.begin(16,2); //Inicializa LCD 16 x 2 for(char i=8; i<10; i++) pinMode(i, INPUT_PULLUP); //Entrada para os botões (digitais 8 e 9) com pull-ups internos t_butUp = 0x00; //limpa flag do botão Up t_butDown = 0x00; //limpa flag do botão Down temperatura = (temperatura1+temperatura2+temperatura3+temperatura4+temperatura5)/5; //Temperatura Média } //end setup // --- Loop Infinito --- void loop() { changeMenu(); dispMenu(); } //end loop // --- Desenvolvimento das Funções Auxiliares --- void changeMenu() //Modifica o menu atual { if(!digitalRead(butUp)) t_butUp = 0x01; //Botão Up pressionado? Seta flag if(!digitalRead(butDown)) t_butDown = 0x01; //Botão Down pressionado? Seta flag if(digitalRead(butUp) && t_butUp) //Botão Up solto e flag setada? { //Sim... t_butUp = 0x00; //Limpa flag disp.clear(); //Limpa display menu++; //Incrementa menu if(menu > 0x06) menu = 0x01; //Se menu maior que 6, volta a ser 1 } //end butUp if(digitalRead(butDown) && t_butDown) //Botão Down solto e flag setada? { //Sim... t_butDown = 0x00; //Limpa flag disp.clear(); //Limpa display menu--; //Decrementa menu if(menu < 0x01) menu = 0x06; //Se menu menor que 1, volta a ser 6 } //end butDown } //end changeMenu void dispMenu() //Mostra o menu atual { switch(menu) //Controle da variável menu { case 0x01: //Caso 1 telaInicial(); //Chama a função de temperatura media break; //break case 0x02: //Caso 2 telaS1(); //Chama a função de temperatura do Sensor 1 break; //break case 0x03: //Caso 3 telaS2(); //Chama função de temperatura do Sensor 2 break; //break case 0x04: //Caso 4 telaS3(); //Chama função de temperatura do Sensor 3 break; //break case 0x05: //Caso 5 telaS4(); //Chama função de temperatura do Sensor 4 break; //break case 0x06: //Caso 6 telaS5(); //Chama função de temperatura do Sensor 5 break; //break } //end switch menu } //end dispMenu void telaInicial() //Temperatura Media (menu1) { float temperatura; temperatura = ((temperatura1 + temperatura2 + temperatura3 + temperatura4 + temperatura 5)/5); disp.setCursor(2,0); disp.print("TEMPERATURA");//mensagem na primeira linha disp.setCursor(4,1); disp.print(temperatura);//Mostra a temperatura media na segunda linha disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius } //end telaInicial void telaS1() //Temperatura Sensor 1 (menu2) { float temperatura1; temperatura1 = sensor1.t_celsius(); disp.setCursor(0,0); disp.print(" SENSOR 1 ");//mensagem na primeira linha disp.setCursor(4,1); disp.print(temperatura1);//Mostra a temperatura media na segunda linha disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius } void telaS2() //Temperatura Sensor 2 (menu3) { float temperatura2; temperatura2 = sensor2.t_celsius(); disp.setCursor(0,0); disp.print(" SENSOR 2 ");//mensagem na primeira linha disp.setCursor(4,1); disp.print(temperatura2);//Mostra a temperatura media na segunda linha disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius } void telaS3() //Temperatura Sensor 3 (menu4) { float temperatura3; temperatura3 = sensor3.t_celsius(); disp.setCursor(0,0); disp.print(" SENSOR 3 ");//mensagem na primeira linha disp.setCursor(4,1); disp.print(temperatura3);//Mostra a temperatura media na segunda linha disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius } void telaS4() //Temperatura Sensor 4 (menu5) { float temperatura4; temperatura4 = sensor4.t_celsius(); disp.setCursor(0,0); disp.print(" SENSOR 4 ");//mensagem na primeira linha disp.setCursor(4,1); disp.print(temperatura4);//Mostra a temperatura media na segunda linha disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius } void telaS5() //Temperatura Sensor 5 (menu6) { float temperatura5; temperatura5 = sensor5.t_celsius(); disp.setCursor(0,0); disp.print(" SENSOR 5 ");//mensagem na primeira linha disp.setCursor(4,1); disp.print(temperatura5);//Mostra a temperatura media na segunda linha disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius }
-
Boa tarde pessoal, estou fazendo um projeto para conclusao de curso. O problema é algo simples, creio eu, porém passei horas tentando resolver e nao consegui. A ideia é que na tela inicial apareça sempre a temperatura média dos 5 sensores, e cada vez que voce clica no botão up ou down, troca a informação na tela, mostrando as temperaturas individuais de cada um dos sensores. Consegui fazer a troca de informações na tela e mostrar o valor medido por cada sensor, porém não to conseguindo fazer o valor médio. Estou simulando no proteus, e nessa primeira tela aparece a temperatura, porem o valor fica zerado, enquanto nas outras telas aparecem normalmente os valores. Em anexo estão as linhas de codigo do arduino, até a parte que estaria o problema, as outras funções auxiliares funcionam (sensores 1 a 5). Quem puder me ajudar agradeço desde já
- 2 respostas
-
- termometro
- arduino
-
(mais 2)
Tags:
-
Qual termometro higrometro é mais preciso? os digitais ou os q usam agulha?
-
- termometro
- higrometro
-
(mais 1)
Tags:
SOBRE O ELETRÔNICABR
Técnico sem o EletrônicaBR não é um técnico completo! Leia Mais...