Os valores das tensões medidos são fornecidos em Volts. No esquema adotado a tensão que estamos medindo é sobre o LDR ( um de seus terminais está no terra e o outro na porta analógica 0).
Os valores lidos variam de 0 a 1024. Para convertê-los em unidades de tensão, o Arduino possui um conversor analógico-digital de 10 bits e sua leitura corresponde ao decimal associado à tensão que se deseja medir.
O conversor AD do Arduino é um conversor que apresenta 10 bits. O que isso significa?
Um sistema digital apresenta apenas duas possibilidades de tensões, próximas de zero (décimos de mV) e que corresponde ao bit 0 e aquela em que a tensão assume o seu valor máximo (da ordem de 5 V) que corresponde ao bit 1. Assim um valor de tensão que varia continuamente entre 0 e 5 V deverá ser expressão em frases binárias para que possa ser processado pelo micro-controlador.
Para 10 bits teremos um conjunto de 210 frases binárias= 1024.
O Arduino opera com 5V de tensão, aproximadamente. Assim qualquer valor de tensão de teremos que:
Para 5 Volts teremos o decimal correspondente 1024
Valor de tensão de entrada teremos X para o decimal
5.....................1024
A0 (V).............Decimal lido
Portanto em Volts o valor de A0 será dado por: A0 lido em Volts = (decimal lido) *5/1024
Um sistema digital apresenta apenas duas possibilidades de tensões, próximas de zero (décimos de mV) e que corresponde ao bit 0 e aquela em que a tensão assume o seu valor máximo (da ordem de 5 V) que corresponde ao bit 1. Assim um valor de tensão que varia continuamente entre 0 e 5 V deverá ser expressão em frases binárias para que possa ser processado pelo micro-controlador.
Para 10 bits teremos um conjunto de 210 frases binárias= 1024.
O Arduino opera com 5V de tensão, aproximadamente. Assim qualquer valor de tensão de teremos que:
Para 5 Volts teremos o decimal correspondente 1024
Valor de tensão de entrada teremos X para o decimal
5.....................1024
A0 (V).............Decimal lido
Portanto em Volts o valor de A0 será dado por: A0 lido em Volts = (decimal lido) *5/1024
Com estas considerações, desenvolvemos algumas linhas de programação que permitiram:
· Oferecer o valor de tensão em Volts sobre o LDR
· Oferecer o valor de tensão no resistor R
· Oferecer a tensão total ( Soma: VR + VLDR)
· Imprimir em colunas estes valores nesta sequencia,decimal no LDR, VLDR (V), VR(V) Vtotal (V) e tempo.
Código-Fonte
int LDR; //declara a variável
unsigned long tempo;
float TLDR;
float TR;
float TT;
void setup() {
pinMode(A0, INPUT);
Serial.begin(9600);
}
void loop() {
tempo= millis(); // base de tempo para a coleta
LDR = analogRead(A0);
TLDR = (5.101 * LDR) / 1024;
TR = 5.101 - TLDR;
TT = TR + TLDR;
{
Serial.print(LDR);
Serial.print(" | ");
Serial.print(TLDR,3);
Serial.print(" | ");
Serial.print(TR,3);
Serial.print(" | ");
Serial.print(TT,3);
Serial.print(" | ");
Serial.print(tempo);
}
Serial.println(); // imprime em linhas
delay(250);
}
Coletamos os dados impressos pelo monitor serial:
Determinando a corrente elétrica do circuito: U(tensão no Resistor)=R(Resistência total).i(corrente elétrica total). Entre o LDR e o Resistor. A tensão total foi 5.08V.
Retomando o código fonte, inserimos linhas de código em que:
- O valor de corrente pode ser obtido em mA;
- Podemos imprimir em colunas os valores nesta sequência, decimal no LDR, VLDR (V), VR(V) Vtotal (V), corrente elétrica e tempo.
Nova coleta de dados:
P(potencia Dissipada no LDR) =R(Resistência no LDR)*i²(Corrente Elétrica Total)
P(Potencia Dissipada pelo Circuito) = i(Corrente Eletrica Total)*U(Tensão Total)
Nenhum comentário:
Postar um comentário