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

R2- Arduino - Medidas Eletricas - Parte 1

Embed Size (px)

DESCRIPTION

medidas Elétricas parte 1

Citation preview

Page 1: R2- Arduino - Medidas Eletricas - Parte 1

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

}

Page 2: R2- Arduino - Medidas Eletricas - Parte 1

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.

Page 3: R2- Arduino - Medidas Eletricas - Parte 1

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

Page 4: R2- Arduino - Medidas Eletricas - Parte 1

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

Page 5: R2- Arduino - Medidas Eletricas - Parte 1

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%

Page 6: R2- Arduino - Medidas Eletricas - Parte 1

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%

Page 7: R2- Arduino - Medidas Eletricas - Parte 1

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%