quarta-feira, 3 de fevereiro de 2016



Uma descoberta chamada: ARDUINO





Hoje em dia se queremos ou temos de ir a um lugar no nosso automóvel e não sabemos o lugar exacto, utilizamos  ferramentas que estão ao dispôr de todos os que têm um telemóvel: o GPS ou o Google Maps ou qualquer outra ferramenta que nos indique o caminho.

Antes utilizávamos um mapa, quer em terra quer no mar.

Sou um apaixonado por navegação, embarcações e tudo o que tem a ver com este tema. Gosto de longos passeios de barco, de rotas pré definidas e de navegar com a máxima segurança, sempre delinei as minha rotas num GPS antes de partir. No fundo, delineava uma estrada imaginária para navegar com tranquilidade, quer na ida, quer na vinda.

Essa “estrada” era seguida visualmente, orientando o leme do barco função das curvas previamente desenhadas nessa mesma  “estrada”. E era deveras muito fácil. Foi aí que pensei, porque não automatizar este processo? Fazer com que um computador, um micro-processador ou mesmo um micro-contolador, fizesse aquilo que eu, manualmente/visualmente, fazia?

Quando surge a ideia e não temos nem sequer conhecimentos básicos para concretizar, das duas, uma: ou desistimos ou partimos para a investigação.

Parti para a investigação.

Navegar bem e chegar ao destino só tem a ver com um atempado posicionamente do leme , tal como num automóvel viramos à esquerda ou à direita, na estrada ou rua certas.

Verifiquei que existem várias soluções comerciais de pilotos automáticos para navegação marítima e que garantem estabilidade de rota de um ponto para outro, bem caras por sinal e direccionadas para embarcações de tamanho considerável movidas com sistemas hidráulicos. E as pequenas embarcações, não têm direito?

 No mar é fácil porque não existem obstáculos e podemos  delinear uma linha recta entre o ponto “A”, partida e o ponto “B”, destino.

Mas, e num carro? Os GPS’s dos carros respeitam todos os obstáculos e viragens que têm de ser executados para chegar ao nosso ponto “B”, destino. Até temos uma voz, mais ou menos simpática a dizer-nos, por antecipação, onde virar.

Para navegar numa embarcação, isso não existe.

Mas agora, perguntarão: mas para que serve um autopiloto para barcos que execute viragens se não há uma estrada ou trajecto obrigatório e o caminho mais curto entre dois pontos é uma recta?

Isto não é bem verdade!.

Quem quer fazer um passeio de barco, seja nos grandes lagos do Canadá, Estados Unidos, no Grande Lago do Alqueva ou noutros grandes lagos ou rios do mundo , tem de ter em atenção qual o ponto de partida, qual o ponto de chegada e tudo o que há de permeio: ilhas, contornos de margens, profundidades, obstáculos naturais, etc.

Foi aí que caí em mim próprio e dei conta da minha profunda ignorância sobre COMO EXECUTAR a automatização de um trajecto neste contexto.

Conhecimentos de GPS, tinha; conhecimentos de informática, tinha.Necessitava, então, de conhecimentos de mecânica e de electrónica, juntar os quatro e tentar conceptualizar um modelo que fosse ao encontro do meu objectivo.

Nestas coisas, existem sempre duas partes:

Parte mecânica: o leme tem de virar para a direita,  tem de virar para a esquerda e o leme tem de endireitar (aproar leme). Sim! Isto é o que se faz manualmente para navegar.

Parte electrónica: electronicamente, ler o GPS, saber que rumo seguir, saber quando virar e executar manobra, saber quando o leme está ou deve estar a direito e executar manobra..., tendo em atenção que uma viragem imediata a 90 graus a 1 Km/h é diferente de uma viragem imediata a 80 Km/h.

Não experimentem este tipo de viragem a 80 Km/h no vosso automóvel, muito menos no vosso barco!...



Acho que neste ponto devemos sempre partir do SIMPLES para o COMPLEXO. Observar como é que as coisas funcionam no seu modo mais elementar e, só depois, avançar...

Avancei.

Dei-me conta que para abrir um portão automático ou para posicionar electricamente o banco de um carro com um botão, eu executava um movimento linear para a frente ou para trás. Constatei que existiam uns objectos chamados Servos e outros chamados Actuadores lineares que proporcionavam esse efeito.

Claro que era isto mesmo que eu precisava para virar o leme do meu barco: um actuador linear .



Estamos então em Abril de 2015. Arrisquei a comprar um actuador linear com um comando sem fios, via Internet , a um fornecedor chinês. Claro que tirei medidas, claro que verifiquei qual a força necessária para actuar as viragens do meu pequeno motor fora de borda e respectiva velocidade de actuação.  Digamos que foi um bocado a “olhómetro”, mas bem!

O resultado foi este .

A partir de aqui, melhorei substâncialmente a qualidade de vida a bordo, pois já não tinha de ir com a mão permanentemente no braço do motor e tampouco tinha de estar alí sentado, sempre no mesmo sítio. De qualquer parte da embarcação podia seguir o rumo previamente traçado, bastando para tal, olhar a “estrada”  no GPS e clicar nos botões esquerda ou direita do comando para que o leme fosse virado em conformidade, graças ao comando sem fios.

Daqui, nasceu a ideia de automatização de todo este processo.

Ora bem: se eu tenho um GPS do qual posso colher informação do que  está a fazer e do que tem de fazer a seguir (NMEA sentences output), se eu tenho um mecanismo eléctrico que me permite virar o leme quando necessito, então, porque não pôr os dois a “falar”?

Era isso mesmo que necessitava para concretizar a minha ideia inicial, mas, para tal, precisava de algo que entendesse a linguagem de ambos: GPS e Actuador Linear.

Sim! Precisava de uma coisa chamada “Interface”. Um “Interface” é algo que põe duas ou mais “coisas”  que falam línguas diferentes, a falar a mesma língua para que se possam entender entre sí. Um “Interface” é como que um tradutor entre duas pessoas que falam línguas diferentes!



Confesso, não sei como (talvez seta de Cupido), descobri um “objecto” apaixonante chamado ARDUINO!...

Estamos, então, no início de Maio de 2015.

Comecei a tomar contacto com “coisas” que nunca fizeram parte da minha vida, nem pessoal, nem profissional: “ARDUINO”, “Circuitos Electrónicos”, “Fritzing”, “resistências”, “potênciometros”, “relays”, “pin’s digitais”, “pin’s analógicos” , “compass” , “wiring”, “soldaduras” e sei lá que mais...

Foi, “paixão” à primeira vista!...

Mas que raio é esta placa que promete “mundos e fundos”?

Comecei avidamente a a devorar tudo sobre “ELE”.

Quando tenho uma curiosidade ou dúvida técnica, recorro ao Youtube. Foi aí que tirei um curso muito básico com um professor universitário sobre Arduino:  Paul McWorter

Claro que houve outros, mas este foi quem mais me marcou. Todos nós temos, ao longo da vida, professores mais marcantes que outros, certo é que fiquei apaixonado pelo tema ARDUINO.

A admirável forma deste Professor animou e estimulou o meu espírito de investigador e inventor como há muito tempo eu não ousava sentir.

Coisas bem ensinadas, são coisas bem aprendidas.

A minha formação científica ajudou bastante. A capacidade de abstação foi fundamental e, aí, dei por mim a fazer um programa em C/C++ que faz um Print de “Hello World”,  ou acender um led no Pin 13, ou  a ler um GPS, bem como a comandar um actuador linear baseado numa leitura de GPS, utilizando um ARDUINO e uma placa de “relays”.

Foi isso que me aconteceu durante os meses de Maio e Junho de 2015.

Devo confessar que o mais difícil foi aprender a fazer soldaduras de boa qualidade...

O resto da história está publicada, em sequência temporal dos acontecimentos:


  1.   O começo
  2.   O prototipo
  4.   O primeiro teste


O interessante neste projecto, é que os custos/investimento rondam os 2,5% do autopiloto automático marítimo comercial mais barato do mercado e é feito para qualquer embarcação com motor fora de borda de comando manual.


Tudo o que aconteceu e venha a acontecer no meu projecto, estará sempre neste canal do Youtube


Boas invenções, perseverança e bons projectos



RabadakPilot


PS. Declaro, sob compromissso de honra que não tenho nenhum objectivo comercial sobre qualquer produto integrante da minha solução e tampouco com o Youtube; este serve-me tão somente para dar a conhecer, a quem quiser, o que está a acontecer no meu projecto pessoal e para memória futura do mesmo.