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;
}
}
}
Mostrando postagens com marcador Programação. Mostrar todas as postagens
Mostrando postagens com marcador Programação. Mostrar todas as postagens
segunda-feira, 13 de junho de 2011
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.
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, 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, 28 de março de 2011
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-
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-
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-
Assinar:
Postagens (Atom)
