Você está na página 1de 7

Arduino Aplicado ao Ensino de Cincias

http://labduino.blogspot.com.br/

Roteiro R2
Arduino:Medidas Eltricas-Parte 1
Todos os cdigos grficos e dados devem ser postados em https://groups.live.com/OficinaDante/
Abra uma pasta em seu nome e/ou o nome da equipe

No roteiro anterior verificamos como determinar a leitura em uma porta analgica


1. Retome o esquema do roteiro 1 para a leitura em um LDR
O valor do resistor que ser utilizado igual a 10 K ou 33 K
Faa upload e abra o monitor serial

Cdigo
int LDR; //declara a varivel
int tempo;
void setup() {
pinMode(A0, INPUT);
Serial.begin(9600);
}
void loop() {
tempo= millis(); // base de tempo para a coleta
LDR = analogRead(A0);
{
Serial.print(tempo);
Serial.print(" "); // introduz um espao para as colunas
Serial.print(LDR);
}
Serial.println(); // imprime em linhas
delay(250);
}

1
marisac@pucsp.br , molisani@hotmail.com, cris@pucsp.br

Arduino Aplicado ao Ensino de Cincias


http://labduino.blogspot.com.br/

Faa uma coleta de dados e de um printscreen da tela e cole abaixo

O que estamos medindo com o Arduino? Veja o esquema abaixo

Os valores medidos devem ser fornecidos em Volts. Estamos medindo tenso. No esquema
adotado a tenso que estamos medindo sobre o LDR ( um de seus terminais est no terra
e o outro na porta analgica 0).
Mas os valores lidos variam de 0 a 1024 e como podemos converte-los em unidades de
tenso? O Arduino tem um conversor analgico-digital de 10 bits e sua leitura corresponde
ao decimal associado a tenso que se deseja medir.

2
marisac@pucsp.br , molisani@hotmail.com, cris@pucsp.br

Arduino Aplicado ao Ensino de Cincias


http://labduino.blogspot.com.br/

Anexo: Conversor AD
O que representam os valores lidos na porta analgica?

Para compreender o que representam os valores lidos na porta analgica temos


que recorrer a teoria sobre Conversores analgicos digitais. Segue um link para
um texto com exerccios sobre conversores AD para maior aprofundamento
Link 1 Windows live
https://skydrive.live.com/?sc=documents#cid=59BCF284A2D396AA&id=59BCF284A2D396AA%21239&sc=docume
nts

Link2: 4Shared
http://www.4shared.com/office/pAhQCmmZ/Conversor_AD_resumo_teorico_si.html

Faremos aqui um breve resumo:


O conversor AD do Arduino um conversor que apresenta 10 bits. O que isso
significa?
Um sistema digital apresenta apenas duas possibilidades de tenses, prximas de
zero (dcimos de mV) e que corresponde ao bit 0 e aquela em que a tenso
assume o seu valor mximo (da ordem de 5 V) que corresponde ao bit 1. Assim
um valor de tenso que varia continuamente entre 0 e 5 V dever ser expresso
em frases binrias para que possa ser processado pelo micro-controlador.
Para 10 bits teremos um conjunto de 210 frases binrias= 1024
O Arduino opera com 5V de tenso (ou bem prximo disso). Assim qualquer valor
de tenso de teremos que:
Para 5 Volts teremos o decimal correspondente 1024
Valor de tenso 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

3
marisac@pucsp.br , molisani@hotmail.com, cris@pucsp.br

Arduino Aplicado ao Ensino de Cincias


http://labduino.blogspot.com.br/

Com estas consideraes algumas linhas de programao que permitam:

Oferecer o valor de tenso em Volts sobre o LDR


Oferecer o valor de tenso no resistor R
Oferecer a tenso total ( Soma: VR + VLDR)
Imprimir em colunas estes valores nesta sequencia,decimal no LDR, VLDR (V), VR(V)
Vtotal (V) e tempo.
Para declarar as variavies VR e VLDR use nesta 1a etapa int
2. Cole o cdigo desenvolvido abaixo

3. Faa uma coleta de dados (fixando uma intensidade de luz no LDR, procure no variar
esta intensidade ). De um printscreen na tela e cole abaixo

4. Agora com um voltmetro faa as leituras de tenso nestes componente

4
marisac@pucsp.br , molisani@hotmail.com, cris@pucsp.br

Arduino Aplicado ao Ensino de Cincias


http://labduino.blogspot.com.br/

Tire um foto da montagem com o voltmetro determinando a tenso no LDR e no Resistor


Foto montagem Voltimetro no LDR

Foto montagem Voltimetro no Resistor

Foto montagem Voltimetro no LDR

5. Preencha a tabela abaixo


Tabela 1: declarando as variveis VLDR e VR como int
VLDR (Volts)

VR (Volts)

Voltimetro
Arduino
Desvio%
Desvio % = [(valor obtido- valor esperado)/valor esperado]*100
Observe que os valores obtidos no Arduino no apresentam casas decimais de preciso.

Como podemos aumentar o numero de casas decimais na medida de tenso?


Em primeiro lugar na declarao destas variveis importante que se associe o tipo
float j que estes valores no sero inteiros.
Se voc associou estas variveis como int faa a devida alterao.
Em seguida para que voc obtenha impresso com mais casas decimais basta que
especifique o numero de casas decimais da seguinte maneira com uma virgula seguida da
varivel como abaixo:
5
marisac@pucsp.br , molisani@hotmail.com, cris@pucsp.br

Arduino Aplicado ao Ensino de Cincias


http://labduino.blogspot.com.br/

Serial.print(val,numero de casas decimais desejado);


Exemplo com 3 casas decimais para corrente;
Serial.print(corrente,3);
Na declarao da varivel corrente voc no deve esquecer de especificar que ela ser
do tipo float; ou seja;
float corrente;
Se estiver multiplicando o valor lido, por exemplo por 5, faa a multiplicao por 5.000000
se quiser 6 casas decimais.
Para explicitar melhor:
VLDR= LDR*5/1024;

errado

VLDR=LDR*(5.000000)/1024;

correto

6. Faa estas correes e refaa as medidas preenchendo a tabela abaixo


Tabela 2 Declarando as variveis VLDR e VR como float e 3 casas decimais
VLDR (Volts)

VR (Volts)

Voltimetro
Arduino
Desvio%
Desvio % = [(valor obtido- valor esperado)/valor esperado]*100
7. Apesar destas correoes ainda pode ser observado algum desvio entre o valor
medido com o voltmetro e o valor obtido com o Arduino. Estas diferenas pode ser
decorrente de um desvio entre o valor total de tenso oferecido pelo Arduino que foi
fixado em 5 Volts e o valor efetivo as vezes ligeiramente menor que 5V. Assim
vamoes efetuar esta correo.

6
marisac@pucsp.br , molisani@hotmail.com, cris@pucsp.br

Arduino Aplicado ao Ensino de Cincias


http://labduino.blogspot.com.br/

8. Determine com o multmetro o valor total de tenso oferecido pelo Arduino. Entre
GND e o Pino 5Volts do Arduino
Valor de tenso total medido com o Voltimetro = .................................... Volts
9. Substitua nas linhas de programao em se calcula o valor de tenso no LDR e no
resistor o valor fixado em 5 Volts pelo valor medido pelo voltmetro no item 8. Refaa
as leituras anteriores com o monitor serial e preencha a tabela 3

Poste o cdigo fonte final desenvolvido no link


https://skydrive.live.com/?cid=000987f2603f88ed&group=1&sc=documents!cid=0009
87F2603F88ED&group=1&id=987F2603F88ED%21109&sc=documents
VLDR+ VR= VTotal (medido com o Voltimetro) =...................................
Tabela 3 mais casa decimais na leitura com Arduino e correo de VT
VLDR (Volts)

VR (Volts)

Voltimetro
Arduino
Desvio%
Desvio % = [(valor obtido- valor esperado)/valor esperado]*100

10. Comente as diferenas observadas para as tabelas 1,2 e 3 e faa uma analise dos
resultados obtidos

7
marisac@pucsp.br , molisani@hotmail.com, cris@pucsp.br