Upload
everton-alves
View
10
Download
3
Embed Size (px)
DESCRIPTION
medidas Elétricas parte 1
Citation preview
1
[email protected] , [email protected], [email protected]
Arduino Aplicado ao Ensino de Ciências http://labduino.blogspot.com.br/
Roteiro R2 Arduino:Medidas Elétricas-Parte 1
Todos os códigos gráficos 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 analógica 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
Faça upload e abra o monitor serial
Código
int LDR; //declara a variável 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 espaço para as colunas Serial.print(LDR); } Serial.println(); // imprime em linhas delay(250);
}
2
[email protected] , [email protected], [email protected]
Arduino Aplicado ao Ensino de Ciências http://labduino.blogspot.com.br/
Faça 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 tensão. 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). Mas os valores lidos variam de 0 a 1024 e como podemos converte-los em unidades de tensão? O Arduino tem um conversor analógico-digital de 10 bits e sua leitura corresponde ao decimal associado a tensão que se deseja medir.
3
[email protected] , [email protected], [email protected]
Arduino Aplicado ao Ensino de Ciências http://labduino.blogspot.com.br/
Anexo: Conversor AD O que representam os valores lidos na porta analógica? Para compreender o que representam os valores lidos na porta analógica temos que recorrer a “teoria sobre Conversores analógicos digitais”. Segue um link para um texto com exercícios sobre conversores AD para maior aprofundamento Link 1 Windows live https://skydrive.live.com/?sc=documents#cid=59BCF284A2D396AA&id=59BCF284A2D396AA%21239&sc=documents 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 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 (ou bem próximo disso). 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
4
[email protected] , [email protected], [email protected]
Arduino Aplicado ao Ensino de Ciências http://labduino.blogspot.com.br/
Com estas considerações algumas linhas de programação que permitam:
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.
Para declarar as variavies VR e VLDR use nesta 1a etapa “int”
2. Cole o código desenvolvido abaixo
3. Faça uma coleta de dados (fixando uma intensidade de luz no LDR, procure não variar
esta intensidade ). De um printscreen na tela e cole abaixo
4. Agora com um voltímetro faça as leituras de tensão nestes componente
5
[email protected] , [email protected], [email protected]
Arduino Aplicado ao Ensino de Ciências http://labduino.blogspot.com.br/
Tire um foto da montagem com o voltímetro determinando a tensão 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 variáveis VLDR e VR como “int”
Desvio % = [(valor obtido- valor esperado)/valor esperado]*100 Observe que os valores obtidos no Arduino não apresentam casas decimais de precisão.
Como podemos aumentar o numero de casas decimais na medida de tensão?
Em primeiro lugar na declaração destas variáveis é importante que se associe o tipo “float” já que estes valores não serão inteiros.
Se você associou estas variáveis como “int” faça a devida alteração. Em seguida para que você obtenha impressão com mais casas decimais basta que especifique o numero de casas decimais da seguinte maneira com uma virgula seguida da variável como abaixo:
VLDR (Volts) VR (Volts)
Voltimetro Arduino Desvio%
6
[email protected] , [email protected], [email protected]
Arduino Aplicado ao Ensino de Ciências 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 declaração da variável “corrente” você não deve esquecer de especificar que ela será do tipo “float”; ou seja;
float corrente;
Se estiver multiplicando o valor lido, por exemplo por 5, faça a multiplicação por 5.000000 se quiser 6 casas decimais. Para explicitar melhor: VLDR= LDR*5/1024; errado VLDR=LDR*(5.000000)/1024; correto
6. Faça estas correções e refaça as medidas preenchendo a tabela abaixo
Tabela 2 – Declarando as variáveis VLDR e VR como “float” e 3 casas decimais
Desvio % = [(valor obtido- valor esperado)/valor esperado]*100
7. Apesar destas correçoes ainda pode ser observado algum desvio entre o valor medido com o voltímetro e o valor obtido com o Arduino. Estas diferenças pode ser decorrente de um desvio entre o valor total de tensão oferecido pelo Arduino que foi fixado em 5 Volts e o valor efetivo as vezes ligeiramente menor que 5V. Assim vamoes efetuar esta correção.
VLDR (Volts) VR (Volts)
Voltimetro Arduino Desvio%
7
[email protected] , [email protected], [email protected]
Arduino Aplicado ao Ensino de Ciências http://labduino.blogspot.com.br/
8. Determine com o multímetro o valor total de tensão oferecido pelo Arduino. Entre GND e o Pino 5Volts do Arduino Valor de tensão total medido com o Voltimetro = .................................... Volts
9. Substitua nas linhas de programação em se calcula o valor de tensão no LDR e no resistor o valor fixado em 5 Volts pelo valor medido pelo voltímetro no item 8. Refaça as leituras anteriores com o monitor serial e preencha a tabela 3
Poste o código fonte final desenvolvido no link https://skydrive.live.com/?cid=000987f2603f88ed&group=1&sc=documents!cid=000987F2603F88ED&group=1&id=987F2603F88ED%21109&sc=documents
VLDR+ VR= VTotal (medido com o Voltimetro) =...................................
Tabela 3 – mais casa decimais na leitura com Arduino e correção de VT
Desvio % = [(valor obtido- valor esperado)/valor esperado]*100
10. Comente as diferenças observadas para as tabelas 1,2 e 3 e faça uma analise dos resultados obtidos
VLDR (Volts) VR (Volts)
Voltimetro Arduino Desvio%