terça-feira, 27 de setembro de 2011

Projeto Automação Náutica com Arduino (Program-me)

Gostaria de compartilhar mais um projeto bacana desenvolvido pelo nosso Professor Pardal Vinicius Senger, uma forma de aprender e experimentar com as coisas da vida real.

Veleiro + Android + Arduino

Tudo começou com um piloto automático quebrado. O piloto automático de um veleiro é uma peça que controla a Cana de Leme mantendo o barco numa determinada direção da bussola, por exemplo  30 graus.

Com o piloto automático trabalhando (companheiro carinhosamente apelidado de Mané) o Capitão Senger consegue fazer outras coisas enquanto navegamos para uma determinada direção, e de tempos em tempos ajusta-se novamente a orientação do piloto automático. 

A bussola do piloto automático quebrou, e por isto o Capitão Senger (ou outro alguém) precisa ficar 100% do tempo mantendo a Cana de Leme na direção correta, caso contrário o barco fica girando ao redor do próprio eixo com influência do vento e do movimento das águas.

Essa foi a primeira motivação para começar o projeto com o Piloto Automático controlado pelo Program-me, o Arduino EletronLivre + Globalcode.

O  piloto automático tinha a seguinte interface: 
[-1 grau] [-10 graus] [ VISOR INDICANDO A DIREÇÃO] [+1 grau] [+10 graus]

Embora fosse totalmente possível reproduzir a interface original o Vinicius preferiu utilizar os mesmos conceitos de controle e comunicação com Bluetooth do Robô BR1 e o acelerômetro do Android foi escolhido como interface para indicação da direção do barco, ou seja, o capitão inclina o celular para direita ou para esquerda indicando a direção da navegação.

Vale a pena assistir ao vídeo que eu mesma editei para entender o funcionamento do projeto:



Em tempos de conectividade os antigos Diários de bordo já não são tão precisamente utilizados e há sempre a vontade de "logar" todos os passeios e viagens com o barco por isto um módulo de GPS foi adicionado ao projeto que cria a rota do barco no Google Earth.

Evidentemente este ainda é um projeto experimental, e sem dúvida um dia pode ser transformado num projeto real, mas o fruto mais importante já foi colhido: conhecimento prático!

E você, qual projeto vai tirar da gaveta?

Yara Senger

terça-feira, 13 de setembro de 2011

Electron Kernel: Arduino multi-modo e multi-tarefa

Lançamos hoje oficialmente o nosso framework Arduino para gerenciar nossos projetos mais complexos que trabalham com múltiplos modos de operação.

O Arduino apesar de simples, pode tomar uma proporção maior em projetos de média complexidade em diante, por isso criamos o Electron Kernel que é um gerenciador de modos, tarefas e eventos para Arduino.

Com ele você consegue programar múltiplos sketches que podem ser alternados via Serial, via botão / interrupção ou de formas customizadas, por exemplo, robôs que mudam de comportamento quando estão em um determinada inclinação.

Usando de conceitos de inversão de controle, principios de orientação a objetos com C++ e muito ponteiro de função, conseguimos abstrair as principais complexidades gerando uma biblioteca simples de usar e com alto poder.


Site em português
Site em inglês