Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Para os mais especializados em mecânica e electrónica em LEGO.
Responder
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4353
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por CyberX »

Algo que estava na minha wishlist há uns bons tempos, o Ornitóptero do da Vinci, finalmente materializado no set 10363.

A montagem é rápida, não muito diferente das criaturas voadoras da série Harry Potter (a coruja e a fénix), com um pedestal e um mecanismo para bater as asas. Talvez o pedestal aqui seja mais rebuscado (discutível) e há a nuance de se poder pegar a máquina voadora propriamente dita já que está apenas apoiada num eixo 2L e é acionada directamente por um gatilho.

Infelizmente o gatilho não torna a motorização tão fácil. Por um lado porque usa uma mola que exige uma força considerável e por outro porque não basta retirar a manivela e ligar um motor que roda em contínuo, aqui é necessário um movimento oscilante.

Claro que o JK Brickworks já fez a sua conversão, assim como o site Bricknerds e provavelmente mais alguns. Estes dois removeram a mola que só atrapalha a motorização e alteraram mais algumas coisas... eu limitei-me a tirar um plate 1x2 do gatilho para poder passa dentro da argola da pega de borracha dos sets Vidiyo:

Imagem

e penso que com algum esforço nem a plate seria necessário remover.

De resto um motor Technic potente, meia duzia de linhas de python e tá a mexer:


é um bocado bruto (e?) mas funciona e até agora não se desmanchou. Vou tentar dar uns retoques na base só para ficar menos tosco, talvez consiga reaproveitar o pedestal original se não se desmanchar com o esforço imposto pelo motor e pela banda de borracha.

A ideia é levar para os eventos e dar aos visitantes a possibilidade de activarem eles mesmos o mecanismo. Estou a fazer uma web app muito básica em python/flask que depois comunicará com um Raspberry Pi no evento. Quem quiser ver as asas a bater aponta o telemóvel para um QR Code que aponta para um link que acciona a web app que envia uma mensagem para o Raspberry Pi que controla o Ornitóptero. Simples :D

To be continued...
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Conchas
Direcção
Direcção
Mensagens: 15935
Registado: 26 jan 2007, 15:20
Localização: Feijó (Almada) / Sesimbra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por Conchas »

Essa da pega de borracha não estava à espera... ;D
Quando li a primeira vez nem percebi do que se tratava.

Só acho que eixo na frente deixa isso tudo abanar demasiado, o que não fica bem. Tem de haver uma solução mais sólida! ::)
FCorreia

#EUusoOmeuLUGBULKnosEVENTOSdaPLUG

We are working to build a better :plug:
LEGO Fan, a lifelong experience - Play Well (Leg Godt)

Oeiras :brincka: 2024, 25-28 de Abril
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4353
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por CyberX »

Haver deve haver.

Mas a porcaria do desenho do set não ajuda, com um gatilho e uma mola (suspensão Technic), admira-me ainda ninguém se ter queixado de que o pedestal se desmancha todo ao fim de meia duzia de utilizações [ah pois, isto é tão bonito que ninguém usa, é só para ter na secretária a fazer figurão].

Eu gosto do eixo a abanar. Tudo a abanar :D

Mas pronto, vou pensar na coisa, quem sabe até arranjo uma solução mais sólida.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4353
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por CyberX »

Objectivo inicial cumprido: está web controlled

Imagem

O visitante curioso vê o QR Code ao pé do MOC/MOD, saca do smartphone e aponta a câmara que apresenta um link.

O visitante, confiante que não será infectado por um link num evento tão honrado como os da PLUG, "clica" no link, servido por uma web app python que publiquei num site da net. Esta web app reage ao link publicando uma mensagem MQTT num broker público, num tópico específico.

O MINDSTORMS EV3 na mesma mesa (talvez escondido lá para trás) está a executar um daemon em python que susbcreveu o dito tópico e por isso apercebe-se da nova mensagem, percebendo que neste caso em concreto se destina ao Ornitóptero (podia destinar-se a outro MOC ou MOD, não há limite teórico). Então envia via Bluetooth BLE um advertisement em formato Pybricks para que o hub Technic do Ornitóptero faça qualquer coisa.

Finalmente o Hub tem o firmware Pybricks instalado e limita-se a aguardar que lhe chegue uma mensagem em formato Pybricks. Esta mensagem pode vir de outro hub com Pybricks mas também pode vir de um Arduino, um Raspberry Pi... ou de um MINDSTORMS EV3.



Da maneira como está feito é possível comandar vários modelos e inclusive vários modelos ao mesmo tempo. A mensagem enviada pelo dispatcher (o EV3) consiste numa mera string de 4 caracteres, neste exemplo:

Código: Selecionar todos

ORN1
sendo que os 3 primeiros caracteres identifcam o destinário (ou os destinatários, se tiver vários Ornitópteros ligados) e o quarto caracter a ação pretendida, neste caso a ação "1" seja ela qual for (o meu ornitóptero limita-se a bater as asas 10 vezes).

Outros destinatários que se juntarão em breve, mal os encontre na garagem:

OWL - o corujo pitónico
PHO - a fénix
KOI - a carpa koi

E talvez venha a acrescentar um ID "ALL" para servir de wildcard - quando enviasse a mensagem "ALL1" todos os modelos começavam ao mesmo tempo a fazer a sua cena.

Documentação e código fonte em breve no sítio do costume.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Conchas
Direcção
Direcção
Mensagens: 15935
Registado: 26 jan 2007, 15:20
Localização: Feijó (Almada) / Sesimbra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por Conchas »

Fantástico! :clapping:

Em tempos idiealizei uma coisa assim, para um jogo interativo online, para o TechnicBRICKs.
Ideais, e mais ideias... agora fazer... está quieto! ;D
FCorreia

#EUusoOmeuLUGBULKnosEVENTOSdaPLUG

We are working to build a better :plug:
LEGO Fan, a lifelong experience - Play Well (Leg Godt)

Oeiras :brincka: 2024, 25-28 de Abril
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4353
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por CyberX »

obrigado

isto do dispatcher era para ser com Raspberry Pi. Era mais fácil até, existem libraries de python modernas que falam Bluetooth Low Energy mas são demasiado pesadas para instalar no EV3 e as únicas que lá funcionavam começaram a falhar há uns tempos, fruto de várias coisas mas sobretudo da arquitectura de base do EV3 ter sido abandonada e por isso o ev3dev ter ficado congelado no tempo.

Mas não só não tinha nenhum Raspberry Pi à mão - foram todos para a domótica e os sintetizadores - como tinha um EV3 aqui parado em cima da mesa e achei que se fosse tudo LEGO tinha mais impacto por isso fui aproveitar o código que no Verão tinha feito para a minha Central de Domótica poder ligar e desligar interruptores com LEGO (acho que nunca publiquei aqui)



Se tiver gana ainda recupero uma ideia antiga de ter um Comando Universal e acrescento a funcionalidade Power Functions IR para algum MOC que tenha por aí ainda do tempo do Power Functions. Ou ligando um IR Link ao EV3 ou usando um hub Powered Up com um sensor de cor como intermediário (o que até faz sentido já tenho bem mais sensores de cor PU que IR Links e fugia aos limites de distância do infra-vermelho).
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4353
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por CyberX »

Prova de conceito de um evento: 5 sets modificados por mim para serem motorizados e aqui controlados por QR Code:



O MINDSTORMS EV3 não aparece no vídeo. Estava numa mesa de apoio a cerca de 1,5 m.
O Technic Hub controla o Ornitóptero, o Planetário, o Dragão e a Fénix. O Corujo tem o seu próprio hub (City).

Num evento a sério teria de dedicar um Technic Hub à Fénix e outro ao Ornitóptero, consomem ambos demasiada corrente e quando acciono o comando "ALL" (wildcard) o Technic Hub vai-se abaixo nos primeiros segundos. Talvez com fonte de alimentação em vez de pilhas já não muito frescas a coisa corra melhor mas não quero arriscar.

No video não aconteceu, foi sorte, mas talvez 1 em cada 3 vezes o QR Code não acciona a animação. Algures entre o EV3 e os Hubs a mensagem Pybricks perde-se, vou ter de dedicar alguma atenção aos timings usados tanto no EV3 como nos Hubs. Se o problema for especifico do EV3 talvez tenha mesmo de passar para um Raspberry Pi.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Conchas
Direcção
Direcção
Mensagens: 15935
Registado: 26 jan 2007, 15:20
Localização: Feijó (Almada) / Sesimbra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por Conchas »

Ena tanta passarada! :clapping:
FCorreia

#EUusoOmeuLUGBULKnosEVENTOSdaPLUG

We are working to build a better :plug:
LEGO Fan, a lifelong experience - Play Well (Leg Godt)

Oeiras :brincka: 2024, 25-28 de Abril
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4353
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por CyberX »

Conchas Escreveu: Ontem, 17:18 Ena tanta passarada! :clapping:
proponho-me no próximo e ainda desconhecido evento nacional coordenar a mesa dos Gloriosos Malucos das Máquinas Voadoras.

As máquinas voadoras já as tenho, gloriosos malucos é que preciso de mais
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Conchas
Direcção
Direcção
Mensagens: 15935
Registado: 26 jan 2007, 15:20
Localização: Feijó (Almada) / Sesimbra
Contacto:

Re: Ornitóptero [Leonardo da Vinci Flying Machine] - Web Controlled

Mensagem por Conchas »

:bailinho: :expectation:
FCorreia

#EUusoOmeuLUGBULKnosEVENTOSdaPLUG

We are working to build a better :plug:
LEGO Fan, a lifelong experience - Play Well (Leg Godt)

Oeiras :brincka: 2024, 25-28 de Abril
Responder