LEGO IoT Train
LEGO IoT Train
Tenho andado a brincar só com a versão lançada pela LEGO Education do EV3 MicroPython para demonstrar que é possível tirar quase tanto partido do bicho como com o projecto ev3dev completo... e sem ser preciso mexer no linux.
Escrevi um programita em MicroPython que permite dois (ou mais, com alguns tweaks) EV3 controlarem simultaneamente um comboio com um controlador 4DBrix (WiFi). É um controlador que gosto bastante porque ao contrário de todos os BLE como o SBrick e o Powered Up permite multi-master com bastante facilidade - quem apenas quer controlar uma escavadora ou um comboio não lhe faz diferença, quem quer cenários mais complexos fica rapidamente frustrado com o Bluetooth Low Energy).
O programa permite aos EV3 com sensor de ultrasons controlar um comboio que se desloca entre dois extremos de um troço de ferrovia. Outros "clientes" como um tablet ou um smartphone ou mesmo um computador podem também intervir.
É possível regular a velocidade do comboio usando um motor no EV3 como "botão" - a alteração num dos motores propaga-se para o outro (ou os outros) e também para os referidos "clientes" - e vice-versa.
É possível usar as teclas do EV3 para enviar o comboio em frente ou para trás e pará-lo a qualquer momento. Mesmo que não o paremos, os EV3 percebem quando o comboio está a chegar a um extremo e param-no automaticamente.
É ainda possível definir que em vez de apenas parar o comboio este regressa no sentido oposto e por ali fica para trás e para a frente até acabar a bateria... algo semelhante ao mecanismo electrónico usado pela PLUG mas que apenas funciona com comboios em linha electrificada.
O código e alguns detalhes aqui:
https://github.com/JorgePe/EV3-IoT-Train
Dois videos demonstrando o funcionamento:
O projecto todo vai sendo explicado aos poucos no meu blog;
https://ofalcao.pt/blog/series/lego-iot-train
Poderão ver no video que a mudança de velocidade não entra em vigor imediatamente - apenas quando o comboio chega a um ponto extremo (ou o paramos manualmente). É daquelas cenas de programação que escapama, fica para a próxima release.
Escrevi um programita em MicroPython que permite dois (ou mais, com alguns tweaks) EV3 controlarem simultaneamente um comboio com um controlador 4DBrix (WiFi). É um controlador que gosto bastante porque ao contrário de todos os BLE como o SBrick e o Powered Up permite multi-master com bastante facilidade - quem apenas quer controlar uma escavadora ou um comboio não lhe faz diferença, quem quer cenários mais complexos fica rapidamente frustrado com o Bluetooth Low Energy).
O programa permite aos EV3 com sensor de ultrasons controlar um comboio que se desloca entre dois extremos de um troço de ferrovia. Outros "clientes" como um tablet ou um smartphone ou mesmo um computador podem também intervir.
É possível regular a velocidade do comboio usando um motor no EV3 como "botão" - a alteração num dos motores propaga-se para o outro (ou os outros) e também para os referidos "clientes" - e vice-versa.
É possível usar as teclas do EV3 para enviar o comboio em frente ou para trás e pará-lo a qualquer momento. Mesmo que não o paremos, os EV3 percebem quando o comboio está a chegar a um extremo e param-no automaticamente.
É ainda possível definir que em vez de apenas parar o comboio este regressa no sentido oposto e por ali fica para trás e para a frente até acabar a bateria... algo semelhante ao mecanismo electrónico usado pela PLUG mas que apenas funciona com comboios em linha electrificada.
O código e alguns detalhes aqui:
https://github.com/JorgePe/EV3-IoT-Train
Dois videos demonstrando o funcionamento:
O projecto todo vai sendo explicado aos poucos no meu blog;
https://ofalcao.pt/blog/series/lego-iot-train
Poderão ver no video que a mudança de velocidade não entra em vigor imediatamente - apenas quando o comboio chega a um ponto extremo (ou o paramos manualmente). É daquelas cenas de programação que escapama, fica para a próxima release.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
«De génio, criança e louco... porquê só 1 pouco?»
-
- Sócio
- Mensagens: 2050
- Registado: 22 mar 2010, 16:15
- Localização: Lisboa
Re: LEGO IoT Train
Ainda bem que a tua explicação vem acompanhada de vídeos, senão ficava à nora
Re: LEGO IoT Train
Está muito fixe!
É o fim das linhas eléctricas!
Não fazia ideia que a 4DBrix também já tinha controladores! Só os conhecia pelas linhas de monorail.
Já devem existir tantas soluções alternativas melhores do que as disponibilizadas pela LEGO, como os produtos que a própria LEGO lança...
É o fim das linhas eléctricas!
Não fazia ideia que a 4DBrix também já tinha controladores! Só os conhecia pelas linhas de monorail.
Já devem existir tantas soluções alternativas melhores do que as disponibilizadas pela LEGO, como os produtos que a própria LEGO lança...
Re: LEGO IoT Train
Ainda não... o custo é um bocadito superior e obriga a trocar baterias enquanto que nas linhas eléctricas podes ter um comboio a funcionar dias a fio.
O Garcia também anda a fazer pela vida nesse sentido, mas com o Powered Up em vez de MINDSTORMS EV3. E com bastante sucesso, diga-se de passagem. Mas sempre com baterias e no caso obrigando a dedicar um tablet ou smartphone.
Não lês os meus posts, é no que dá
E lançaram há uns dias um desacoplador (desengatador) de comboios que espero poder adaptar facilmente.
O controlador da 4DBrix é Wi-Fi faz muito bem aquilo para que é anunciado: controla um comboio por Wi-Fi. Ponto.
Queres comboio e luzes independentes? Só adicionando outro porque só tem uma "saída". Nesse sentido, as minhas electrónicas (e a de dezenas de tipos que vão aparecendo no Eurobicks) são bem melhores. Mas uma coisa é ser melhor funcionalmente e outra coisa ser melhor comercialmente.
A grande vantagem do 4DBrix para mim está no software deles (o nControl) que permite controlar a catrafada toda de coisas que eles já disponibilizam. Só que é "free as in beer" mas não "free as in speech" por isso se quiseres integrar as tuas próprias cenas... azarusco.
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
«De génio, criança e louco... porquê só 1 pouco?»
Re: LEGO IoT Train
Escrevi uma explicação curta de como usei uma App gratuita para Android, o MQTT Dash, para fazer um "Painel de Controlo":
No meu caso estou a usar 2 tipos de widgets disponibilizados pela App:
- um 'Range/progress' que mostra uma gama de valores como se fosse um botão de volume de um rádio
- quatro 'Switch/button' que permitem fazer controlos 'On/Off' ou apenas teclas
Estou a usar o primeiro para simultâneamente mostrar e controlar o parâmetro da velocidade do comboio, 3 'buttons' para enviar comandos para avançar, recuar e parar e 1 'switch' para comutar o modo como o comboio se comporta quando atinge um extremo da linha.
Em tempos discutimos a criação de painéis de controlo para catapultas ou outras brincadeiras automatizadas com LEGO, eu estou rendido ao MQTT, qualquer um pode fazer o painel que quiser no seu tablet ou smartphone sem precisar saber programar, basta haver Wi-Fi para poder gerir a traquitana toda (desse lao lamento mas continuamos a precisar de programação).
No meu caso estou a usar 2 tipos de widgets disponibilizados pela App:
- um 'Range/progress' que mostra uma gama de valores como se fosse um botão de volume de um rádio
- quatro 'Switch/button' que permitem fazer controlos 'On/Off' ou apenas teclas
Estou a usar o primeiro para simultâneamente mostrar e controlar o parâmetro da velocidade do comboio, 3 'buttons' para enviar comandos para avançar, recuar e parar e 1 'switch' para comutar o modo como o comboio se comporta quando atinge um extremo da linha.
Em tempos discutimos a criação de painéis de controlo para catapultas ou outras brincadeiras automatizadas com LEGO, eu estou rendido ao MQTT, qualquer um pode fazer o painel que quiser no seu tablet ou smartphone sem precisar saber programar, basta haver Wi-Fi para poder gerir a traquitana toda (desse lao lamento mas continuamos a precisar de programação).
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
«De génio, criança e louco... porquê só 1 pouco?»
Re: LEGO IoT Train
Muito fixe!
É nestas alturas em que fico com ainda mais pena de não conseguir dedicar mais tempo ao hobby
É nestas alturas em que fico com ainda mais pena de não conseguir dedicar mais tempo ao hobby