SmartBrick

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

SmartBrick

Mensagem por CyberX »

Adivinhem o que chegou hoje, mesmo a tempo da BRInCKa... not!

Imagem
Imagem
Imagem

Os magiares são muito poupadinhos... nem um papel sequer, só mesmo o que está nas fotos.

Estou em casa com o mais novo, tem daquelas viroses próprias da idade, quando estiver a dormir vou tentar experimentar.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
csiquet
Sócio
Sócio
Mensagens: 3890
Registado: 10 mar 2008, 16:50
Localização: V.N.Gaia
Contacto:

Re: SmartBrick

Mensagem por csiquet »

As melhoras para o pequeno e uma boa brincadeira para ti...  ;)
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: SmartBrick

Mensagem por CyberX »

Obrigado.
Mas não percebi a «brincadeira»... é pura investigação no interesse da ciência e do bem-estar da comunidade!  ;D
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: SmartBrick

Mensagem por CyberX »

Android:
SBrick
MAC: 00:07:80:7F:28:E1
Updated:...
RSSI: -65.0dB/-65.0dB

Podiam ao menos ter mandado o link para a App ou uns scripts... o Conchas com um iPad já com a App e eu com um SBrick e um Android e um PC sem nada... vou ter de chateá-los.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: SmartBrick

Mensagem por CyberX »

«We will contact you soon with the details. :)»

Argh!

Bom, até lá, o que se pode sacar do SBrick é a parte que diz respeito às normas do consórcio Bluetooth:

O SBrick expõe 6 serviços: Generic Access, Device Information e mais 4 específicos do fabricante. Os 2 primeiros expõem esta informação:

Device Name = SBrick
Appearance = Generic Remote Control
Model Number  = 4.0
Firmware Revision = 4.1
Hardware Revision = 4.0
Software Revision = 4.1
Manufacturer Name String = Vengit Ltd.

Os outros 4 serviços permanem uma incógnita mas expõem ao todo 8 campos:
- 5 Read Only
- 1 Write Only
- 1 Read/Write
- 1 Unknown

Accionar um motor será uma questão de escrever determinados valores nalguns destes campos (por exemplo o Duty Cycle e o sentido de rotação).

Agora enquanto os magiares não me dizem mais nada e o pimpolho dorme vou finalmente ver o que vem nos sacos da Brick Race.
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: SmartBrick

Mensagem por AVCampos »

Uau, timing excelente. :notcool:

Parece-me que farás um bom aproveitamento do SBrick! :fixe: E as melhoras para o assistente da robótica. :)
Avatar do Utilizador
Conchas
Direcção
Direcção
Mensagens: 16131
Registado: 26 jan 2007, 15:20
Localização: Feijó (Almada) / Sesimbra
Contacto:

Re: SmartBrick

Mensagem por Conchas »

Pois cá os meus não chegaram a tempo da BRInCKa, e eu com uma Ultimate 8043 mais a 8275 lá paradinhas e preparadas à espera...

Ainda fiquei na expectativa que pudesse chaegar a Braga (a morada que dei) na Segunda de manhã.
Na segunda já depois do meio-dia e ainda antes de saír de Braga, liguei ao Jorge e nada.
Já à tardinha quando passava por Leiria ou coisa do género, liga-me o Jorge a dizer que tinha chegado... :P :)

Bom, a próxima oportunidade de lhes colocar as mãos em cima será no próximo Sábado se tudo correr conforme planeado. ;)


Resumidamente, neste momento não tenho nem Sbricks, nem App que ficou num iPad Air emprestado em Braga. :'(
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: SmartBrick

Mensagem por CyberX »

Pois eu continuo na fase do «We will contact you soon with the details» apesar de já ter tentado contactar o Tamás que parece ser quem percebe da electrónica e do firmware, Voou aguardar mais um bocado mas apetece-me puxar dos galões por ter pago o pledge de beta tester.

Continuo com o mais novo de molho e para a semana vou estar fora do país por isso não vou poder ir ao Corte Inglês de Lisboa nem sequer para apoio moral... seria uma boa altura para experimentá-los.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
Conchas
Direcção
Direcção
Mensagens: 16131
Registado: 26 jan 2007, 15:20
Localização: Feijó (Almada) / Sesimbra
Contacto:

Re: SmartBrick

Mensagem por Conchas »

Não seria boa altura porque eu não tenho a aplicação.

Terá de se gerar um novo profile para um device de resolução diferente (desta vez um iPhone 5) e receber o convite através do TestFlight para instalar a aplicação Beta no iPhone...
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: SmartBrick

Mensagem por CyberX »

Boas notícias: o Tamás publicou o suficiente na area de Beta Testers para me desenrascar (e só mesmo o suficiente, em texto corrido, vi-me húngaro)

Ainda não tive tempo de testar com o EV3 mas tb não interessa, no Ubuntu funciona, já consigo ligar e desligar um motor a partir de uma tool de linha de comando para bluetooth, a gatttool:

sendo "00:07:80:7F:28:E1" o endereço BT do meu SBrick, lança-se a tool para conectar-se-lhe em modo iteractivo:

$ gatttool -b 00:07:80:7F:28:E1 -I

Depois lá dentro estabelecemos ligação:

connect

para accionar o motor no canal 0 com Duty Cycle de 100% mandamos o comando DRIVE CANAL CLOCKWISE 100%
char-write-cmd 0x0025 010000FF

para accionar no sentido inverso DRIVE CANAL ANTICLOCKWISE 100%
char-write-cmd 0x0025 010001FF

para travar o motor BREAK CANAL
char-write-cmd 0x0025 0000

para desligar o motor ainda não sei qual o comando (BREAK trava-o activamente mas deve haver um STOP ou parecido).

Do Android tb já consigo com uma ferramenta da Nordic Semiconductor's chamada nRF Master Controller (e assim já fiquei a saber qual é o chipset utilizado no bicho). Não é muito mais prática que os comandos acima mas provam que funciona.

Assim que encontrar o caixote onde está o meu EV3 mostro-vos um videozito de prova de conceito.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: SmartBrick

Mensagem por CyberX »



Estreia mundial: Mindstorms EV3 + SBrick + Power Functions

As boas notícias: o controlo é simples a partir da linha de comando por isso não deve ser difícil meter isto num programa
As más notícias: devo ter um canal avariado. Este protótipo encaixa mal em LEGO e muitas vezes tenho de mexer nos conectores PF para conseguir que os motores rodem. Mas por mais que mexa o canal #1 não vai lá.

No video, um motor PF L ligado ao canal #0 a rodar clockwise com um Duty Cycle de 22% e um motor PF M ligado ao canal #2 a rodar anticlockwise com um DT de 17%

Tal como esperado, é a mesmissima coisa que no meu portátil Ubuntu (tirando ter de especificar que é para usar o device Bluetooth hci0 porque o EV3 tem já um interno, hci1). Da linha de comando do ev3dev:
gatttool -b 00:07:80:7F:28:E1 -I -i hci0

Depois activo a conexão:
connect

e dou os comandos a cada motor:

char-write-cmd 0x0025 01000038
char-write-cmd 0x0025 0102012B

O primeiro envia o comando DRIVE (01) ao canal #0 (00) no sentido clockwise (00) com o DT 22% (38h = 56d numa escala de 0 a 255 pelo que 56/255=22%)
O segundo envia o comando DRIVE (01) ao canal #2 (02) no sentido anticlockwise (01) com o DT 17% (2Bh = 43d, 43/255=17%)
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Servo Motor com SBrick

Mensagem por CyberX »

Primeiras incursões em python: um motor EV3 a servir de referência remota a um Servo PF

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

Re: SmartBrick

Mensagem por Conchas »

Há aí um certo fator multiplicativo, mas de qq das formas é excelente trabalho e achievement! :clapping:
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: SmartBrick

Mensagem por CyberX »

Há aí um certo fator multiplicativo
Há falta dele sim senhor!

Estou a ler o motor no ev3dev e a trasnferir o valor directamente para o SBrick, só retiro o sinal.
Assim, se o ev3dev ler 10 envio 10 no sentido do relógio ao SBrick o que dá 10/255 % da posição máxima nesse sentido;
e se o ev3dev ler -10 envio 10 no sentido contrário ao SBrick, idem.

A documentação diz que estou a ler "the current position of the motor in pulses of the rotary encoder". Se 1 pulso for 1 grau, teria de fazer corresponder 90º ao valor máximo no SBrick (255).

Além disso intercalo cada leitura com 1 pausa de 1 segundo, é demasiado. Mas é o que se consegue nos poucos períodos mortos de uma tarde de trabalho muito confusa.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4558
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: SmartBrick

Mensagem por CyberX »

Implementados factor de escala de 255/90 e limitação ao intervalo [-90º,+90º]
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Responder