domingo, 5 de fevereiro de 2012

Bike! Pedalando pelas noites!


Minhas voltas com as bikes são antigas... Desde moleque pedalo e admiro as magrelas, já pedalei as speed, bicicross e muitas trilhas com as mountain, porém hoje, pai de família, normalmente só me restam as noites para dar aquela saída para pedalar. Numa dessas saídas noturnas um dos malucos motorizados não me viu e quase virei asfalto! Naquele dia fiquei imaginando quantos ciclistas noturnos já passaram pelo mesmo tipo de evento. Minha bike com vários
sinalizadores tipo "olho de gato" nos raios, pedais e no canote do selim não foram o suficiente para me safar da situação de risco! Após o tradicional suador sentei e fiquei acompanhando os ciclistas da ciclovia e verificando o que cada um deles usava para sinalização durante seus passeios noturnos.
Faróis, leds pisca-pisca eram as idéias mais evidentes. Após este evento estive em uma casa especializada em venda de acessórios para comprar algo semelhante... Para minha surpresa um sinalizador led estava na faixa dos 3 dígitos! Achei caro e não comprei, pensando em fabricar eu mesmo algo em minha garagem. Navegando na net vi alguns projetos de sistemas de projeção de imagem por movimento e como já havia criado um tacômetro com o mesmo princípio achei que criar uma versão para um projeto para bikes seria legal como desafio profissional e também resolveria meu problema em meus passeios de bike noturnos, além ,é claro, principalmente me divertir com o projeto e sua utilização!
Mãos a Obra! A idéia do projeto é utilizar um sistema microcontrolado acoplado aos raios da bike que em rotação fosse capaz de exibir imagens e animações simples. Para conseguir realizar todo o projeto era necessário desenvolver o hardware, o software embarcado no microcontrolador e um software para rodar num computador comum capaz de processar, preparar e enviar as imagens para o microcontrolador. Escolhi um microcontrolador da microchip por afinidade, e ferramentas de software que eu já havia trabalhado e conheço relativamente bem.
Linguagem C para o programa embarcado no microcontrolador e .NET para aplicação PC.

Um pouco de física de movimento...
Para definir algumas grandezas do projeto se fez necessário realizar alguns cálculos básicos a fim de encontrar pontos ideais de funcionamento. Uma das variáveis iniciais importantes é a própria "persistência de visão humana". A persistência da visão humana é um fenômeno que ocorre dentro de nossa retina e define basicamente a velocidade que nossa visão consegue diferencias quadros de imagens. Através desse calculo pode-se saber qual velocidade é necessário imprimir a bike para exibir a imagem de uma maneira contínua.
Utilizando-se apenas um módulo é preciso pedalar razoavelmente rápido... Entre 20 e 40Km/h é possível conseguir uma imagem aceitável. Abaixo disso seriam necessários mais de um módulo idealmente 2 ou 3. Eu como protótipo estou usando apenas um, mas foi suficiente para realizar testes conforme poderão ver nas imagens do video mais a frente.
Com estes cálculos também se podem definir grandezas de tempo em que cada linha de 32 leds será disparada durante o ciclo de rotação em função do calculo da velocidade instantânea.
O Sensor referência é fixado a um ponto do garfo da bike e a cada 3 ciclos o microcontrolador calcula a razão correta de disparos no tempo evitando distorcer a imagem durante aceleração e desaceleração.

Hardware
O hardware é relativamente simples composto por um conjunto de microcontrolador, eeprom alguns shift-registers e uma boa dose de software! Como sabemos com a presença de microcontroladores cada vez melhores e com mais recursos a dificuldade maior neste tipo de projeto é realmente o software.
Utilizei componentes baratos e fáceis de conseguir, o que de certa forma dificultou também na produção do software. A CPU utilizada é um simples uC de 8bits da microchip 16F628, os registradores são os tradicionais e fáceis de obter 74595, e claro muitos LEDS. Sem dúvida o maior problema no quesito de hardware foi obter o sensor hall e memórias EEPROM adequadas. Esses tive que apelar e importar.
É incrível que no Brasil mesmo morando em cidades grandes ainda se encontre tantas dificuldades de comprar alguns componentes... Restando a (nem sempre barata) opção de comprar ou importar pela internet... Existem componentes que poderiam facilitar e reduzir muito este projeto, porém como citei não são facilmente encontrados aqui. Mantive a idéia inicial de produzir algo com baixo custo e componentes possíveis de se comprar.

Softwares:
Como citado anteriormente, para produzir o software do microcontrolador utilizei linguagem C, o software embarcado permite receber dados do PC e é capaz de gravar as imagens geradas no programa PC para a memória EEPROM. Cada frame de imagem de 1Kbyte e é exibido em 256 disparos durante um ciclo de rotação totalizando 8192 pixels binários.Exitem 2 modos de operação, programação e runtime.
O software do PC foi desenvolvido com tecnologia .NET ele é capaz de converter qualquer imagem bitmap 600x600 no formato necessário para carga da EEPROM, definir áreas de gravação de cada frame e claro enviar as imagens convertidas para o sistema microcontrolado.
Abaixo segue video mostrando um pouco deste trabalho... Estarei escrevendo mais detalhes deste projeto em outros posts!
Em uma das imagens do vídeo aproveito para homenagear o ótimo trabalho desenvolvido pelo pessoal do Lab de Garagem! Espero aqui a unidade da região de Campinas!
Parabéns Marcelo!

Abraço de um tb garagista!
Eduardo Duarte

5 comentários:

  1. Nossa mto da hora mesmo!!! Vc comentou que você calcula a velocidade da bicicleta, vc faz o calculo de quantas rotações divide em graus e cada grau vc envia o pacote de saidas para os led, certo? ficou show e atende o baixo custo q vc queria, mas se utiliza-se um gerador de pulsos, por exemplo um encoder de uma resolução baixa 512 ou 1024 pulsos, vc nao precisaria utilizar esse calculo e a imagem sempre ficaria perfeita capaz até de funcionar com 2 e 10 20 reguas de LED, pode ser uma melhoria ao projeto!! Mais uma vez parabéns pela iniciativa!!! Guilherme Bento de Souza gbs_redhot@yahoo.com.br VERIS Eng Controle e Automação

    ResponderExcluir
  2. Muito bacana, gostaria se possível mais detalhes do hardware e software fiquei interessado em montar um desse..rs.

    marcosribeiro_br@yahoo.com.br

    ResponderExcluir
    Respostas
    1. Marco esse é um protótipo sendo que tanto hardware como software estão sofrendo alterações e melhorias estou desenvolvendo uma versão para distribuição em breve estarei postando novidades.

      Abraço

      Eduardo

      Excluir
  3. possível mais detalhes do hardware e software

    ResponderExcluir