Página 1 de 1

LEGO WeDO com Linux PC ou Mindstorms EV3

Enviado: 21 nov 2014, 10:50
por CyberX
Aviso1: nenhuma peça LEGO foi modificada
Aviso2: até agora

A malta do ev3dev está a preparar-se para publicar um driver linux para o WeDO - não apenas para quem usa o EV3 mas para todos os Linuxes em geral. Até lá eis uma forma relativamente simples de utilizar o WeDO:

[url=http://ofalcao.pt/blog/2014/lego-wedo-with-linux]LEGO WeDO with Linux[url]

Funciona tanto no Ubuntu como no EV3 com ev3dev:



Entretanto encontrei umas fotos do Philo do interior de um tilt sensor que aproveitei para algum reverse-engineering. Com 4 resistências e metade de um cabo Power Functions consigo usar 4 interruptores, cada um deles sendo lido como um dos 4 estados possíveis do tilt sensor. Como os touch sensors RCX são basicamente interruptores com uma resistência de cerca de 600 Ohm em série, ajustei os valores das resistências de modo a poder usar 4 touch sensors RCX, fotos seguirão mais tarde.

Além disso, como o bloco WeDO tem uma entrada analógica na linha C2 do connector Power Functions, estou convencido de que é possível usar o WeDO para ler valores analógicos como por exemplo:
- um potenciómetro para ler a posição de um motor e assim termos o nosso próprio servo;
- uma resistência NTC para ler a temperatura ambiente

Mas para isso preciso de alguma análise ao código que fui buscar à net e não sei se já vos disse hoje mas eu não sou programador.
[um dia destes acho que vou ter de perder algum tempo a aprender mesmo a programar mas hoje não será a véspera desse dia]

Re: LEGO WeDO com Linux PC ou Mindstorms EV3

Enviado: 23 nov 2014, 12:19
por CyberX
Aqui vai o resultado da  minha análise ao tilt sensor:

Imagem

Com dois WeDo USB hubs, alguns cabos cortados e 4 resistências temos um carrinho comando por fio:



Como sempre mais informação aqui.

Re: LEGO WeDO com Linux PC ou Mindstorms EV3

Enviado: 23 nov 2014, 19:22
por CyberX
E confirmo que o WeDo USB hub pode ser usado como um conversor A/D: usando o meu cabo, sem mais nada ligado, medindo o valor "raw" obtenho 125.
Com um termistor (NTC 10K) e uma resistência de 10K em paralelo, entre C2 e 9V, tenho:
- à temperatura ambiente ~180
- a tocar no gelo ~162
- a 10cm de uma "vela de chá" ~215

(a ideia de uma resistência em paralelo com o termistor vem daqui, é suposto linearizar a curva quase exponencial do termistor).

Agora preciso de tempo e de um termómetro digital para calibrar o meu sensor, daqui a uns dias publico os resultados. Mas a coisa parece promissora.
Tenho para aí umas LDR's (fotoresistências) assim que encontrar uma dou-lhe o mesmo tratamento.

Re: LEGO WeDO com Linux PC ou Mindstorms EV3

Enviado: 25 nov 2014, 19:14
por CyberX
A equipa do ev3dev actualizou esta noite o kernel com um novo driver para o WeDo. Se correr bem daqui a uns tempos será incluído noutras distribuições (esperemos que pelo menos suba para o Debian e daí chegue ao Ubuntu e ao Raspbian) mas mesmo que tal não aconteça deverá ser disponibilizado um pacote para instalação por quem o pretenda.

Com suporte directo no kernel do sistema operativo deixa de ser necessária uma linguagem de programação (até aqui, que eu saiba, apenas python) para aceder ao WeDo - o próprio kernel lida com ele e podemos aceder como quem acede a uma pasta ou a um ficheiro.

Quem quiser usar luzes ou motores Power Functions no EV3 pode agora ligá-los através da porta USB, sem desperdiçar uma porta de motor nem precisar modificar cabos.

LEGO WeDO with EV3 – kernel support

Re: LEGO WeDO com Linux PC ou Mindstorms EV3

Enviado: 25 nov 2014, 20:04
por AVCampos
Essa última parte é bem interessante! Mas não deve dar para ligar quaisquer motores: o USB do EV3 de certeza que não dá mais de 500 mA, e possivelmente não mais de 100 mA. Se se usar um hub auto-alimentado, o funil pode passar para o hub WeDo.

Re: LEGO WeDO com Linux PC ou Mindstorms EV3

Enviado: 25 nov 2014, 22:33
por CyberX
[quote="AVCampos"]
Essa última parte é bem interessante! Mas não deve dar para ligar quaisquer motores: o USB do EV3 de certeza que não dá mais de 500 mA, e possivelmente não mais de 100 mA. Se se usar um hub auto-alimentado, o funil pode passar para o hub WeDo.
[/quote]

O WeDo tem uma flag quanto à capacidade da porta USB que é exposta na propriedade 'high_power'. No EV3:

root@ev3dev:~# cat /sys/bus/wedo/devices/hub0/high_power
1

sendo que high_power=1 corresponde a portas de 500 mA e high_power=0 a portas de 100 mA

E sim, um hub USB alimentado externamente passa o limite de currente para o hub WeDo. Mas acredito que pelo menos 500 mA por porta sejam possíveis e se fores ver as curvas do Philo a 4.5V e 6V vais ver que todos os motores PF consomem isso ou até menos, sendo 4.5V o valor mais apropriado para conjunturas porque apesar de USB ser 5.0V (o WeDo assinala 5.145V no meu EV3 em vazio) os mosfets ou o que seja dos drivers dos motores dentro do WeDo devem fazer cair pelo menos 0.2V como no PF IR v2 e no SBrick.

(e sim, já experimentei tanto um motor PF Train como um RC, ambos em vazio funcionaram bem mas não medi o consumo)

Re: LEGO WeDO com Linux PC ou Mindstorms EV3

Enviado: 26 nov 2014, 12:16
por CyberX
Este último truque nem sequer envolve conhecimentos de electrónica:

Lego WeDo com sensor de temperatura

Basta um Sensor de Temperatura Mindstorms RCX (9889), um sensor tilt WeDo, meio cabo PF e meio cabo 9V:
Imagem

Podem-se ler temperaturas a partir do PC ou do EV3, desde que se consigam ler os valores em bruto do sensor (se o software original da LEGO para o WeDO o permitir, nem sequer é necessário Linux, podem usar o vosso Windows).