Round’Aclock

Actualizado em 14/12/08

Boas a todos. Em comemoração dos 1000 visitantes, vou iniciar aqui um projecto um tanto ou quanto ambicioso. Não sei até que ponto o consigo realizar.

O que prentendo fazer é um projecto Persistence of Vision (Wikipedia), significa em português, Persistência de Visão. Um exemplo de persistência de visão é movimentar rapidamente uma luz intensa num meio escuro. O que o olho humano vê é mais ou menos isto:

Quero fazer um relógio com LEDs. Poderia fazê-lo com uma simples matriz, como a do lado esquerdo, criando caracteres a partir da combinação de LEDs acesos. Por exemplo, se quiser mostrar um “5″, posso criar uma combinação como a mostrada do lado direito.

Mas isso é muito simples… Quero algo mais complicado. Que tal produzir o mesmo efeito apenas com 5 LEDs?

Hmmm… Está a ficar interessante?

Que tal termos apenas uma coluna de 5 LEDs e fazermos com que essa coluna se mova para ocupar as outras posições tão rapidamente que o olho humano não consiga perceber?

Usando um simples motor DC, podemos fazer rodar a coluna de LEDs e com um Arduino controlar a mudança dos LEDs. Com um módulo RF, para além do relógio, podemos mostrar texto controlado à distância.

Apresento-vos o Round-dA’clock!!!

Não gozem com a falta de habilidade para trabalhar no Sketchup. :P

Material a Utilizar:

  • Motor DC
  • Arduino
  • Breadboard/protoshield
  • 5 LEDs
  • Placa perfurada
  • 5 Resistências
  • Algum metal para suporte
  • Módulos RF

Como Funciona

É simples. A primeira coisa que temos de fazer é definir a intervalo entre cada coluna (não pode ser muito curto – ficam muito juntos) e o tempo de exposição de cada “passo” ou “frame” (não pode ser muito longa – origina letras muito compridas; nem muito curta – pouca definição). Penso que é óbvio que estes valores são calculados consoante a velocidade a que roda a “plataforma”.

Como fazer com que os caracteres sejam mostrados sempre na mesma posição?

É para isso que serve o tacómetro – é um pequeno componente em forma de C composto por um emissor e um receptor de infravermelhos, cada um numa extremidade.

Ao fornecemos uma determinada energia ao emissor. Se o receptor indicar que a recebeu, então não há nenhum obstáculo pelo meio. Se por outro lado, ao medir a carga energética recebida pelo receptor, se verificar que houve uma perda significativa, quer dizer que há um obstáculo entre o emissor e o receptor.

Podemos então utilizar o tacómetero! É fácil definir uma posição inicial para os caracteres ao introduzir um objecto (um pouco de papel ou cartão) na posição central do tacómetro num ponto do movimento circular que a plataforma descreve.

O que pretendo fazer está ilustrado na figura em cima. O tacómetro está a preto e o obstáculo está a castanho. É fácil fazermos um loop no Arduino, que quando o tacómetro indica que passou no obstáculo, começa a imprimir as “frames”.

Testes iniciais

Para testes iniciais, não foram nada animadores. Testei os dois interruptores ópticos que tinha, mas não consegui obter valores que permitissem chegar a uma conclusão. Nem deu para perceber se eram do tipo transmissivo (como o da imagem mais acima) ou refletor. A solução não passará, então, pelo interruptor óptico.

A alternativa: um switch que tinha aqui com uma mola muito fraquinha, que não fará muito atrito à rotação.

Segundo obstáculo: não vou poder utilizar os módulos RF. Tentei montar um circuito pela Porta de Comunicações Série da motherboard para o transmissor e o receptor ligado ao Arduino. Liguei então o Arduino por USB e programei-o para imprimir na consola de Serial os valores que recebesse por RF.

O que recebi foram apenas caracteres estranhos, provavelmente causados pelo ruído da frequência 433MHz, muito usada. Alternativa: módulos XBee (ZigBee), com uma shield no Arduino e o módulo USB Explorer ligado ao PC.

Seria uma alternativa um pouco acima do que pensei em gastar. Estes módulos ainda são um pouco caros, pelo que não os vou usar. A função Wireless fica, por enquanto, descartada.

Primeiros Passos

O primeiro passo foi criar a base de rotação para o Round’Aclock. Fui à minha lixeira e encontrei várias coisas:

  • Motor DC de 25v de alta rotação – retirado de uma impressora velha.
  • Montagem de um vuímetro que tinha feito (Linha de 10 LEDs).
  • Switch – retirado de uma impressora, também.
  • Transformador de 220v para 16v – retirado de um rebobinador de cassetes.
  • Mais algumas peças velhas (mecano, rodas dentadas, etc)

Vou usar uma caixa de 50 DVDs, porque tem a altura ideal para incluír o motor.

Vejam aqui as fotos

Cometi um erro muito grave… Montei tudo antes de fazer um teste essencial: a velocidade do motor. Pensei que por o motor aguentar 25v, ao fornecer-lhe 16v, seria suficiente para fazer rodar a plataforma. Depois de aplicada a plataforma horizontal superior, liguei à tomada.

O motor superou as espectativas: em vez de uma simples plataforma giratória, quase parecia um helicóptero. O problema era a base de plástico, por ser leve demais para aguentar aquela alta velocidade. Acreditem que era muito grande mesmo!

Tive de desfazer tudo e adicionar uma resistência de 10k, foi suficiente para baixar a velocidade de rotação do motor.

É assim que é suposto ficarem os LEDs:

Por agora é tudo. Fiquem atentos e comentem!

9 Comentários »

Feed RSS para comentários a este post. TrackBack URI

  1. [...] criar uma página do blog dedicada a este projecto, para poderem acompanhar os novos [...]

  2. [...] Ricardo Dias WebBlog « Novo Projecto Pessoal: Round-dA’clock Round’Aclock actualizado Dezembro 14, 2008 Foi iniciado oficialmente o projecto Round’Aclock. [...]

  3. E entao, como vai isso?

  4. Boas Papz.

    Este projecto está pendente. Estou à espera de outro Arduino para o emissor.

    Cumprimentos,
    Ricardo

  5. Viva,

    Andava por aqui a passear à procura de artigos referentes ao arduino e modos de o programar e encontrei este projecto.

    Muito porreiro. Em tempos fiz um parecido, mas sem comunicacão, apenas marcava as horas.

    Já agora, utilizas a IDE do arduino para fazer código ou programas em C?

  6. Boas Carlos.

    Estou a utilizar a IDE do Arduino. ;)

    Cumprimentos,
    Ricardo

  7. Boas…

    Tenho um projecto pendente de um pequeno robot devido a falta de €…

    Entao decidi começar outro para nao estar parado e comecei a desemvolver uma coisa destas com o meu picaxe…

    Tenho uma duvida, como é que vais fazer a alimentação disso?
    Eu tava a pensar em fazer a minha com uma pilha de 9v um 7805 e tava a andar que dizes?

    CUmps
    AndréD.

  8. Boas André

    A alimentação da base é feita ligada à corrente de 220v, com um transformador para 16v, depois ligado ao motor que faz girar a placa.
    Depois, como deves imaginar, não tenho maneira de passar corrente para o circuito em cima, pois está em constante rotação. Portanto, vou usar pilhas recarregáveis.
    Quanto à questão da pilha de 9v, não aconselho. Não é que não funcione, mas há uma questão: o tempo que estas pilhas aguentam é muito inferior às AA ou AAA (de 1,2v – 1,5v) – para verificares, vê os mAh de cada uma. Enquanto as pilhas AAA conseguem 2000 e tal mAh, as de 9v conseguem 200, 300 mAh, logo por aí vês o tempo de demora a gastar a pilha por completo. Eu digo por completo, porque não é só a questão da pilha. Se vais usar um regulador de 5v, se vires no datasheet do mesmo, estes costumam de precisar num mínimo de 7v para regular para os 5v. Logo, dos 9v, aproveitam-se 2v.
    Então e perguntas tu: então o que devo utilizar.
    Bom, então eu respondo. Olha, eu costumo utilizar várias pilhas AAA (8) recarregáveis ligadas em série. E depois, claro o regulador de tensão.
    Se não quiseres, pois as pilhas (recarregáveis especialmente) ainda são caras, mais suporte para as 8, etc. tens outra opção: usas 3 pilhas AAA em série. E depois compras um circuito de conversão “Step-up” para 5v. O que estes circuitos fazem é “puxar” a corrente dos 3,6v (3 x 1,2v) para 5v. Mas cuidado, este método não é aconselhável para situações onde precises de muita corrente. Podes acabar por queimar este circuito.
    Bom, ideias não faltam. Quando acabares o projecto quero ver ;) e se precisares de ajuda, estou cá para o que puder.

    Cumprimentos,
    Ricardo Dias

  9. Boas…

    Em relação ao que disseste, concordo plenamente contigo, e apenas nao fazia ideia desse circuito “Step-Up”, porque do resto sabia, o problema é que eu sou daqueles muito arrumadinhos ou seja queria que a coisa ficasse “bonita”, vou tentar arranjar uma maneira de colocar a alimentação atravez do motor, ou seja nao vou precisar de pilhas na plataforma, esta so vai conter o meu circuito picaxe e tambem a pequena placa dos Leds.

    Se nao conseguir, tenho aqui uma bateria de 9.6V 2000 e qualquer coisa mAh meto-a lá colada…

    Antes de mais obrigado pela tua sugestao, e claro que quando o terminar faço um video…

    Cumps
    AndréD.


Publicar um comentário

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Blog em WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.