Vamos trocar o circuito do projeto, o eletroscópio sofre muito com interferência então por sugestão da professora Marisa, usaremos um LRD e uma fonte de luz, pois a lei da distancia ao quadrado também se aplica nas variações de intensidade de luz.
Computação:
- Calcular a condutancia da luz de fundo.
- Utilizar a voltagem que passa no resistor (valor da porta analogica) para calcular a corrente do circuito (i = V/R)
- Calcular a resistencia do LDR (5v - Vresistor = Vldr) (R = Vldr/i)
- Calcular a condutancia do LDR (1/R)
Mostrar a tabela com os valores da distancia e condutancia equivalentes.
Imagem ilustrativa do novo circuito, usando o LDR.
segunda-feira, 16 de maio de 2011
quarta-feira, 11 de maio de 2011
Apresentação - 10/5/11 e Codigo para calculo de média
link:Apresentação 10/5/11
Código em C
const int PinoEletroscopio = 0;
int arm1[50],Eletroscopio = 0,k;
float arm2[50], v = 0.0f;
void setup(){
Serial.begin(9600);
}
void loop(){
Eletroscopio = analogRead(PinoEletroscopio);// Leitura da porta analogica 0
v = (float)(5 * Eletroscopio) / 1023; //Converte o valor recebido da porta analogica para volts
arm1[1]=Eletroscopio;//Armazena o primeiro valor no primeiro vetor da variável arm1
arm2[1]=v;//Armazena o primeiro valor no primeiro vetor da variável arm2
for(k=2;k<50;k++){//k iniciar com valor inicial 2 e aumenta seu valor em 1 ate o valor seja 50
Eletroscopio = analogRead(PinoEletroscopio);
v = (float)(5 * Eletroscopio) / 1023;
arm1[k]=Eletroscopio;//armazena o valor no vetor k da variável arm1
arm2[k]=v;//armazena o valor no vetor k da variável arm1
if(arm1[1]>arm1[k]){//compara se arm1[1] for maior que arm[k] então ele deve ser substituído por arm[k]
arm1[1]=arm1[k];
arm2[1]=arm2[k];}
}
Serial.print("Leitura Arduino = ");
Serial.print(arm1[1]);//imprime menor valor da variável arm1
Serial.print(" em volts= ");
Serial.println(arm2[1]);//imprime menor valor da variável arm2
delay(1000);//Atraso do programa em 1 segundo
}
-Rafael-
Código em C
const int PinoEletroscopio = 0;
int arm1[50],Eletroscopio = 0,k;
float arm2[50], v = 0.0f;
void setup(){
Serial.begin(9600);
}
void loop(){
Eletroscopio = analogRead(PinoEletroscopio);// Leitura da porta analogica 0
v = (float)(5 * Eletroscopio) / 1023; //Converte o valor recebido da porta analogica para volts
arm1[1]=Eletroscopio;//Armazena o primeiro valor no primeiro vetor da variável arm1
arm2[1]=v;//Armazena o primeiro valor no primeiro vetor da variável arm2
for(k=2;k<50;k++){//k iniciar com valor inicial 2 e aumenta seu valor em 1 ate o valor seja 50
Eletroscopio = analogRead(PinoEletroscopio);
v = (float)(5 * Eletroscopio) / 1023;
arm1[k]=Eletroscopio;//armazena o valor no vetor k da variável arm1
arm2[k]=v;//armazena o valor no vetor k da variável arm1
if(arm1[1]>arm1[k]){//compara se arm1[1] for maior que arm[k] então ele deve ser substituído por arm[k]
arm1[1]=arm1[k];
arm2[1]=arm2[k];}
}
Serial.print("Leitura Arduino = ");
Serial.print(arm1[1]);//imprime menor valor da variável arm1
Serial.print(" em volts= ");
Serial.println(arm2[1]);//imprime menor valor da variável arm2
delay(1000);//Atraso do programa em 1 segundo
}
-Rafael-
segunda-feira, 2 de maio de 2011
planos de arduino
Tentamos usar a energia que ligava ao arduino mas se mostrou com grandes problemas como interferência mesmo com a solda, com a ajuda do coordenador Daniel conseguimos ligar numa protoboard na qual a corrente de uma bateria ligado ao eletroscópio e com ligação paralela ao arduino pela porta analógica e a porta ground.
| Eletroscópio ligado a uma bateria,um voltímetro e um arduino 2009 |
![]() |
| Eletroscópio em uma protoboard |
Um voltímetro foi usado para garantir a precisão da tensão e o seguinte código foi usado para o calculo de tensão:
const int PinoEletroscopio = 0;
int Eletroscopio = 0;
float v = 0.0f;
void setup(){
Serial.begin(9600);
}
void loop(){
Eletroscopio = analogRead(PinoEletroscopio);
v = (float)(5 * Eletroscopio) / 1023;
Serial.print("Leitura Arduino = ");
Serial.print(Eletroscopio);
Serial.print(" em volts= ");
Serial.println(v);
delay(1000);
}
Calculo de corrente
5v=1023
X=Y
5Y=1023X
X:O valor da porta analógica em volts
Y:O valor que sai da porta analógica
A porta analógica recebe um valor máximo de 1023 (5v) fazemos o calculo para sabermos o valor em volts ao se aproximar um corpo carregado, ainda essa semana iremos melhorar o código do programa para que seja calculado a distância que um corpo carregado está do eletroscópio, também será testado o uso de baterias com carga menor que 9v para a melhoria de prescisão.
-Rafael-
segunda-feira, 18 de abril de 2011
Arduino :Recebimento de valores pela porta analógica
Conversando com o grupo do Jean na qual possui semelhanças em nossos projetos.
Eles me mostraram um código para o arduino receber valores pela entrada analógica e imprimir o valor.
Pelo que eles me explicaram esse programa deve receber sempre um valor da tensão pela antena
e receberá um valor pré-definido caso não haja uma tensão negativa se aproximando
O programa que eles me mostraram:
#include <Servo.h>
Servo servo;
const int PinoEletroscopio = 0;
int Eletroscopio = 0;
void setup(){
servo.attach(3);
Serial.begin(9600);
}
void loop(){
Eletroscopio = analogRead(PinoEletroscopio);
Serial.print("Valor do Eletroscopio = ");
Serial.println(Eletroscopio);
if (Eletroscopio > 290){
servo.write(180);
}else if (Eletroscopio != 0 && Eletroscopio < 400){
servo.write(0);
}
delay(1000);
}
Também chequei que um boa maneira do arduino de receber o valor da tensão seria o programando como um voltímetro e ligando ele paralelamente(de acordo com a explicação da professora e o projeto desenhado).
Links:
http://rexpirando.blogspot.com/2011/01/volt-amperimetro-com-arduino-parte-1.html
http://rexpirando.blogspot.com/2011/01/volt-amperimetro-com-arduino-parte.html
Eles me mostraram um código para o arduino receber valores pela entrada analógica e imprimir o valor.
Pelo que eles me explicaram esse programa deve receber sempre um valor da tensão pela antena
e receberá um valor pré-definido caso não haja uma tensão negativa se aproximando
O programa que eles me mostraram:
#include <Servo.h>
Servo servo;
const int PinoEletroscopio = 0;
int Eletroscopio = 0;
void setup(){
servo.attach(3);
Serial.begin(9600);
}
void loop(){
Eletroscopio = analogRead(PinoEletroscopio);
Serial.print("Valor do Eletroscopio = ");
Serial.println(Eletroscopio);
if (Eletroscopio > 290){
servo.write(180);
}else if (Eletroscopio != 0 && Eletroscopio < 400){
servo.write(0);
}
delay(1000);
}
Também chequei que um boa maneira do arduino de receber o valor da tensão seria o programando como um voltímetro e ligando ele paralelamente(de acordo com a explicação da professora e o projeto desenhado).
Links:
http://rexpirando.blogspot.com/2011/01/volt-amperimetro-com-arduino-parte-1.html
http://rexpirando.blogspot.com/2011/01/volt-amperimetro-com-arduino-parte.html
Agradecimentos ao grupo projeto Arduino.
Linguagem usada na programação em arduino
Aqui temos os comandos da linguagem de programação utilizada no Arduino.
As estruturas de referências são:
É bom citar que o software que vem no Arduino já provê várias funções e constantes para
facilitar a programação.
As estruturas de referências são:
- Estruturas de controle (if, else, break, ...)
- Sintaxe básica (de ne, include, ; , ...)
- Operadores aritméticos e de comparação (+, -, =, ==, !=, ...)
- Operadores booleanos (, ||, !)
- Acesso a ponteiros (*, )
- Operadores compostos (++, {, +=, ...)
- Operadores de bits (|, ' ,...)
- Os valores de referências são:
- Tipos de dados(byte, array, int , char , ...)
- Conversões(char(), byte(), int(), ...)
- Variável de escopo e de qualificação (variable scope, static, volatile, ...)
- Utilitários (sizeof(), diz o tamanho da vari avel em bytes)
É bom citar que o software que vem no Arduino já provê várias funções e constantes para
facilitar a programação.
- setup()
- loop()
- Constantes (HIGH | LOW , INPUT | OUTPUT , ...)
- Bibliotecas (Serial, Servo, Tone, etc.)
-Thiago A.-Visualizar
segunda-feira, 4 de abril de 2011
Demonstração de eletroscópio 1
Aqui está um video demonstrando o nosso eletroscópio eletrônico
Com o tempo iremos aprimora-lo e ele estará mais completo.
-Rafael-
Com o tempo iremos aprimora-lo e ele estará mais completo.
-Rafael-
Assinar:
Postagens (Atom)

