Projeto 38
Campo elétrico uniforme
Projeto 38 - Campo elétrico uniforme
NOTA: Colocar a ponta de prova no local onde se pretende medir a tensão e pressionar o botão.
Código 1 (download)
/*
Projeto 38 - Campo elétrico uniforme
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#define sensor 0
#define pinBTN 7
int estadoBTN;
float valor;
float valorTensao;
void setup()
{
Serial.begin(9600);
pinMode(pinBTN, INPUT_PULLUP);
}
void loop()
{
estadoBTN = 1;
while(estadoBTN == 1)
{
estadoBTN = digitalRead(pinBTN);
}
valor = analogRead(sensor);
valor = map(valor, 0, 1023, 0, 5000);
valorTensao = valor / 1000.0;
Serial.print("U = ");
Serial.print(valorTensao);
Serial.println(" V");
delay(2000);
}
Código 2 (download)
/*
Projeto 38 - Campo elétrico uniforme - realiza N medições e faz a média
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#define sensor 0
#define pinBTN 7
#define N 5 // Número de medições em cada ponto para o cálculo da média
int estadoBTN;
int i;
float valor;
float valorTensao;
void setup()
{
Serial.begin(9600);
pinMode(pinBTN, INPUT_PULLUP);
}
void loop()
{
estadoBTN = 1;
while(estadoBTN == 1)
{
estadoBTN = digitalRead(pinBTN);
}
valor = 0;
for(i=1; i<=N; i++)
{
valor = valor + analogRead(sensor);
delay(50);
}
valor = valor/N;
valor = map(valor, 0, 1023, 0, 5000);
valorTensao = valor / 1000.0;
Serial.print("U = ");
Serial.print(valorTensao);
Serial.println(" V");
delay(2000);
}
Projeto 38 - Campo elétrico uniforme (com LCD)
NOTA: Colocar a ponta de prova no local onde se pretende medir a tensão e pressionar o botão.
Código 3 (download)
/*
Projeto 38 - Campo elétrico uniforme (com LCD)
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // ou 0x3F
#define sensor 0
#define pinBTN 7
int estadoBTN;
float valor;
float valorTensao;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Medicao da ddp");
pinMode(pinBTN, INPUT_PULLUP);
}
void loop()
{
estadoBTN = 1;
while(estadoBTN == 1)
{
estadoBTN = digitalRead(pinBTN);
}
valor = analogRead(sensor);
valor = map(valor, 0, 1023, 0, 5000);
valorTensao = valor / 1000.0;
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("U = ");
lcd.print(valorTensao);
lcd.print(" V");
delay(2000);
}
Código 4 (download)
/*
Projeto 38 - Campo elétrico uniforme - realiza N medições e faz a média (com LCD)
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // ou 0x3F
#define sensor 0
#define pinBTN 7
#define N 5 // Número de medições em cada ponto para o cálculo da média
int estadoBTN;
int i;
float valor;
float valorTensao;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Medicao da ddp");
pinMode(pinBTN, INPUT_PULLUP);
}
void loop()
{
estadoBTN = 1;
while(estadoBTN == 1)
{
estadoBTN = digitalRead(pinBTN);
}
valor = 0;
for(i=1; i<=N; i++)
{
valor = valor + analogRead(sensor);
delay(50);
}
valor = valor/N;
valor = map(valor, 0, 1023, 0, 5000);
valorTensao = valor / 1000.0;
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("U = ");
lcd.print(valorTensao);
lcd.print(" V");
delay(2000);
}