Série 2 – Arcade – Decisões e Detalhes do Armário da Arcade do Sérgio

Neste vídeo, o Nuno e o Sérgio discutem algumas decisões e detalhes na construção da arcade do Sérgio.

Após termos cortado as laterais segundo a nossa adaptação dos planos disponibilizados no site WeeCade, resta agora tomar algumas decisões sobre como juntar as restantes partes. Há que ter em conta os ângulos da zona de jogo e painel frontal, que vão condicionar a colocação das ripas de suporte.

Para marcar o espaço ocupado pela lateral, usamos um truque que o nosso amigo Fernando Afonso nos ensinou e que passa por usar um paquímetro para “traçar” a madeira à medida pretendida. Em alternativa, o Nuno Correia mostra como se pode fazer “à moda antiga” usando apenas um lápis e o dedo.

Ainda não houve decisão sobre a porta traseira pois vamos depender da colocação ou não da mainboard na própria porta. Há que prever que a colocação das ripas internas vai condicionar a instalação dos restantes componentes internos.

Em relação à área de jogo, as ripas de suporte não irão complicar a instalação porque, apesar do Sérgio ter escolhido um conjunto completo de comandos, há espaço suficiente. Também ajuda ter o monitor instalado na horizontal.

Esta preocupação tem a ver com a dimensão não visível dos elementos mecânicos e electrónicos dos botões e do joystick, que ocupam um espaço considerável na parte de trás da área de jogo.

Outro aspecto a considerar é a retro-iluminação do painel de acrílico frontal, que referimos como “marquee”. Este painel terá uma decoração ainda a determinar mas a maior preocupação é de afastar a fonte de iluminação do painel, dado que iremos utilizar fitas de LED’s.

Nas fitas os LED’s estão espaçados mais ou menos a cada centímetro. Se colocarmos a fita muito próxima do painel, iremos ver cada um dos LED’s. Se a afastarmos ligeiramente a iluminação ficará bastante mais uniforme.

 

OOZ_Labs_-_S02E03_-_Decisoes_e_Detalhes_do_Armario_da_Arcade_do_Sergio_-_Thumb

 

Série 2 – Arcade – Painéis do Armário do Luís

Neste episódio, o Nuno e o Luís cortam os painéis para a arcade do Luís.

Começando pelo mockup que o Luís construiu em cartão, tiramos as medidas e transferimos o desenho para a madeira.

Cortamos os painéis à largura com uma serra circular a partir do painel o que simplifica os cortes seguintes. Colocámos uma guia para que o corte fique o mais direito possível, tendo em conta a distância que vai entre a serra de corte e a lateral da ferramenta.

Sugerimos que experimentem cortar primeiro uma sobra de madeira para não estragar a peça final. E lembrem-se, medir duas vezes, cortar uma. É também importante ter cuidado onde fazem o corte para não cortar algo que esteja numa superfície inferior.

Para as laterais usamos uma serra tico-tico que permite melhor precisão de recorte. Fazemos um corte mais grosseiro para separar as “duas metades” e depois cortamos com precisão junto à linha desenhada.

Após termos um dos painéis cortados, usamo-o como guia para cortar o segundo. Caso usem placa de MDF fina, neste caso a madeira é de 8mm, podem simplesmente unir as duas madeiras e cortar ao mesmo tempo.

Tendo os dois painéis cortados, acertamos os pequenos erros de corte com uma lixadeira eléctrica. Este passo também pode ser efectuado com ferramentas manuais, recorrendo a uma grosa para um acabamento grosso e lixa para finalizar.

No vídeo usamos uma lixadeira com aspecto mais profissional simplesmente porque a que temos de uso mais comum estava avariada.

Passamos ao corte dos restantes painéis que compõem a arcade, sendo que a medida de corte depende da largura do monitor, que neste caso são 26cm.

Para segurar o monitor usamos uma madeira como suporte interno, que dá uso ao método de fixação “VESA” que faz parte do monitor. De notar que obtivemos o centro da madeira para referência e não o centro do monitor. No caso do monitor utilizado, temos que utilizar uma broca de escarear pois o monitor tem uns pilares salientes da superfície.

De seguida demonstramos como é que o conjunto ficará montado, sendo que nesta fase ainda estão por cortar painel inferior e traseiro. Falta definir como vai ficar toda a parte traseira pois temos que posicionar a porta de forma a permitir o acesso aos diversos componentes internos.

 

S02E02_-_Paineis_do_Armario_do_Luis_-_Thumb

Série 2 – Arcade – Planos e protótipos

Neste primeiro episódio da série dedicada a arcades de mesa, vamos falar dos planos e protótipos. Apresentando com detalhe o que nos propomos construir e sobre o material necessário para o fazer.

O Luís e o Sérgio mostram o material que tem de se comprar já feito, desde a parte electrónica, aos botões e joysticks necessários, passando pelos monitores e outros pormenores.

Os botões e joystick podem ser comprados no eBay, tendo a noção que existem vários tipos e preços. A nossa escolha privilegiou os que nos dão uma experiência mais próxima de uma arcade real e que podem encontrar facilmente no eBay usando “Jamma Arcade Button” como frase de pesquisa.

De seguida podemos ver mais em detalhe o “cérebro” que o Luís vai utilizar na sua arcade e que se trata de uma board mini-ATX de baixo consumo. A escolha desta board resumiu-se a ser a que o Luís tinha “em stock” que tinha o menor consumo e que aquecia menos.

Dado que para correr os emuladores de consola não têm requisitos muito elevados, praticamente qualquer board que ainda funcione serve.

Depois assistimos ao processo de re-desenhar os planos da arcade do Sérgio, devido à diferença entre o tamanho do monitor que ele pretende utilizar e o monitor considerado nos planos iniciais. O Sérgio e o Nuno Correia redesenham então a arcade e montam um protótipo em cartão da mesma (semelhante ao que o Luís mostrou no prólogo).

Findo este episódio estamos prontos para começar a construir a sério.

Links para sites e artigos relevantes:

  • WeeCade – os planos da arcade na qual o Sérgio se vai basear

S02E01_-_Planos_e_protótipos_-_Thumb

Resumo da série 2.

Série 2 – Arcade – Prólogo

Nova série, novo convidado, novo tema. Nesta nova série vamos construir máquinas arcade de mesa.

Para nós este é o concretizar um sonho da nossa adolescência. A grande maioria dos jovens da nossa geração passou inúmeras horas de volta das famosas máquinas de arcada, investindo pequenas fortunas (na realidade não, mas na altura parecia) em jogos tipo pacman, galaxian, mooncresta, metal slug.

A geração actual está habituada a ter as suas consolas, computadores e smartphones onde podem jogar todo o tipo de jogos a qualquer altura do dia ou noite, mas “no nosso tempo” tinhamos que juntar dinheiro, de preferência nas moedas certas que a máquina aceitava, e planear o nosso tempo por forma a maximizar o tempo disponível para estar em frente à máquina. Como diz o nosso convidado, o Sérgio, a experiência de jogar numa arcade é muito mais física e até visceral.

Nesta série vamos fazer as coisas de forma algo diferente: vamos construir duas máquinas. Uma delas, a do Sérgio, será adaptada dos planos do modelo WeeCade. A outra seguindo a inspiração e o desenho-conforme-vamos-construindo do Luís. Nenhum de nós construiu uma coisa destas antes e sobretudo, no caso da máquina do Luís, não temos certezas de que conseguiremos construir exactamente o que ele imagina, mas vamos mostrar o que conseguimos fazer e havemos de ter duas máquinas prontas a jogar no final!

Neste episódio o Luís fala-nos sobre a sua motivação e as ideias que tem para a sua arcade, apresentando já os protótipos que construiu previamente. De seguida apresenta-nos o Sérgio e conversa um pouco com ele sobre o que ele pretende na sua arcade e das diferenças que se esperam entre as duas máquinas.

Finalmente o Nuno Correia fala um pouco sobre as ferramentas a utilizar na construção e sobre os processos que pensamos utilizar para transformar as nossas ideias em máquinas de diversão reais!

Links para sites e artigos relevantes:

  • WeeCade – a arcade na qual o Sérgio se vai basear

S02E00_-_Prologo_-_Thumb

Resumo da série 2.

Projecto OOZ2Mars – Construção do Rover (hardware)

Tal como tinha sido prometido durante a Lisbon Maker Faire, vamos descrever o nosso Rover (hardware).

Brevemente será publicado o artigo sobre o software que faz o Rover andar.

 

A nossa réplica do Mars Rover inspira-se nas dimensões dos Rovers da NASA, Spirit e Opportunity, tendo sido escolhida a escala 1/4 . O elemento que achamos fascinante (e que não nos cansamos de ver) é o modelo de suspensão. Esta suspensão dá pelo nome de “rocker-bogie” e é essencialmente um design que a NASA tem usado em todas as missões de exploração a Marte.

Decidimos usar um misto das tecnologias existentes, e se a parte “rocker-bogie” é inspirada pelos rovers gémeos Spirit e Opportunity, o diferencial é inspirado no rover Curiosity. Podem ver uma excelente explicação destes tipos de suspensões neste link.

A ideia por trás desta suspensão sem molas nem amortecedores é permitir que o rover ultrapasse obstáculos maiores do que o diâmetro de uma roda, tolerando inclinações laterais até 45º. O diferencial mantém o chassis do rover o mais horizontal possível. Por erro na montagem das peças, o segmento “rocker-bogie” acabou por ficar montado ao contrário do que os rovers originais.

Depois de várias considerações, escolhemos construir o chassis do Rover numa estrutura em madeira. Embora não seja leve, é de fácil construção e, em caso de algum erro, podemos facilmente corrigir.

 

As três gerações do nosso Mars Rover
As três gerações do nosso Mars Rover

A electrónica do Rover tem duas facetas, por um lado, obter dados de telemetria, por outro controlar o movimento. No exterior, o Rover tem uma câmara de vídeo, a placa wireless e três sensores de ultrassons para detectar e (na maioria das vezes) evitar colisões. Estes sensores estão ligados ao Arduino Makerfaire Edition, que também lê a tensão das duas baterias, enviando os valores quatro vezes por segundo para o Raspberry Pi 2 (raspi2).

O raspi2 é o cérebro do nosso rover e as funções principais são: enviar dados de telemetria para o “Mission Control”, manter um livestream da câmara frontal, receber e processar os comandos vindos do Comandante da Missão. a câmera e a placa wireless estão ligadas directamente ao raspi2. Usamos o módulo de câmera específico do Raspberry Pi pois o tratamento de imagem é efectuado pelo GPU, reduzindo a carga no processador do raspi2. A placa wireless utiliza a norma 802.11n para conseguirmos melhor largura de banda para transmissão de dados.

O Arduino MakerFaire Edition 2014 é responsável pela leitura dos três sensores de ultrasons que nos informam da distância para os obstáculos. Este Arduino também lê as tensões das baterias. A informação de telemetria recolhida é enviada para o raspi2 através da porta série interna, usando um “level shifter”, pois os dois dispositivos usam tensões de funcionamento diferentes.

O Arduino Leonardo recebe e processa a lista de comandos vindos do raspi2. Os comandos são executados em sequência, sendo apenas interrompidos em caso de colisão iminente. O rover executa comandos para evitar o obstéculo, retomando a sequência logo que não tiver mais nenhum obstáculo à sua volta.

Para comando dos motores, usamos um circuito baseado no chip L298 que é o mais indicado para o tipo de motores que temos no nosso rover. Ao contrário dos multicopters que utilizam motores trifásicos com controladores bastante complexos, os motores de escovas podem ser comandados com quatro transístores de potência. O chip L298 contém dentro dois conjuntos de quatro transistores de potência capazes de fornecer a corrente suficiente.

 

Exemplo de implementação
Exemplo de implementação

Construímos dois módulos idênticos em protoboard e usámos um dissipador que tínhamos por aqui para dissipar algum calor extra. Nunca notámos alguma espécie de aquecimento anormal durante os três dias da feira. O nosso Rover movimenta-se da mesma forma que um tanque de guerra, sendo que os motores são controlados aos pares como se fossem apenas dois, o motor esquerdo e motor direito.

As peças azuis foram modeladas e impressas pelo Basílio Vieira que foi o nosso convidado especial para este projecto. Os modelos foram criados no Sketchup e impressas numa BEETHEFIRST da BeeVeryCreative.

Em antecipação da explicação mais detalhada do software, juntamos aqui os links para todos os módulos que usámos para criar esta Experiência de condução de um Rover “em Marte”.

 

Código fonte do projecto

 

Bibliotecas adicionais

  • mosquitto.org – Linux, Servidor de Mensagens MQTT
  • paho-mqtt – Linux, ligações python para MQTT
  • RunningMedian – Arduino, obter mediana de uma série de valores
  • NewPing – Arduino, ler distância de objectos com sensores ultrasons
  • LMotorController – Arduino, controlador de motores

 

Lista de componentes

Glossário:

  • level-shifter – adaptador de sinais que permite que o Arduino (5V) comunique com o Raspberry Pi (3.3v)
  • shield – placa que liga nos pinos do Arduino e que permite expansão
  • GPU – processador gráfico
  • Protoboard – Placa de circuito impresso para prototipagem com furação e ilhas para soldar componentes

Nota: links válidos a 4 de novembro de 2015

OOZ2Mars – Projecto MakerFaire 2015

(Este artigo vai sofrer inúmeras alterações durante os próximos dias, à medida em que vamos adicionando mais conteúdo pós MakerFaire Lisboa)

 

Foi há dois meses atrás que tivemos a ideia de propor como projecto para a Lisbon Maker Faire deste ano uma experiência condução de um Rover em Marte.

Para ilustrar o que nos proporíamos a fazer, produzimos este vídeo.

A organização da Maker Faire gostou tanto do desafio que aceitou a nossa participação, o que nos fez iniciar os trabalhos de imediato.

Pegando na ideia de comandar um rover à distância, e do que sabemos do projecto da NASA, qualquer interacção com o mesmo tem um atraso que varia entre 4 e 24 minutos. Isto acontece devido à distância entre os dois planetas e também a variações na posição orbital.

Tipicamente entre o envio de um comando para Marte e o retorno com a confirmação passam-se 40 minutos (mais detalhes neste link em Inglês). A NASA criou um sistema em que são enviadas directivas para o rover, e em que este pode ter autonomia na sua execução por forma a evitar obstáculos e escolher uma rota favorável.

No nosso caso vamos simplificar um pouco a experiência de comando, dando ao Comandante da Missão a hipótese de escolher uma sequência de comandos para envio. Os comandos serão executados pelo rover de imediato, evitando obstáculos que surjam pelo caminho.

Falando do hardware que vamos usar para este projecto, o rover tem dentro um computador Raspberry Pi 2, uma camera de vídeo, um Arduino Redboard (Lisbon Mini Maker Faire edition) e um Arduino Pro Micro (compatível com o Arduino Leonardo).

Usa sensores de ultra-sons para detectar obstáculos à frente e atrás e tem dois módulos baseados no chip L298 para controlo dos motores. Temos ainda dois circuitos para monitorar os níveis das baterias de lítio que alimentam todo o circuito.

 

Rover1
Imagem: o Rover fotografado por Basílio Vieira

 

O rover comunica via wireless com o nosso servidor, ao qual demos o nome “Mission Control”, e é a partir dele que serão dadas todas as ordens de comando. São também enviados dados de telemetria sobre os obstáculos e os valores de carga das baterias.

O centro de comando consiste numa página web onde damos as ordens de comando e assistimos a uma transmissão vídeo a partir do rover, com um ligeiro atraso.

No fim de cada missão executada, o/a Comandante da Missão vai receber um certificado de participação na missão para recordação.


Para este projecto tivemos a ajuda preciosa do Basílio Vieira que desenhou e imprimiu todas as peças à medida que necessitámos criar. As rodas, os suportes dos motores, os “linkage” que permitem a suspensão funcionar e ainda o suporte da câmera (que não consta da foto).

O Nuno Correia construiu todo o chassis e painéis laterais, ajudando nas decisões do projecto, fornecendo o espaço OOZLabs para a construção e mantendo o stock do minibar em níveis aceitáveis.

O Luís Correia seleccionou o hardware e os módulos da electrónica, escreveu todo o código que corre nos dois Arduino (C++), o código que corre no Raspberry Pi 2 (Python) e trata comunicação de dados com Mission Control e ainda o código que corre em Mission Control (Javascript + Websockets).


Actualização 2015 09 21:
o código fonte usado no projecto está disponível no Github


O projecto não se fez só com a nossa vontade pelo que temos que agradecer a algumas pessoas e empresas:

  • inMotion – forneceu os motores e os L298
  • João Neves – doou um servidor Dell PowerEdge R200
  • Luis Silva – emprestou um módulo WiFi de dimensões reduzidas
  • Bruno Amaral – ajudou a criar o Mission Control web interface
  • Lobsters – ajudaram com todo o encorajamento que bem falta nos fez :p
  • MEOCloud – alojar imagens e documentos das missões
  • SAPO Puny – fornece links curtos para todas as URL do projecto

 

Contamos convosco na Lisbon Maker Faire 2015 a partir de sexta-feira à tarde até domingo!

Projecto Maker Faire Lisboa 2015

Estamos a submeter uma candidatura à Maker Faire de Lisboa de 2015.

Preparámos um pequeno vídeo introdutório que demonstra o projecto.

Propomos construir um sistema que proporcione a experiência de conduzir um rover numa missão remota em Marte.

A experiência “OneOverZero 2 Mars (OOZ2MARS)” consiste em permitir que os visitantes controlem um pequeno Rover num espaço fechado que simula a superfície de Marte.

O controlo do Rover não ocorre em tempo real, mas sim elaborando um conjunto de comandos que são enviados para o Rover e executados em sequencia.

Planeamos ter um conjunto de tarefas que podem ser executadas pelo astronauta e que consistem em fotografar, recolher amostras (ficticias) e análise da superfície (simulação de uso de laser).

No final da experiência, fornecemos um certificado de participação onde consta o nome do astronauta, juntamente com um link para uma página onde podem obter as fotos que o Rover tirou.

 

IMG_0781

Série 1 – Quadcopter – Epílogo

Chegamos ao epílogo da nossa primeira série, onde finalmente fazemos o voo inaugural do nosso quadcopter.

Antes de fazermos o voo propriamente dito, há que montar as hélices no nosso quadcopter, tendo em atenção o sentido das mesmas, tal como já tinha sido explicado num vídeo anterior. Procedemos ao pre-flight check e vamos voar.

Depois conversamos com o nosso convidado especial Luís Sismeiro, onde fazemos uma retrospectiva de todos os passos desta série e do que correu bem ou mal.

De facto, o nosso quad está ao mesmo nível do quad que o Luís montou há dois anos atrás. Ele necessita de algumas ligeiras alterações e afinações, tais como o equilibrio das hélices e a afinação do parâmetro EXPO do comando, efectuado com o MultiWiiConf.

A câmara que o Luís Sismeiro tem montada no quadcopter dele é uma SJ4000.

Como tudo correu muito bem no voo inaugural resolvemos ir voar novamente, de forma completamente adhoc, mas desta vez montámos a nossa GoPro no quadcopter com braçadeiras (zip ties plásticas), de forma a tentar obter filmagens mais engraçadas.

Claro que a inexperiência do piloto e o facto de não se conseguir ver bem o lado da frente do quadcopter fez com que se perdesse a referência do sentido de voo e, completamente perdido, resolvemos baixar o throttle para ver se o quad não causava danos a ninguém.

Inevitavelmente tivemos o nosso primeiro crash. Os danos foram mínimos, com apenas duas hélices partidas. Sorte de principiante fez com que o quadcopter ficasse pendurado numa árvore, mas felizmente num ramo baixo o que permitiu a sua recolha sem problemas.

Terminado o voo, aconselhamos que registem num livro de registos (logbook) a duração do mesmo, baterias usadas, eventos inesperados, para manter um historial do quadcopter que possibilite a sua análise posterior e o registo da sua (e nossa, enquanto pilotos) evolução.

De seguida fazemos um resumo da série onde explicamos alguns dos passos e decisões que tomámos de forma a ter a certeza que o quadcopter conseguiria voar sem qualquer problema de maior.

Tendo concluído esta série, esperamos os vossos comentários e sugestões para outro tipo de montagens. Nós estamos já a preparar uma nova série sobre outro tema completamente diferente deste mas queremos sugestões para séries futuras.

E não se esqueçam, sempre que se sintam um pouco perdidos podem sempre recorrer ao Glossário de termos técnicos usados ao longo de toda a série!

S01E08_-_Epílogo_-_Thumb

Resumo da série 1

Série 1 – Quadcopter – Equilibrar Hélices

Neste vídeo o Nuno Correia e o Luís Sismeiro demonstram como equilibrar hélices para o nosso quadcopter.

A necessidade de equilibrar as hélices prende-se com as falhas introduzidas no processo de manufactura das mesmas. Especialmente nas hélices mais baratas–que recomendamos que se utilizem no início–existem diferenças de densidade de material que se vão traduzir em diferenças de peso ao longo da hélice.

Estas diferenças de peso, em altas rotações, provocam desequilíbrios que se traduzem em vibrações. Vibrações estas que vão ser transferidas para a frame e que, por sua vez, vão causar erros de leitura nos sensores do nosso quad.

Como podem ver no vídeo, este processo é um pouco tentativa e erro. O mais importante é conseguirmos encontrar um suporte que nos permita colocar a hélice de forma a poder rodar livremente.

O nosso convidado especial usa duas caixas lado a lado juntamente com uma carga de caneta a fazer de eixo, nós utilizamos um trem de aterragem que tínhamos no nosso “arsenal”. Existem produtos que facilitam o equilibrio das hélices, dos quais podem encontrar o link mais abaixo no artigo.

O equilíbrio consegue-se colocando pequenos pedaços de fita isoladora para contrabalançar as diferenças de peso existentes na própria hélice. Assim que a hélice não se mover para nenhum dos lados, podemos dizer que está equilibrada.

Devemos equilibrar todas as hélices que tivermos em nossa posse, pois mais cedo ou mais tarde iremos precisar delas para substituir as que se partiram entretanto e se o fizermos no campo, uma hélice não equilibrada pode causar comportamentos erróneos bastante pronunciados num quad que estava a voar bem antes da troca da hélice.

 

Links para sites e artigos relevantes:

 

E não se esqueçam, sempre que se sintam um pouco perdidos podem sempre recorrer ao Glossário de termos técnicos usados ao longo de toda a série!

S01VA14_-_Equilibrar_Hélices_-_ThumbResumo da série 1

Série 1 – Quadcopter – Pre-flight check

Neste vídeo o Luís Correia explica os passos do pre-flight check que devemos fazer de cada vez que formos voar com o nosso quadcopter.

Um dos procedimentos que devemos fazer de cada vez que formos para o terreno voar com o nosso quadcopter é o que damos o nome de “pre-flight check“.

Esta lista de operações é bastante importante, pois ajuda-nos a evitar alguns problemas que possam surgir, especialmente se o último voo terminou num crash ou se tiver havido alguma alteração significativa no quadcopter.

No nosso caso passa por validar se temos as hélices em condições e bem presas aos motores, se a frame está firme e coesa, pois apesar de estarmos a utilizar porcas com nylock, as vibrações dos motores são suficientes para provocar o desaperto.

Nunca esquecer de ligar primeiro o comando e só depois ligar a bateria, isto evita que os motores sejam ligados sem qualquer controlo, o que pode causar danos.

Segurando o quadcopter, executar a sequencia de armar e desarmar para garantir que tudo está ok.

Se tudo estiver conforme, vamos voar!

 

E não se esqueçam, sempre que se sintam um pouco perdidos podem sempre recorrer ao Glossário de termos técnicos usados ao longo de toda a série!

S01VA09_-_Pre-Flight_Check_-_ThumbResumo da série 1