Preview only show first 10 pages with watermark. For full document please download

Sensor Em Arduino De Pressão E Altura Da Coluna De Líquido Com Lcd

projeto da disciplina laboratorio didatico

   EMBED


Share

Transcript

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Instituto de Física Programa de Pós-Graduação em Ensino de Física Mestrado Profissional em Ensino de Física MEDINDO PRESSÃO HIDROSTÁTICA COM ARDUINO Rodrigo Teixeira Rossini Trabalho final apresentado ao Programa de Pós-Graduação em Ensino de Física, Instituto de Física, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à conclusão da disciplina Laboratório Didático. Professor: Hélio Salim #include //Inclui a biblioteca do LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCD #define trigPin 8 // define pino gerador de plulsos #define echoPin 9 // define pino recebedor do eco float tempo; //para armazenar o tempo de ida e de volta float h_cm; // para amrmazenar a altura em cm float pressaoV; // recebe o valor de tensao devido a pressao int pressaopa; void setup() { pinMode(trigPin, OUTPUT); //define pino 8 como o gatilho de saida pinMode(echoPin, INPUT); // define pino 9 recebe eco digitalWrite(trigPin,LOW); // define pino de gatilho em baixo delayMicroseconds(10);// da um intervalo de 10 microsegundos lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas) lcd.setCursor(0, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print("PRESSAO ALTURA"); //Escreve no LCD a frase "pressao e altura" lcd.setCursor(5, 1); //Posiciona o cursor na sexta coluna(5) e na segunda linha(1) do LCD lcd.print("Pa"); //Escreve a unidade no LCD "pa" lcd.setCursor(14, 1); //Posiciona o cursor na penultima coluna(15) e na segunda linha(1) do LCD lcd.print("cm"); //Escreve no LCD a unidade"cm" } void loop() //ncomeça o ciclo infinito { digitalWrite(trigPin, HIGH); // manda o pulso delayMicroseconds(10); // da um intervalo de 10 microsegundos digitalWrite(trigPin, LOW); // desliga o pulso tempo = pulseIn(echoPin, HIGH); // conta o tempo de ida e volta do pulso h_cm = tempo / 29.4 / 2 ; lcd.setCursor(0, 1); //Posiciona o cursor na sexta coluna(5) e na segunda linha(1) do LCD lcd.print(pressaopa); //Escreve o valor atual da variável de pressao no LCD lcd.setCursor(9, 1); //Posiciona o cursor na decima quarta coluna(13) e na segunda linha(1) do LCD lcd.print(h_cm);//Escreve o valor atual da variável de distancia em cm no LCD delayMicroseconds(200); pressaoV = analogRead(0); //a variavel recebe o valor recebido na porta analogica pressaopa = 10.6496*pressaoV - 425.9 ; // converte o valor de 0 a 1034 em kpa if( h_cm < 4) // condicao paraa evitar que a agua transborde. Neste caso poderiamos acender um led de aviso por exemplo. Mas nada impede que criemos um sistemqa de controle para controlar a agua { digitalWrite(7, HIGH); // coloca o pino 7 com 5V } else { digitalWrite(7, LOW); //coloca o pino 7 com 0 V } delay(1000); //Aguarda 1 segundo } MPX5010dp arduino Sensor ultrasom Cabo flat usb Sensor pressão Lcd 16 x 2 Observar a equação de pressão hidrostática e verificar A mudança de pressão com líquidos de densidades diferentes Paradoxo hidrostático Medir a dependênci a com a altura