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);

}

Instalar a biblioteca