terça-feira, 13 de dezembro de 2011

Física com o Arduino para Iniciantes - Artigo na Revista Brasileira de Ensino de Física

 O artigo mostra como utilizar o Arduino para o estudo de carga e descarga em capacitores.

Para acessar o artigo clique no link abaixo

Artigo RBEF - Física com o Arduino para iniciantes: http://www.sbfisica.org.br/rbef/pdf/334503.pdf

sexta-feira, 11 de novembro de 2011

terça-feira, 1 de novembro de 2011

Simplot- Gráficos em tempo real com Arduíno- Sensor Ultrasonico SRF05

Para a experimentação em Física ou em Ciências é muito importante que possamos visualizar os dados em tempo real.

A opção abaixo é simples rápida e foi encontrada no site http://www.negtronics.com/simplot

Para visualizar em tempo real siga os passos abaixo:

1. Baixe o arquivo relativo ao simplot disponível em http://code.google.com/p/pushpak/downloads/list?saved=1&ts=1303180458

Ou ainda na pasta

2.Instale o software na sua pasta
3. Para visualizar os dados voce deve fazer upload no Arduino do codigo disponivel em
Para visualizar os 4 canais analógicos, mude a extensão para .ino



Ou baixe o codigo disponivel aqui http://web.archive.org/web/20121208060054/http://arduino.cc:80/forum/index.php/topic,58911.0.html. Este codigo é para visualização dos 4 canais analogicos no Simplot.

Ou para visualizar de gráficos em tempo real de distancia versus tempo para o sensor Ultrasônico SRF05 (mude a extensão do arquvo que está em .pde para .ino 


Depois que fizer o upload na IDE do Arduino abra o Simplot e fixe a mesma taxa de aquisição que a estabelecida no Arduino (para estes exemplos 57600). 

Pronto agora voce ja pode visualizar o gráfico em tempo real! 

Agora é só ser Feliz!!

:):):)

sexta-feira, 14 de outubro de 2011

quarta-feira, 12 de outubro de 2011

Ondas estacionárias com o Arduino




Abaixo o esquema da montagem utilizada
Um potenciômetro é conectado a entrada A0 e varia o sinal de entrada. Uma função map transforma  o sinal observado em A0 em sinal sonoro com frequências dependentes da amplitude deste sinal. 





O código Fonte do programa segue abaixo












int POT; //declara variavel
int som; // variavel som para o alarme


void setup(){
Serial.begin(9600);
pinMode(A0, INPUT);// entrada A0
}


void loop(){
POT = analogRead(A0);
Serial.println(som);
delay(100);
som = map(POT,10, 1023, 20, 200); // toca o som com uma frequencia que
//varia de 100 a 1000 Hz de acordo com a distancia:
tone(9, som, 10000);
}


Agora é com vocês! Divirtam-se



:):)





terça-feira, 6 de setembro de 2011

Arduino sem cristal


Você já pensou em um Arduino sem cristal?

Não?

Pois é agora também existe esta possibilidade.
veja mais detalhes no blog
:) :)

sexta-feira, 19 de agosto de 2011

Photogates com LDR

Acabo de montar uma sequencia de LDRs para funcionar como photogates!
O circuito é simples:

Um resistor associado ao LDR em serie. Com LDR no GND e Resistor no +V. Diante de cada LDR colocamos um LED.

Inicialmente faça as leituras nas portas analógicas em cada LDR para verificar o limite que eles devem operar.


Estes limites são importantes porque eles definirão o acionamento da contagem de tempo e o instante de bloqueio em cada LDR.

O código fonte para três photogates segue abaixo
-----------------------------------------------------------------------

int LDR1; // define a variável para o 1o LDR
int LDR2; // define a variável para o 2o LDR
int LDR3; // define a variável para o 3o LDR
int cont=0; // Flag que será utilizada para estabelecer as condições de cada de medida (um //contador)

#define LIMITE_INFERIOR_LDR1 700 // define o limite de acionamento do 1o sensor
#define LIMITE_INFERIOR_LDR2 200 // define o limite de acionamento do 2o sensor
#define LIMITE_INFERIOR_LDR3 100 // define o limite de acionamento do 1o sensor

unsigned long TempoInicial; // variáveis de tempo
unsigned long tempo1; //variáveis de tempo
unsigned long tempo2; // variáveis de tempo


void setup() {
Serial.begin(9600);
pinMode(A0, INPUT); //Ativa pino Analógico 0 para entrada
pinMode(A1, INPUT); //Ativa pino Analógico 1 para entrada
pinMode(A3, INPUT);
}

void loop() {
LDR1= analogRead(A0);
LDR2=analogRead(A1);
LDR3=analogRead(A2);

if (LDR1 > LIMITE_INFERIOR_LDR1 ) { // condição de disparo
TempoInicial = millis();
cont=1; // contagem inicial que será referencia para o próximo LDR
}

if (LDR2 > LIMITE_INFERIOR_LDR2 && (cont==1)) { // condição para leitura de tempo //e apenas apos a leitura do LDR1 " && cont==1 "
tempo1=(millis() - TempoInicial); // faça a diferença do tempo em relação ao tempo //inicial
Serial.println(tempo1);
cont=2;
}
if (LDR3 > LIMITE_INFERIOR_LDR3 && (cont==2)) { // duas condições: limite para //disparo e apos a leitura do LDR2 "&& cont==2" //
tempo2= (millis()-TempoInicial); // faça a diferença entre este instante e o inicial
Serial.println(tempo2);
cont=3;
}
}

------------------------------------------------------------------ Divirtam-se :) :) :)


quinta-feira, 18 de agosto de 2011

Medindo tempo com Photogates no Arduino

O circuito que deve ser utilizado com este código consiste em dois fototransitores conectados através de um resistor em duas portas digitais, no exemplo portas 11 e 12
Quanto a entrada digital for para o estado alto iniciamos a leitura de tempo. Assim que a segunda porta for para o estado alto o cronometro para e fornece o valor do tempo.


const int a = 11;
const int b = 12;
int cont;
int tempo;
int tempo1;
void setup(){
Serial.begin(9600);
pinMode(a, INPUT);
pinMode(b, INPUT);
}

void loop(){
if (digitalRead(a) == HIGH)
{
tempo = millis();
cont = 0;
}
else
{
tempo1 = millis()-tempo;
if ((digitalRead(b) == HIGH) and (cont == 0))
{
Serial.print("Tempo: ");
Serial.println(tempo1);
cont = 1;
}
}
}
-------------------------------- legal :) :)

Calculando a media com o Arduino

Veja o código para calculo da media de varias leituras realizadas em uma porta analógica do Arduino

unsigned long tempo; // float tempo;
float pinoentrada; //declara "pinientrada" como a variavel que fara a leitura da porta analogica (em bits)
float tensao; //declara a variavel que fara a conversao do "pinoentrada" de bits para Volt (em Volts)
char leitura; // declara a variavel que fara a leitura da Serial a partir do teclado
int i = 0; // variavel de contagem
float soma = 0; // variavel que soma os valores obtidos
float media = 0; // variavel que calcula a media


void setup(){
pinMode(A0, INPUT); // declara o pino de entrada
Serial.begin(9600);
}
void loop()
{
leitura = Serial.read(); // faz a leitura do teclado
soma = 0; // forca a variavel soma iniciar com o valor zero
i = 0; // forca a variavel i iniciar com o valor zero

if (leitura =='l') { // inicia a leitura se for teclado l (ele) na Seria

while(i < 10){ // faz dez leituras do pino de entrada

tempo= millis(); // base de tempo para a coleta em microssegundos
pinoentrada = analogRead(A0); // le o pino de entrada
tensao = (pinoentrada*5.00000)/1024.00000; // converte o valor lido para tensao
soma =(soma + tensao); // soma a tensao atual com a anterior

Serial.print("Medida ");
Serial.print(i+1);
Serial.print(" : ");
Serial.print("pino de entrada (bits)");
Serial.print(" : ");
Serial.print(pinoentrada);
Serial.print(" "); // introduz um espaço para as colunas
Serial.print("pino de entrada (volts)");
Serial.print(" : ");
Serial.println(tensao,5); // imprime a tensao com 5 casas decimais e pula uma linha
i++; // soma uma unidade na variavel i
delay(1000); // espera 1 segundo para a proxima leitura
}
media = soma/10; // calcula a media da tensao
Serial.print("Valor Medio (volts): ");
Serial.println(media,5); //imprime a media com 5 casas decimais
}
}

------------------------------ Bom Trabalho :)

terça-feira, 16 de agosto de 2011

Driver para o FTDI - Para conexão USB no Arduino


Segue o link para todos os drivers do FTDI , Lnux, windows, Mac 64 bits, 32 bits . Clique na figura para acessar o site

sábado, 30 de julho de 2011

Ardulab: Controle o seu Arduino execute experimentos, visualize graficos rapidamente em um software livre de visualização grafico

Um software baseado no Labview que permite executar diferentes experimentos com o Arduino, sem que seja necessário conhecer programação. Veja o vídeo abaixo


Para baixar o Ardulab clique no link abaixo

Baixar o Ardulab

Para saber como instalar e aplicativo e faze-lo conversar com o seu arduino assista o vídeo

terça-feira, 19 de julho de 2011

Comando teclado e impressao do estado do LED

// circuito.. LED no pino 13+ resistor no GND (resistor de 150 a 1 Kohms)
// codigo fonte


int ledPin = 13; //define o pino em que o led está ligado
char leitura; //define a variavel leitura que corresponde a uma letra o teclado
//definido por char
int estadoled; // definindo variavel para o estado do led 1 aceso, 0 apagado

void setup() {
pinMode(ledPin, OUTPUT); //define que o pino 13 será uma saida
Serial.begin(9600);
}
void loop() {
leitura = Serial.read();// a variavel leitura será obtida através do teclado

if (leitura == 'L') {
estadoled=LOW;
digitalWrite(ledPin, estadoled);
Serial.println(estadoled); // imprimi o estado do led
}
else if (leitura == 'H') {
estadoled=HIGH;
digitalWrite(ledPin, estadoled);
Serial.println(estadoled);}
}

--------------------------------- legal :)

quinta-feira, 7 de julho de 2011

Firmata e o Arduino

Um programa muito útil que permite uma rápida visualização das portas de seu Arduino é o Firmata. Segue abaixo um tutorial.


Link atualizado em 21/01/2016 http://firmata.org/wiki/Main_Page

Gráficos Arduino-Processing

O documento abaixo apresenta diferentes visualizações graficas que podem ser realizadas com o Processing. Fornecemos os códigos fontes , circuitos e figura da tela de visualização no Processing.
O tutorial para instalação das bibliotecas que devem ser inseridas no Processing e Arduino estão tb disponíveis neste blog (tutorial Processing_arduino)
Para acesso ao documento com os diferentes gráficos clique no icone abaixo

terça-feira, 5 de julho de 2011

Comando via teclado no Arduino : Usando a Serial.read()

O código abaixo permite que voce acenda e apague um led via teclado. Teclando H o led acende e L o led apaga.

// Circuito: Resitor de 330 ohms no GND e Led no pino 13

int ledPin = 13; //define o pino em que o led está ligado
char leitura; //define a variavel leitura que corresponde a uma letra o teclado
//definido por char

void setup() {
pinMode(ledPin, OUTPUT); //define que o pino 13 será uma saida
Serial.begin(9600);

}

void loop() {
leitura = Serial.read(); // a variavel leitura será obtida através do teclado
if (leitura == 'L') {
digitalWrite(ledPin, LOW);}
else if (leitura == 'H') {
digitalWrite(ledPin, HIGH);}
}

Sensor sonoro de proximidade com o Arduino e visualizando a PWM com a entrada de microfone


Este projeto permite que você possa:

1. visualizar o sinal PWM através da entrada de microfone de um PC

2. Construir um sensor de proximidade sonoro.




Acionando um rele com o Arduino

O projeto abaixo foi desenvolvido para ensinar a conectar um rele ao Arduino e aciona-lo condicionado a um valor lido em uma porta analógica. Uma aplicação imediata, seria por exemplo, controlar a temperatura de um forno, o acionamento de uma lampada, ar condicionado, etc.

O projeto foi postado no banco de dados do Fritzing.


Clique na figura para acessar este projeto.



segunda-feira, 4 de julho de 2011

Visualizando a saida PWM com o Audacity

Podemos visualizar a saida PWM do Arduino usando a entrada de microfone do PC e o software audacity. Para isso utilize o circuito aabaixo
Abora faça uma varredura total com o potenciômetro. Observe o led variando a sua intensidade

O sinal observado com o audacity está abaixo





Ampliando a escala no inicio do sinal com o led com baixa intensidae temos:


Para o LED com uma intensidade intermediaria


E finalmente com o máximo de intensidade


Caso tenha interesse em visualizar este sinal segue o link para acesso ao arquivo wav.

Codigo de cores para resistores

Alguns sites que permitem obter o valor de resistencia a partir do codigo de cores:

Código de cores para 3,4,5 e 6 faixas
http://www.searchingtabs.com/rcolor/rescolor_port.htm

Código para 4 cores
http://www.areaseg.com/sinais/resistores.html

Código para 5 cores
http://www.josmar.net/site/index.php?option=com_wrapper&view=wrapper&Itemid=46

Programas para rodar em celular e em PC

Carrinho controlado por Wi-Fi com o Arduino

Vejam o Controlado por Wi-Fi, com interface Web e visualização de webcam desenvolvido por Alvaro Justen.

Turiquinhas no 2º Sprint da PythonCampus from Henrique Bastos on Vimeo.



http://www.justen.eng.br/Turiquinhas/

terça-feira, 28 de junho de 2011

Sensor de proximidade com o Arduino e sinal sonoro na caixa de som de um PC

A ideia deste experimento é produzir um som cuja frequencia depende da intensidade da luz.
Circuito:
1. Um LDR é conectado através do um resistor a entrada analogica do Arduino (no exemplo analog 0). No exemplo utilizamos R= 33 Kohms conectado no +V e o LDR em GND.
2. Utilizaremos a saida 9 do Arduino e apenas por precaução um resistor de 330 a 1 Kohms em serie com o alto falante. Veja a figura abaixo com o esquema


A foto da montagem também pode ser visualizada abaixo



O código segue abaixo

int LDR; //declara variavel
float VLDR;
int som; // variavel som para o alarme

void setup(){
Serial.begin(9600);
pinMode(A0, INPUT);// entrada A0

}

void loop(){
LDR = analogRead(A0);
VLDR=LDR*5.0000000/1024;
Serial.print(LDR);
Serial.print(" ");
Serial.print(VLDR);
Serial.println ( "\t");
delay(2);

som = map(LDR, 100, 200, 100, 1000); // toca o som com uma frequencia que
//varia de 100 a 1000 Hz de acordo com a distancia:
tone(9, som, 10000);
}

Segue o link para o tutorial "Tone" que mostra como utiliza-lo lhttp://arduino.cc/en/Reference/Tone

O uso esta resumido abaixo

tone ( pino, frequência, tempo de duração )


Passos:

1. Cole o código acima na IDE do Arduino
2. Imprima os valores lidos no LDR e verifique o intervalo que pretende obter o sinal sonoro
3. A função " int som = map(LDR, 100, 200, 100, 1000)" fará esta conversão em valor lido no LDR (aqui está em decimal , varia de 0 a 1023 e está em vermelho) e a saída para o pino 9 será um sinal cuja frequência esta variando de 100 a 1000 e está em azul)
4 a função " tone(9, som, 10000)" indica; pino de saída , frequência, que no caso deixaremos dependente da distancia e portanto da leitura no LDR, e o tempo de duração em geral maior do que 100 ms, para retirar o ruido de fundo.


Segue abaixo video que mostra o efeito que se obtem com este circuito


Códigos Fonte para outros sons que voce pode obter incluindo melodias estão disponiveis na pasta abaixo

Para que você possa criar suas musicas segue um link para aos valores de frequência das notas musicais

Se você quiser baixar uma biblioteca com as notas musicais para o Arduino. Segue o link

Veja outros exemplos para gerar sons com o Arduino


quarta-feira, 18 de maio de 2011

Instalando o SciDAVis

O SciDAVis é um software para a construção de gráficos científicos semelhante ao Origin, mas com uma enorme vantagem: é FREE. Clique aqui e veja o tutorial de instalação do SciDAVis.

sexta-feira, 13 de maio de 2011

Arquivos Processing e Arduino para Graficos em Tempo Real

Esta pasta contem os codigos fontes para visualização de graficos em tempo real usando o Processing e o Arduino.
O procedimento é bem simples. Abra o arquivo destinado ao Arduino no "Arduino" e faça o Upload em seguida abra o arquivo destinado ao Porcessing no Processing e rode. Cuidado apenas com a indicação da porta serial correta no arquivo do Processing

Tutorial - Graficos em tempo real com o Processing+ Arduino

Este tutorial mostra o passo a passo para a visualização de graficos em tempo real de dados obtidos atraves do Arduino utilizando o Processing.

Postagem em destaque

INFORMATICA NO ENSINO DE FÍSICA - UFAM

PLANO DE ENSINO - ANO CIVIL 1S 2024 COM INICIO EM DEZEMBRO DE 2023 - ANO ACADEMICO 2S DE 2023 Se preferir baixe o plano aqui  ou visualize