Copirraite

Máquina do tempo com o Arduino

Posted on: outubro 8, 2009

Quem já assistiu “How it’s Made” ou programas do gênero no Discovery Channel já deve ter reparado que algumas indústrias usam o efeito estroboscópico para acompanhar linhas de produção que operam em alta velocidade.

O princípio é muito simples e eu decidi fazer a minha própria luz estroboscópica com Arduino.

O diagrama para montagem é o seguinte:
Stroboscopic Time Machine _ Schematics(usei o Fritzing para construir o diagrama)

Usei dois potenciômetros, mas seria possível montar apenas com um (alterando um pouco o código abaixo). Usando dois eu consigo controlar não só a freqüência do pulso de luz mas também a duração de cada pulso. Dependendo da velocidade do objeto em movimento é preciso acertar estes dois valores. Também usei 4 LEDs em série, ao invés de um como mostro no diagrama.

O código que escrevi segue abaixo:

/*
Stroboscopic Time Machine

Controls a blinking LED using two potentiometers (one for frequency
and another for the ON duration of the light).

It can be used to see rapid movement in slow motion.

The circuit:
* LED connected from digital pin 13 to ground.
* Potentiometer 1: left pin to VCC, right pin to ground and middle
pin to Analog 4.
* Potentiometer 2: left pin to VCC, right pin to ground and middle
pin to Analog 5.

Created 5 October 2009
By Gian Carlo Martinelli

http://copirraite.wordpress.com/2009/10/08/maquinadotempo/

*/

int ledPin = 13; //defines the LED pin
int freqPin = 4; //defines the frequency potentiometer pin
int waitPin = 5; //defines the ON duration potentiometer pin
int freq = 0; //defines variable
int wait = 0; //defines variable

void setup(){ //defines the pin modes and prepares serial for bug tracking
pinMode(ledPin, OUTPUT);
pinMode(freqPin, INPUT);
pinMode(waitPin, INPUT);
// Serial.begin(9600); uncomment this if you wish to use bug tracking via terminal
}

void loop(){
freq = analogRead(freqPin); //reads Frequency potentiometer
wait = analogRead(waitPin); //reads On Duration potentiometer
// Serial.print("Freq: "); uncomment the next 5 lines for bug tracking
// Serial.print(freq/10);
// Serial.print("\t");
// Serial.print("Wait: ");
// Serial.println(wait/10);
digitalWrite(ledPin, HIGH); //turns led ON
delay(wait/10); //leaves the LED on for a determined duration
digitalWrite(ledPin, LOW); //turn LED off
delay(freq/10); //wait before turning LED on again (frequency)
}

Como não tenho uma câmera digital disponível não tenho como demonstrar o meu em funcionamento, mas o efeito é basicamente como o visto nos vídeos abaixo:

Quando tiver tempo (muito tempo) pretendo montar uma projeto que não precise do Arduino para operar. Usando apenas componentes eletrônicos… imagino que não seja muito complicado. Alguém disposto a ajudar? :)

About these ads

2 Respostas para "Máquina do tempo com o Arduino"

Sugiro usar o velho NE555. Acho que é o chip ideal para isso e tem um monte de projetos na rede para usar como referencia
Jeronimo
http://www.blogdoje.com.br
Avr, Arduino & ARM

É um timer 555 né? Já ouvi falar mas nunca usei em nenhum projeto! Vou tentar, valeu pela dica!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Atualizações Twitter

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: