hacking lego pf

Para os mais especializados em mecânica e electrónica em LEGO.
Responder
Avatar do Utilizador
Srgiofonseca
Jr. Member
Jr. Member
Mensagens: 55
Registado: 03 nov 2007, 09:44
Localização: Espinho

hacking lego pf

Mensagem por Srgiofonseca »

Viva pessoal,
gostaria de controlar uns legos através do Arduíno Uno, para isso precisava da vossa ajuda para tentar descodificar ou elaborar o código de controlo.
Os legos PF comunicam por IR, o objetivo é captar esses códigos e enviar esses códigos através do Arduíno depois o Arduíno faz a ponte com outro tipo de protocolo.

No final gostava de fazer e perceber como chegar a este resultado

Avatar do Utilizador
Conchas
Direcção
Direcção
Mensagens: 16131
Registado: 26 jan 2007, 15:20
Localização: Feijó (Almada) / Sesimbra
Contacto:

Re: hacking lego pf

Mensagem por Conchas »

FCorreia

#EUusoOmeuLUGBULKnosEVENTOSdaPLUG

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

Sanjoanense :brincka: 2026, 3-5 de Outubro
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: hacking lego pf

Mensagem por CyberX »

Não tenho experiência com Arduino mas sei que tanto para Arduino como para Raspberry Pi já há imensas implementações, talvez não queiras reinventar a roda.
Podes ver e reusar o código deste aqui (tb tem o link para o PDF com a versão 1.20 do protocolo, que o Conchas inclui na resposta antes de mim).
https://github.com/jurriaan/Arduino-PowerFunctions
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Srgiofonseca
Jr. Member
Jr. Member
Mensagens: 55
Registado: 03 nov 2007, 09:44
Localização: Espinho

Re: hacking lego pf

Mensagem por Srgiofonseca »

Por acaso tentei usar a biblioteca, e dá erro mas pode ser por estar a usar a versão 1.0.5 do arduino os links que mencionaram já conhecia e tenho alguma dificuldade em Inglês, acho que é um projecto muito interessante para fãs do technic, mindstorms e combóis desenvolverem, para poder comunicar sem fios e sem IR.
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: hacking lego pf

Mensagem por CyberX »

Se pretenderes «apenas» controlo remoto e já tiveres um Mindstorms NXT ou EV3 podes usá-lo com um emissor de infra-vermelhos para controlar o receptor Power Functions. Se ligares o NXT/EV3 a algo mais inteligente - um PC, um Raspberry Pi, um Tablet, um Arduino - seja por USB (tethered) ou por Bluetooth podes correr o programa principal no PC.

Aqui segue um exemplo: https://www.youtube.com/watch?v=AsQsU-mAZdA

Para controlo apenas dos motores é suficiente. Mas para autonomia total (por exemplo um pequeno tanque com 2 motores e um sensor de obstáculos) é preferível algo potente em cima dos legos. Eu tenho um Raspberry Pi amarrado a um NXT 2.x, ligado a ele por USB. Comunico por Wi-Fi com o Raspberry e este por sua vez usa umas libraries de Python para NXT para controlar os motores do NXT e ler os sensores também.

Algo muito interessante, se não tiveres ainda um Mindstorms, é o BrickPi. Em Portugal a PT Robotics vende-o por €96,25. É uma mistura de Arduino e Raspberry Pi com fichas compatíveis com os motores/sensores Mindstorms.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Srgiofonseca
Jr. Member
Jr. Member
Mensagens: 55
Registado: 03 nov 2007, 09:44
Localização: Espinho

Re: hacking lego pf

Mensagem por Srgiofonseca »

Viva,
tenho uma serie de RCX's
um NXT
um raspberry pi
e uns 3 arduinos (alguns comprados na PTrobotics) e
vários PF's
para alem do meu 7939
o que quero mesmo é fazer uma aplicação para ser o Arduíno a enviar os comandos IR para o receptor de IR dos power functions!

Mas é bastante curioso o que tens aí com o teu NXT, podes explicar melhor!
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: hacking lego pf

Mensagem por CyberX »

Basicamente fiz uma molho com:
- Raspberry Pi
- bateria lítio com ficha USB
- NXT

O Pi é alimentado pela bateria. Tem ainda um dongle Wi-Fi (USB) e um cabo USB que liga ao NXT.
O NXT é alimentado pelas próprias pilhas AA internas.

O Pi arranca de um cartão SD com Raspbian, apanha rede Wi-Fi e fica à escuta.

No primeiro video estou a aceder remotamente ao Pi e dar comandos Python para o NXT rodar os motores x tempo. Daí os solavancos.


No segundo video acedo remotamente ao Pi e lanço um script Python que dá uma certa sequência de comandos aos motores. Menos solavancos mas ainda assim primitivo.


No meu caso acedo ao Pi por SSH (linha de comando) mas podes configurar o cartão SD para arrancar por exemplo um web server para acederes ao Pi por browser.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Srgiofonseca
Jr. Member
Jr. Member
Mensagens: 55
Registado: 03 nov 2007, 09:44
Localização: Espinho

Re: hacking lego pf

Mensagem por Srgiofonseca »

Viva, é precisamente esse tipo de ligações que eu acho interessante e o teu projecto esta espetacular, gostava de fazer umas coisas dessas mas se esta difícil com o arduino com o raspberry ainda pior.
Obrigado por partilhares esses vídeos e o projecto se arranjar tempo vou procurar na net como se faz isso, são librarias próprias para NXT certo?
Quria dar uma nova vida aos meus RCX!
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: hacking lego pf

Mensagem por CyberX »

Para mim acho mais fácil o Pi ao Arduino - eu uso Linux há 3 ou 4 anos e por isso a experiência com o Pi é quase como estar no meu próprio computador, se quiser posso até eliminar o Pi e ligar o PC directamente ao NXT que é a mesma coisa, enquanto que (suponho) com o Arduino seja sempre necessário um ambiente de desenvolvimento e provavelmente tem menos opções nas linguagens de programação.

Na hipótese de ligar directamente o PC ao NXT (por USB ou por bluetooth) nem é necessário Linux já que existe Python para Windows.

Em python a  library standard é a nxt-python (http://code.google.com/p/nxt-python/). Tenho uma vaga ideia de existir algo semelhante para C mas como eu ando ultrapassado pelos tempos quis ver como era o python.

Como tens RCX talvez queiras considerar o BRICXCC (muitp parecido com C) ou LejOS (java), são projectos bastante maduros.

Tudo Free and Open Source. Já basta o preço dos bricks Mindstorm ;)
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
AVCampos
Sócio
Sócio
Mensagens: 13812
Registado: 27 fev 2007, 19:26
Localização: Barreiro
Contacto:

Re: hacking lego pf

Mensagem por AVCampos »

[quote="CyberX"]
Como tens RCX talvez queiras considerar o BRICXCC (muitp parecido com C) ou LejOS (java), são projectos bastante maduros.[/quote]
Para além desses também há o BrickOS, que ao que me parece permite que o RCX comande directamente PF por infra-vermelhos sem precisar de hardware extra. :fixe:
Avatar do Utilizador
AGarcia
Administrator
Administrator
Mensagens: 4987
Registado: 03 mai 2009, 22:47
Localização: Peniche
Contacto:

Re: hacking lego pf

Mensagem por AGarcia »

Se querer fazer publicidade... acham que vale a pena?

http://pplware.sapo.pt/linux/pack-econo ... compre-ja/
#EUusoOmeuLUGBULKnosEVENTOSdaPLUG - Sanjoanense BRInCKa 2026 - 3 a 5 de outubro
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: hacking lego pf

Mensagem por CyberX »

O preço está bom (sem ser propriamente um preço de saldo). Para quem estiver a pensar começar e não tiver nenhum dos componentes penso que valerá a pena, sobretudo se for um dos primeiros 50 e receber o dongle Wi-Fi tb.
No meu caso pessoal não compensa, já tenho tudo e se precisar já só compro o Pi individualmente. E até a caixa se faz em LEGO, há várias ideias interessantes.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Responder