quarta-feira, 15 de junho de 2011

apresentação final





Eletroscópio Eletronico
Projeto do eletroscópio
Suporte feito para lampada e ldr


Projeto do suporte

Planilha - Condutância/Distância
Gráfico - Condutância/Distância
















Planilha - Condutância/(1/distância²)
Gráfico - Condutância/(1/distância²)

segunda-feira, 13 de junho de 2011

Código fonte

void setup(){
  Serial.begin(9600);
  Serial.println("1- Ler valor de luz de fundo.");
  Serial.println("2- Ler valor de luz.");
  Serial.print("\n");
}

void exibe(float valor, float condutancia){
  Serial.print("Valor em volts = ");
  Serial.print(valor,4);
  Serial.print(" V");
  Serial.print("\n");
  Serial.print("Valor da condutancia = ");
  Serial.print(condutancia,4);
  Serial.print(" mS");
  Serial.print("\n");
}

float leitura(){
 const int portaAnalogica = 0;
 int valorLido, k;
 float valorVolts;
 valorLido = analogRead(portaAnalogica); // Leitura da porta analogica
 valorVolts = valorLido * 0.0048876; // Conversão do valor analogico em volts
 return(valorVolts);
}

float calculaCondLuzFundo(float luzFundo){
  float voltResistor, corrente, resistenciaLuzFundo, condLuzFundo;
  voltResistor = 5.0000000 - luzFundo; // calcula voltagem no resistor
  corrente = voltResistor/4.7; // calculo da corrente
  resistenciaLuzFundo = luzFundo/corrente;
  condLuzFundo = (1/resistenciaLuzFundo);
  return(condLuzFundo);
}

float calculaCondLDR(float condLuzFundo, float voltLDR){
  float voltResistor, corrente, resistenciaLDR, condLDR;
  voltResistor = 5.0000000 - voltLDR;
  corrente = voltResistor/4.7;
  resistenciaLDR = voltLDR/corrente;
  condLDR = (1/resistenciaLDR) - condLuzFundo;
  return(condLDR);
}

void loop(){
  int opt;
  float luzFundo, voltLDR, condLuzFundo, condLDR;
  if (Serial.available() > 0) {
    opt = Serial.read(); 
    switch(opt)
      {
        case 49 :
          luzFundo = leitura();
          condLuzFundo = calculaCondLuzFundo(luzFundo);
          exibe(luzFundo, condLuzFundo);
          break;
        case 50 :
          voltLDR = leitura();
          condLDR = calculaCondLDR(condLuzFundo, voltLDR);
          exibe(voltLDR, condLDR);
          break;
      }
  }
}

segunda-feira, 30 de maio de 2011

Molde do projeto

para medir a distancia será usado uma placa de madeira com as seguintes medidas :

Placa de Madeira

  • altura :73 cm
  • largura:25,2cm
  • Espaço usado para os suportes:14,5cm
Suporte do LDR e lampada

  • altura:14cm
  • largura:3,1cm

nele será fixado o LDR e a lâmpada para medição de distancia




segunda-feira, 16 de maio de 2011

Mudanças no projeto

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. 

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-

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

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:

  • 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

Desenho do eletroscopio integrado ao arduino (2)

Está postado abaixo em desenho no qual é anexado o arduino no lugar da bateria de 9V.


-Rafael-

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-

segunda-feira, 28 de março de 2011

Desenho do eletroscopio integrado ao arduino

Agora estou pondo uma imagem do eletroscopio integragando um arduino no lugar da bateria e adicionando ums detalhes

Os equipamentos usados no elétroscópio serão:

  1. Resistor de 1000 ohms
  2. Resistor de 1 megohm
  3. LED
  4. MPF-102 (Transistor de Efeito de Campo - FET - canal N)
  5. Arduino 2009
  6. Material para a Antena
  7. Conector para a bateria(Arduino)

Obs:Esses ainda não são todos os materiais que usaremos no projeto.


-Rafael-

Desenho do Elétroscópio

Publiquei abaixo a imagem do projeto do eletroscópio:

Por conselho da professora no lugar aonde liga a bateria com o LED será substituída a bateria de 9v pelo arduino de 5v.
Obs:Isso é apenas o corpo com os conselhos da professora não foi produzido ainda.

Programação em Arduíno

Segue o link de sites explicando o arduíno, seus componentes e sua programação.

Software e linguagem de programação Arduino:
http://www.ikware.com/seeuinmytee/pdf/arduino.pdf

O que é Arduino e sua Estrutura:
http://pt.wikipedia.org/wiki/Arduino

http://www.vivaolinux.com.br/artigo/Arduino-Crie-o-seu-proprio-robo-ou-sensores-inteligentes 


-Thiago Affonso-

sábado, 26 de março de 2011

Programação com Arduino - Sketch

Viajando no Fim de semana, to em Santos na casa dos meus pais ... mas como praia é para os fracos, eu resolvi postar alguma novidade.

A interface de programação do Arduino, conhecida como Sketch, utiliza linguagem C/C++.

Encontrei na internet um blog que mostra algumas informações sobre o assunto, e achei interessante mostra-las aqui.

http://compuworldnew.blogspot.com/2010/05/tutorial-interface-de-programacao.html
algumas informações sobre a interface

http://compuworldnew.blogspot.com/2010/05/programacao-acender-led-arduino.html
codigo para acender um LED ...

acender LED não é muito util para a nossa proposta de projeto, mas quando se trata de sintaxe toda informação é bem vinda

-Caio-

segunda-feira, 21 de março de 2011

Aqui encontrei alguns links de trabalhos de outras pessoas e a criação de seus eletroscópios eletrônicos com o uso de uma transistor :
http://www.feiradeciencias.com.br/sala11/11_55.asp
http://www.feiradeciencias.com.br/sala11/11_53.asp
http://www.fisica.net/giovane/peies/peies01.html
http://www.sbfisica.org.br/rbef/pdf/v18_61.pdf
e dois videos mostrando eletroscópios com um transistor


-Rafael Yuiti-

Eletroscópio Eletrônico

A montagem passo-a-passo do eletroscópio eletrônico:
-O material utilizado para a construção do eletroscópio eletrônico.
-A construção do eletroscópio eletrônico.

Objetivo: Montar um muito simples e eficiente detector de cargas e campos elétricos.
Material: Clipe (conector) para bateria de 9V; bateria de 9V (a 'quadradinha'); LED; resistor de 1 megohm; MPF-102 (Transistor de Efeito de Campo - FET - canal N); solda; fio de cobre para a 'antena'.
Nota: O circuito dispensa ligação á terra; o resistor de 1 megohm é dispensável.


-Thiago Affonso-

domingo, 20 de março de 2011

Eletroscópio Eletrônico

O eletroscópio, que serve para detectar a presença de cargas eletricas, é a base do nosso projeto.
Utilizaremos o eletroscópio eletronico pois ele permite detectar cargas eletricas mais baixas que os outros tipos (Pendulo e folhas).

http://www.feiradeciencias.com.br/sala11/11_35.asp
Página onde encontramos diversas informações uteis a respeito dos materias usados na construção de um eletroscópio eletronico e do seu funcionamento.

-Caio-

segunda-feira, 14 de março de 2011

Equipamentos: Arduino

Para o uso do projeto será usado o arduino 2009 com o Kit Iniciante V3.0 LIGHT Edition 

Conteúdo:
  • 1 x Protoboard

  • 1 x Cabo USB AB

  • 1X Sensor de Temperatura (Termistor NTC 10k)

  • 1x Sensor de Luminosidade (LDR 5mm)

  • 1x Potenciômetro 10kΩ

  • 4x Chave Momentânea (PushButton)

  • 5x LEDs Amarelos

  • 5x LEDs Verdes

  • 5x LEDs Vermelhos

  • 1x LED alto brilho

  • 15x Resistores 330Ω

  • 5x Resistores 10kΩ

  • 1x Buzzer

  • 20x fios Jumper Premium de 6"

  • 10x fios Jumper Premium de 3"

  • 2x Adaptador para fixacao de PaperSketches em Protoboard

  • 1x CD com o manual completo + drivers + programas

  • 10x PaperSketches com os seguintes projetos, juntamente com seus módulos de aprendizagem:
      - Projeto Alarme - Projeto Dimer - Projeto Piano - Projeto Termometro - Projeto Iluminação Automatizada - Projeto Alarme Multipropósito





  • Kit Light
    Arduino 2009
    -Rafael e Thiago Affonso-

    quinta-feira, 10 de março de 2011

    Proposta de Projeto

    Usaremos um circuito que cria um campo elétrico e quando se aproxima do corpo com carga negativa produz um som, essa será a proposta inicial que pretendemos explorar idéias mais abrangentes conforme planejamos.
    Conforme mostrado na aula da professora Marisa com um circuito que acendia um LED.
    O material ainda não foi comprado pois queremos discutir com a professora a respeito do material.

    -Rafael e Thiago A.-

    terça-feira, 22 de fevereiro de 2011

    Atualizações sobre o grupo

    Bom, atualizando o nosso grupo, temos 2 novos integrantes. (O nome do projeto não mudará)
    Thiago Sena e Luis Martins

    lista do grupo completo:
    Caio Cerquetani
    Luis Martins
    Rafael Haga
    Thiago Affonso
    Thiago Sena

    -Caio-

    domingo, 20 de fevereiro de 2011

    Post nº1 - Nome e propósito

    Começando com a sigla, são as letras inicias dos nomes dos integrantes do grupo (Caio, Rafael e Thiago).

    Esse blog tem como objetivo registros online de um projeto de faculdade, utilizando o computador Arduino.

    Futuramente postaremos algumas informações uteis a respeito desse computador e os registros do projeto, assim que for efetivamente iniciado.

    PUC São Paulo - Ciência da Computação - Fisíca 2

    - Caio -